appmod-catalog-blueprints 1.2.2__py3-none-any.whl → 1.4.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- appmod_catalog_blueprints/__init__.py +1455 -564
- appmod_catalog_blueprints/_jsii/__init__.py +2 -2
- appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.4.0.jsii.tgz +0 -0
- {appmod_catalog_blueprints-1.2.2.dist-info → appmod_catalog_blueprints-1.4.0.dist-info}/METADATA +76 -103
- appmod_catalog_blueprints-1.4.0.dist-info/RECORD +9 -0
- appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.2.2.jsii.tgz +0 -0
- appmod_catalog_blueprints-1.2.2.dist-info/RECORD +0 -9
- {appmod_catalog_blueprints-1.2.2.dist-info → appmod_catalog_blueprints-1.4.0.dist-info}/LICENSE +0 -0
- {appmod_catalog_blueprints-1.2.2.dist-info → appmod_catalog_blueprints-1.4.0.dist-info}/WHEEL +0 -0
- {appmod_catalog_blueprints-1.2.2.dist-info → appmod_catalog_blueprints-1.4.0.dist-info}/top_level.txt +0 -0
|
@@ -1,80 +1,52 @@
|
|
|
1
1
|
r'''
|
|
2
|
-
|
|
2
|
+
# AppMod Catalog Blueprints
|
|
3
3
|
|
|
4
|
+
[](https://github.com/cdklabs/cdk-appmod-catalog-blueprints)
|
|
5
|
+
[](https://cdklabs.github.io/cdk-appmod-catalog-blueprints/)
|
|
6
|
+
[](https://constructs.dev/packages/@cdklabs/cdk-appmod-catalog-blueprints/)
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
Application Modernization (AppMod) Catalog Blueprints is a comprehensive library of use case-driven infrastructure solution blueprints built using AWS well-architected best practices. Designed as composable multi-layered building blocks using [AWS Cloud Development Kit](https://aws.amazon.com/cdk/) (CDK) [L3 constructs](https://docs.aws.amazon.com/cdk/v2/guide/constructs.html), these blueprints offer use case-driven solutions with multiple implementation pathways and industry-specific implementations to accelerate serverless development and modernization on AWS.
|
|
6
9
|
|
|
7
|
-
|
|
10
|
+
**Key Benefits:**
|
|
8
11
|
|
|
9
|
-
|
|
12
|
+
* **Use case-driven solutions**: Purpose-built blueprints for common business scenarios like document processing, web applications, and AI workflows, with industry-specific implementations like insurance claims processing
|
|
13
|
+
* **Multi-layered approach**: Infrastructure Foundation → General Use Cases → Industry Examples, allowing you to start with proven patterns and customize as needed.
|
|
14
|
+
* **Composable architecture**: Mix and match independent components with standardized interfaces
|
|
15
|
+
* **Enterprise-ready**: Built-in security, compliance, and AWS Well-Architected best practices
|
|
16
|
+
* **Multi-language support**: Available in TypeScript, Python, Java, and .NET via [JSII](https://aws.github.io/jsii/)
|
|
10
17
|
|
|
11
|
-
|
|
18
|
+
## How to Use This Library
|
|
12
19
|
|
|
13
20
|
Get started by exploring the [use case constructs](use-cases) and deployable [examples](examples). Learn more from [documentation](https://cdklabs.github.io/cdk-appmod-catalog-blueprints/) and [Construct Hub](https://constructs.dev/packages/@cdklabs/cdk-appmod-catalog-blueprints).
|
|
14
21
|
|
|
15
|
-
|
|
22
|
+
| Approach | Best For | Get Started |
|
|
23
|
+
|----------|----------|-------------|
|
|
24
|
+
| **🚀 Rapid Deployment** | Quick evaluation, immediate solutions, proof-of-concepts | Use [examples](./examples/) - deploy complete solutions in minutes with sensible defaults and AWS Well-Architected best practices |
|
|
25
|
+
| **🔧 Custom Development** | Specific requirements, enterprise integration, tailored solutions | Use [individual constructs](./use-cases/) - override defaults, inject custom logic, configure for your environment |
|
|
26
|
+
|
|
27
|
+
## Use Case Building Blocks
|
|
28
|
+
|
|
29
|
+
### Core Use Cases
|
|
16
30
|
|
|
17
31
|
| Use Case | Description | Quick Deploy Examples |
|
|
18
32
|
|----------|-------------|----------------------|
|
|
19
|
-
| **[Document Processing](./use-cases/document-processing/)** |
|
|
33
|
+
| **[Document Processing](./use-cases/document-processing/)** | Intelligent document processing workflows with classification, extraction, and agentic capabilities | • [Bedrock Document Processing](./examples/document-processing/bedrock-document-processing/)<br/>• [Agentic Document Processing](./examples/document-processing/agentic-document-processing/)<br/>• [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |
|
|
20
34
|
| **[Web Application](./use-cases/webapp/)** | Static web application hosting with global CDN, security headers, and SPA support | • [Full-Stack Insurance Claims Processing Web Application](./examples/document-processing/doc-processing-fullstack-webapp/) |
|
|
21
35
|
|
|
22
|
-
|
|
36
|
+
### Foundation and Utilities
|
|
23
37
|
|
|
24
38
|
| Component | Description |
|
|
25
39
|
|-----------|-------------|
|
|
26
|
-
| **[
|
|
27
|
-
| **[
|
|
28
|
-
| **[
|
|
29
|
-
|
|
30
|
-
## Key Design Principles
|
|
31
|
-
|
|
32
|
-
AppMod Catalog Blueprints is built on Object-Oriented Programming (OOP) principles, providing a structured approach to infrastructure development through core design concepts:
|
|
33
|
-
|
|
34
|
-
### Composable Architecture
|
|
35
|
-
|
|
36
|
-
Build complex enterprise systems by combining independent, reusable components with standardized interfaces.
|
|
37
|
-
|
|
38
|
-
* **Independent components** with clear interfaces and loose coupling for maximum flexibility
|
|
39
|
-
* **Mix and match building blocks** to create custom solutions across different contexts and use cases
|
|
40
|
-
* **Scalable composition** that maintains consistency while enabling incremental adoption and gradual modernization
|
|
41
|
-
|
|
42
|
-
### Multi-Layered Building Blocks Architecture
|
|
43
|
-
|
|
44
|
-
Our blueprints use a multi-layered architecture that bridges the gap between business requirements and technical implementation:
|
|
45
|
-
|
|
46
|
-
| Layer | Implementation Type | Purpose | Key Features |
|
|
47
|
-
|-------|-------------------|---------|--------------|
|
|
48
|
-
| **Infrastructure Foundation** | Abstract base classes | Shared infrastructure components and common services | • Standardized interfaces and contracts<br/>• Extensible foundation for custom implementations |
|
|
49
|
-
| **General Use Case Implementation** | Concrete implementation classes | Production-ready implementations for common patterns across industries | • Configurable parameters for different environments<br/>• Abstract method implementations with general-purpose solutions |
|
|
50
|
-
| **Industry-Aligned Implementation** | Configured implementation examples | Pre-configured solutions for specific business domains | • Industry-specific validation rules and workflows<br/>• Built-in compliance requirements and domain expertise |
|
|
51
|
-
|
|
52
|
-
### Production-Ready with Smart Defaults
|
|
53
|
-
|
|
54
|
-
AppMod Catalog Blueprints serves both **rapid deployment** needs (for teams wanting immediate solutions) and **custom development** requirements (for teams needing tailored implementations), providing flexibility without compromising on production readiness.
|
|
55
|
-
|
|
56
|
-
| Approach | Best For | Capabilities |
|
|
57
|
-
|----------|----------|--------------|
|
|
58
|
-
| **Out-of-the-Box Deployment** | Rapid deployment and evaluation | • Deploy complete solutions in minutes using examples for immediate value<br/>• Pre-configured security, monitoring, and best practices for production readiness<br/>• Sensible defaults with production-ready configurations that work immediately<br/>• No infrastructure boilerplate required with minimal learning curve |
|
|
59
|
-
| **Intelligent Customization** | Custom development and integration | • Override defaults to modify behavior without changing core implementation<br/>• Enable/disable optional features to meet specific requirements<br/>• Inject custom logic at predefined extension points while maintaining production readiness<br/>• Configure parameters for different environments and use cases |
|
|
60
|
-
|
|
61
|
-
### Security & Compliance
|
|
62
|
-
|
|
63
|
-
All components include enterprise-grade security by default:
|
|
64
|
-
|
|
65
|
-
* **CDK Nag Integration**: Automated security compliance checking
|
|
66
|
-
* **AWS Well-Architected**: Security, reliability, and performance best practices
|
|
67
|
-
* **Encryption & IAM**: At-rest/in-transit encryption with least-privilege access
|
|
68
|
-
* **Compliance Reports**: Generate reports with `npm test -- --testPathPattern="nag.test.ts"`
|
|
40
|
+
| **[Agentic AI Framework](./use-cases/framework/agents/)** | Composable enterprise framework for building intelligent AI agents that can be mixed and matched across diverse use cases - from document processing to conversational AI |
|
|
41
|
+
| **[Infrastructure Foundation](./use-cases/framework/foundation/)** | Core infrastructure components including VPC networking, access logging, and EventBridge integration |
|
|
42
|
+
| **[Observability & Monitoring](./use-cases/utilities/#observability)** | Comprehensive monitoring, logging, and alerting with automatic property injection and Lambda Powertools integration |
|
|
43
|
+
| **[Data Masking](./use-cases/utilities/#data-masking)** | Lambda layer for data masking and PII protection in serverless applications |
|
|
69
44
|
|
|
70
|
-
##
|
|
45
|
+
## Getting Started
|
|
71
46
|
|
|
72
47
|
### Environment Setup
|
|
73
48
|
|
|
74
49
|
```bash
|
|
75
|
-
# Clone the repository
|
|
76
|
-
git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
|
|
77
|
-
|
|
78
50
|
# Configure AWS credentials and region
|
|
79
51
|
aws configure
|
|
80
52
|
# OR set AWS profile: export AWS_PROFILE=your-profile-name
|
|
@@ -83,73 +55,74 @@ aws configure
|
|
|
83
55
|
npx cdk bootstrap
|
|
84
56
|
```
|
|
85
57
|
|
|
86
|
-
### Quick
|
|
87
|
-
|
|
88
|
-
Deploy a working example in **5 minutes**:
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
# Navigate to any example and deploy
|
|
92
|
-
cd examples/document-processing/agentic-document-processing
|
|
93
|
-
npm install
|
|
94
|
-
npm run deploy
|
|
95
|
-
```
|
|
58
|
+
### Quick Deploy (Complete Solutions)
|
|
96
59
|
|
|
97
|
-
|
|
60
|
+
Deploy working examples in minutes for immediate value:
|
|
98
61
|
|
|
99
62
|
```bash
|
|
100
|
-
#
|
|
101
|
-
|
|
63
|
+
# Clone the repository
|
|
64
|
+
git clone https://github.com/cdklabs/cdk-appmod-catalog-blueprints.git
|
|
102
65
|
|
|
103
|
-
# Deploy
|
|
104
|
-
|
|
66
|
+
# Deploy complete insurance claims processing solution
|
|
67
|
+
cd examples/document-processing/doc-processing-fullstack-webapp
|
|
68
|
+
npm install && npm run deploy
|
|
69
|
+
# Full AI-powered solution with web interface deployed
|
|
105
70
|
|
|
106
|
-
#
|
|
107
|
-
|
|
71
|
+
# Or deploy basic document processing
|
|
72
|
+
cd examples/document-processing/bedrock-document-processing
|
|
73
|
+
npm install && npm run deploy
|
|
108
74
|
```
|
|
109
75
|
|
|
110
|
-
###
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
# Run all tests
|
|
114
|
-
npm test
|
|
76
|
+
### Using Individual Constructs
|
|
115
77
|
|
|
116
|
-
|
|
117
|
-
npm test -- --testPathPattern="document-processing"
|
|
78
|
+
Add to your existing CDK projects for custom solutions:
|
|
118
79
|
|
|
119
|
-
|
|
120
|
-
|
|
80
|
+
```bash
|
|
81
|
+
# Install the library
|
|
82
|
+
npm install @cdklabs/appmod-catalog-blueprints
|
|
83
|
+
|
|
84
|
+
# Use in your CDK code
|
|
85
|
+
import { AgenticDocumentProcessing, WebApp } from '@cdklabs/appmod-catalog-blueprints';
|
|
86
|
+
|
|
87
|
+
const docProcessor = new AgenticDocumentProcessing(this, 'Processor', {
|
|
88
|
+
agentDefinition: {
|
|
89
|
+
bedrockModel: { useCrossRegionInference: true },
|
|
90
|
+
systemPrompt: myPrompt,
|
|
91
|
+
tools: [myTools]
|
|
92
|
+
}
|
|
93
|
+
});
|
|
121
94
|
```
|
|
122
95
|
|
|
123
|
-
##
|
|
124
|
-
|
|
125
|
-
### Quick Start (Deploy Examples)
|
|
96
|
+
## Key Design Principles
|
|
126
97
|
|
|
127
|
-
|
|
128
|
-
2. **Deploy & Test**: Use `npm run deploy` in any example to get a working system in minutes
|
|
129
|
-
3. **Customize**: Modify example parameters to fit your specific requirements
|
|
98
|
+
AppMod Catalog Blueprints is built on Object-Oriented Programming (OOP) principles, providing a structured approach to infrastructure development through core design concepts:
|
|
130
99
|
|
|
131
|
-
###
|
|
100
|
+
### Composable Architecture
|
|
132
101
|
|
|
133
|
-
|
|
134
|
-
2. **Choose Your Layer**: Pick the right abstraction level for your needs
|
|
135
|
-
3. **Configure**: Use the configuration options documented in each construct
|
|
102
|
+
Build complex enterprise systems by combining independent, reusable components with standardized interfaces.
|
|
136
103
|
|
|
137
|
-
|
|
104
|
+
* **Independent components** with clear interfaces and loose coupling for maximum flexibility
|
|
105
|
+
* **Mix and match building blocks** to create custom solutions across different contexts and use cases
|
|
106
|
+
* **Scalable composition** that maintains consistency while enabling incremental adoption and gradual modernization
|
|
138
107
|
|
|
139
|
-
|
|
108
|
+
### Multi-Layered Building Blocks Architecture
|
|
140
109
|
|
|
141
|
-
|
|
142
|
-
* **Components**: VPC networking, observability utilities, data management tools, etc.
|
|
110
|
+
Our blueprints use a multi-layered architecture that bridges the gap between business requirements and technical implementation:
|
|
143
111
|
|
|
144
|
-
|
|
112
|
+
| Layer | Implementation Type | Purpose | Key Features |
|
|
113
|
+
|-------|-------------------|---------|--------------|
|
|
114
|
+
| **Infrastructure Foundation** | Abstract base classes | Shared infrastructure components and common services | • Standardized interfaces and contracts<br/>• Extensible foundation for custom implementations |
|
|
115
|
+
| **General Use Case Implementation** | Concrete implementation classes | Implementations for common patterns across industries | • Configurable parameters for different environments<br/>• Abstract method implementations with general-purpose solutions |
|
|
116
|
+
| **Industry-Aligned Implementation** | Configured implementation examples | Pre-configured solutions for specific business domains | • Industry-specific validation rules and workflows<br/>• Built-in compliance requirements and domain expertise |
|
|
145
117
|
|
|
146
|
-
|
|
147
|
-
* **Components**: Document processing workflows, web application hosting, data transformation patterns, etc.
|
|
118
|
+
### Security & Compliance
|
|
148
119
|
|
|
149
|
-
|
|
120
|
+
All components include enterprise-grade security by default:
|
|
150
121
|
|
|
151
|
-
* **
|
|
152
|
-
* **
|
|
122
|
+
* **CDK Nag Integration**: Automated security compliance checking
|
|
123
|
+
* **AWS Well-Architected**: Security, reliability, and performance best practices
|
|
124
|
+
* **Encryption & IAM**: At-rest/in-transit encryption with least-privilege access
|
|
125
|
+
* **Compliance Reports**: Generate reports with `npm test -- --testPathPattern="nag.test.ts"`
|
|
153
126
|
|
|
154
127
|
## Contributing
|
|
155
128
|
|
|
@@ -539,92 +512,112 @@ class AdditionalDistributionProps:
|
|
|
539
512
|
|
|
540
513
|
|
|
541
514
|
@jsii.data_type(
|
|
542
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.
|
|
515
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.AgentDefinitionProps",
|
|
543
516
|
jsii_struct_bases=[],
|
|
544
517
|
name_mapping={
|
|
545
|
-
"
|
|
518
|
+
"bedrock_model": "bedrockModel",
|
|
519
|
+
"system_prompt": "systemPrompt",
|
|
520
|
+
"additional_policy_statements_for_tools": "additionalPolicyStatementsForTools",
|
|
546
521
|
"lambda_layers": "lambdaLayers",
|
|
547
|
-
"
|
|
548
|
-
"tools_location": "toolsLocation",
|
|
522
|
+
"tools": "tools",
|
|
549
523
|
},
|
|
550
524
|
)
|
|
551
|
-
class
|
|
525
|
+
class AgentDefinitionProps:
|
|
552
526
|
def __init__(
|
|
553
527
|
self,
|
|
554
528
|
*,
|
|
555
|
-
|
|
529
|
+
bedrock_model: typing.Union["BedrockModelProps", typing.Dict[builtins.str, typing.Any]],
|
|
530
|
+
system_prompt: _aws_cdk_aws_s3_assets_ceddda9d.Asset,
|
|
531
|
+
additional_policy_statements_for_tools: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
556
532
|
lambda_layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]] = None,
|
|
557
|
-
|
|
558
|
-
tools_location: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
533
|
+
tools: typing.Optional[typing.Sequence[_aws_cdk_aws_s3_assets_ceddda9d.Asset]] = None,
|
|
559
534
|
) -> None:
|
|
560
|
-
'''
|
|
561
|
-
|
|
562
|
-
:param
|
|
563
|
-
:param
|
|
564
|
-
:param
|
|
535
|
+
'''(experimental) Parameters that influences the behavior of the agent.
|
|
536
|
+
|
|
537
|
+
:param bedrock_model: (experimental) Configuration for the Bedrock Model to be used.
|
|
538
|
+
:param system_prompt: (experimental) The system prompt of the agent.
|
|
539
|
+
:param additional_policy_statements_for_tools: (experimental) If tools need additional IAM permissions, these statements would be attached to the Agent's IAM role.
|
|
540
|
+
:param lambda_layers: (experimental) Any dependencies needed by the provided tools.
|
|
541
|
+
:param tools: (experimental) List of tools defined in python files. This tools would automatically be loaded by the agent. You can also use this to incorporate other specialized agents as tools.
|
|
565
542
|
|
|
566
543
|
:stability: experimental
|
|
567
544
|
'''
|
|
545
|
+
if isinstance(bedrock_model, dict):
|
|
546
|
+
bedrock_model = BedrockModelProps(**bedrock_model)
|
|
568
547
|
if __debug__:
|
|
569
|
-
type_hints = typing.get_type_hints(
|
|
570
|
-
check_type(argname="argument
|
|
548
|
+
type_hints = typing.get_type_hints(_typecheckingstub__4a2d1deab0cc9bf96473ffb32138a2c564c47ae7382fe5d2d1f0e43da3324272)
|
|
549
|
+
check_type(argname="argument bedrock_model", value=bedrock_model, expected_type=type_hints["bedrock_model"])
|
|
550
|
+
check_type(argname="argument system_prompt", value=system_prompt, expected_type=type_hints["system_prompt"])
|
|
551
|
+
check_type(argname="argument additional_policy_statements_for_tools", value=additional_policy_statements_for_tools, expected_type=type_hints["additional_policy_statements_for_tools"])
|
|
571
552
|
check_type(argname="argument lambda_layers", value=lambda_layers, expected_type=type_hints["lambda_layers"])
|
|
572
|
-
check_type(argname="argument
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
553
|
+
check_type(argname="argument tools", value=tools, expected_type=type_hints["tools"])
|
|
554
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
555
|
+
"bedrock_model": bedrock_model,
|
|
556
|
+
"system_prompt": system_prompt,
|
|
557
|
+
}
|
|
558
|
+
if additional_policy_statements_for_tools is not None:
|
|
559
|
+
self._values["additional_policy_statements_for_tools"] = additional_policy_statements_for_tools
|
|
577
560
|
if lambda_layers is not None:
|
|
578
561
|
self._values["lambda_layers"] = lambda_layers
|
|
579
|
-
if
|
|
580
|
-
self._values["
|
|
581
|
-
if tools_location is not None:
|
|
582
|
-
self._values["tools_location"] = tools_location
|
|
562
|
+
if tools is not None:
|
|
563
|
+
self._values["tools"] = tools
|
|
583
564
|
|
|
584
565
|
@builtins.property
|
|
585
|
-
def
|
|
586
|
-
'''(experimental)
|
|
566
|
+
def bedrock_model(self) -> "BedrockModelProps":
|
|
567
|
+
'''(experimental) Configuration for the Bedrock Model to be used.
|
|
587
568
|
|
|
588
569
|
:stability: experimental
|
|
589
570
|
'''
|
|
590
|
-
result = self._values.get("
|
|
591
|
-
|
|
571
|
+
result = self._values.get("bedrock_model")
|
|
572
|
+
assert result is not None, "Required property 'bedrock_model' is missing"
|
|
573
|
+
return typing.cast("BedrockModelProps", result)
|
|
592
574
|
|
|
593
575
|
@builtins.property
|
|
594
|
-
def
|
|
595
|
-
|
|
596
|
-
) -> typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]]:
|
|
597
|
-
'''(experimental) If there are python dependencies that are needed by the provided tools, provide the Lambda Layers with the dependencies.
|
|
576
|
+
def system_prompt(self) -> _aws_cdk_aws_s3_assets_ceddda9d.Asset:
|
|
577
|
+
'''(experimental) The system prompt of the agent.
|
|
598
578
|
|
|
599
579
|
:stability: experimental
|
|
600
580
|
'''
|
|
601
|
-
result = self._values.get("
|
|
602
|
-
|
|
581
|
+
result = self._values.get("system_prompt")
|
|
582
|
+
assert result is not None, "Required property 'system_prompt' is missing"
|
|
583
|
+
return typing.cast(_aws_cdk_aws_s3_assets_ceddda9d.Asset, result)
|
|
603
584
|
|
|
604
585
|
@builtins.property
|
|
605
|
-
def
|
|
606
|
-
|
|
586
|
+
def additional_policy_statements_for_tools(
|
|
587
|
+
self,
|
|
588
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]]:
|
|
589
|
+
'''(experimental) If tools need additional IAM permissions, these statements would be attached to the Agent's IAM role.
|
|
607
590
|
|
|
608
|
-
:
|
|
591
|
+
:stability: experimental
|
|
592
|
+
'''
|
|
593
|
+
result = self._values.get("additional_policy_statements_for_tools")
|
|
594
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]], result)
|
|
609
595
|
|
|
610
|
-
|
|
611
|
-
|
|
596
|
+
@builtins.property
|
|
597
|
+
def lambda_layers(
|
|
598
|
+
self,
|
|
599
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]]:
|
|
600
|
+
'''(experimental) Any dependencies needed by the provided tools.
|
|
612
601
|
|
|
613
602
|
:stability: experimental
|
|
614
603
|
'''
|
|
615
|
-
result = self._values.get("
|
|
616
|
-
return typing.cast(typing.Optional[
|
|
604
|
+
result = self._values.get("lambda_layers")
|
|
605
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]], result)
|
|
617
606
|
|
|
618
607
|
@builtins.property
|
|
619
|
-
def
|
|
620
|
-
|
|
608
|
+
def tools(
|
|
609
|
+
self,
|
|
610
|
+
) -> typing.Optional[typing.List[_aws_cdk_aws_s3_assets_ceddda9d.Asset]]:
|
|
611
|
+
'''(experimental) List of tools defined in python files.
|
|
621
612
|
|
|
622
|
-
|
|
613
|
+
This tools would automatically
|
|
614
|
+
be loaded by the agent. You can also use this to incorporate other specialized
|
|
615
|
+
agents as tools.
|
|
623
616
|
|
|
624
617
|
:stability: experimental
|
|
625
618
|
'''
|
|
626
|
-
result = self._values.get("
|
|
627
|
-
return typing.cast(typing.Optional[typing.List[
|
|
619
|
+
result = self._values.get("tools")
|
|
620
|
+
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_s3_assets_ceddda9d.Asset]], result)
|
|
628
621
|
|
|
629
622
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
630
623
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -633,147 +626,86 @@ class AgentProps:
|
|
|
633
626
|
return not (rhs == self)
|
|
634
627
|
|
|
635
628
|
def __repr__(self) -> str:
|
|
636
|
-
return "
|
|
629
|
+
return "AgentDefinitionProps(%s)" % ", ".join(
|
|
637
630
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
638
631
|
)
|
|
639
632
|
|
|
640
633
|
|
|
641
|
-
@jsii.enum(
|
|
642
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BedrockCrossRegionInferencePrefix"
|
|
643
|
-
)
|
|
644
|
-
class BedrockCrossRegionInferencePrefix(enum.Enum):
|
|
645
|
-
'''(experimental) Cross-region inference prefix options for Bedrock models.
|
|
646
|
-
|
|
647
|
-
Used to configure inference profiles for improved availability and performance.
|
|
648
|
-
|
|
649
|
-
:stability: experimental
|
|
650
|
-
'''
|
|
651
|
-
|
|
652
|
-
US = "US"
|
|
653
|
-
'''(experimental) US-based cross-region inference profile.
|
|
654
|
-
|
|
655
|
-
:stability: experimental
|
|
656
|
-
'''
|
|
657
|
-
EU = "EU"
|
|
658
|
-
'''(experimental) EU-based cross-region inference profile.
|
|
659
|
-
|
|
660
|
-
:stability: experimental
|
|
661
|
-
'''
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
@jsii.implements(_aws_cdk_ceddda9d.IPropertyInjector)
|
|
665
|
-
class CloudfrontDistributionObservabilityPropertyInjector(
|
|
666
|
-
metaclass=jsii.JSIIMeta,
|
|
667
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.CloudfrontDistributionObservabilityPropertyInjector",
|
|
668
|
-
):
|
|
669
|
-
'''
|
|
670
|
-
:stability: experimental
|
|
671
|
-
'''
|
|
672
|
-
|
|
673
|
-
def __init__(self) -> None:
|
|
674
|
-
'''
|
|
675
|
-
:stability: experimental
|
|
676
|
-
'''
|
|
677
|
-
jsii.create(self.__class__, self, [])
|
|
678
|
-
|
|
679
|
-
@jsii.member(jsii_name="inject")
|
|
680
|
-
def inject(
|
|
681
|
-
self,
|
|
682
|
-
original_props: typing.Any,
|
|
683
|
-
*,
|
|
684
|
-
id: builtins.str,
|
|
685
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
686
|
-
) -> typing.Any:
|
|
687
|
-
'''(experimental) The injector to be applied to the constructor properties of the Construct.
|
|
688
|
-
|
|
689
|
-
:param original_props: -
|
|
690
|
-
:param id: id from the Construct constructor.
|
|
691
|
-
:param scope: scope from the constructor.
|
|
692
|
-
|
|
693
|
-
:stability: experimental
|
|
694
|
-
'''
|
|
695
|
-
if __debug__:
|
|
696
|
-
type_hints = typing.get_type_hints(_typecheckingstub__2270aedab8c9db027e16b28fd9de8610d0f7e47778cdf1d501539d0e440a561d)
|
|
697
|
-
check_type(argname="argument original_props", value=original_props, expected_type=type_hints["original_props"])
|
|
698
|
-
context = _aws_cdk_ceddda9d.InjectionContext(id=id, scope=scope)
|
|
699
|
-
|
|
700
|
-
return typing.cast(typing.Any, jsii.invoke(self, "inject", [original_props, context]))
|
|
701
|
-
|
|
702
|
-
@builtins.property
|
|
703
|
-
@jsii.member(jsii_name="constructUniqueId")
|
|
704
|
-
def construct_unique_id(self) -> builtins.str:
|
|
705
|
-
'''(experimental) The unique Id of the Construct class.
|
|
706
|
-
|
|
707
|
-
:stability: experimental
|
|
708
|
-
'''
|
|
709
|
-
return typing.cast(builtins.str, jsii.get(self, "constructUniqueId"))
|
|
710
|
-
|
|
711
|
-
|
|
712
634
|
@jsii.data_type(
|
|
713
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.
|
|
635
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.AgentToolsLocationDefinition",
|
|
714
636
|
jsii_struct_bases=[],
|
|
715
637
|
name_mapping={
|
|
716
|
-
"
|
|
717
|
-
"
|
|
718
|
-
"
|
|
638
|
+
"bucket_name": "bucketName",
|
|
639
|
+
"is_file": "isFile",
|
|
640
|
+
"is_zip_archive": "isZipArchive",
|
|
641
|
+
"key": "key",
|
|
719
642
|
},
|
|
720
643
|
)
|
|
721
|
-
class
|
|
644
|
+
class AgentToolsLocationDefinition:
|
|
722
645
|
def __init__(
|
|
723
646
|
self,
|
|
724
647
|
*,
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
648
|
+
bucket_name: builtins.str,
|
|
649
|
+
is_file: builtins.bool,
|
|
650
|
+
is_zip_archive: builtins.bool,
|
|
651
|
+
key: builtins.str,
|
|
728
652
|
) -> None:
|
|
729
|
-
'''
|
|
730
|
-
|
|
731
|
-
:param
|
|
732
|
-
:param
|
|
733
|
-
:param
|
|
653
|
+
'''
|
|
654
|
+
:param bucket_name:
|
|
655
|
+
:param is_file:
|
|
656
|
+
:param is_zip_archive:
|
|
657
|
+
:param key:
|
|
734
658
|
|
|
735
659
|
:stability: experimental
|
|
736
660
|
'''
|
|
737
661
|
if __debug__:
|
|
738
|
-
type_hints = typing.get_type_hints(
|
|
739
|
-
check_type(argname="argument
|
|
740
|
-
check_type(argname="argument
|
|
741
|
-
check_type(argname="argument
|
|
662
|
+
type_hints = typing.get_type_hints(_typecheckingstub__127edbe188000e5bd850f207a22867fb37ca32772d05138c8caeec887b302f84)
|
|
663
|
+
check_type(argname="argument bucket_name", value=bucket_name, expected_type=type_hints["bucket_name"])
|
|
664
|
+
check_type(argname="argument is_file", value=is_file, expected_type=type_hints["is_file"])
|
|
665
|
+
check_type(argname="argument is_zip_archive", value=is_zip_archive, expected_type=type_hints["is_zip_archive"])
|
|
666
|
+
check_type(argname="argument key", value=key, expected_type=type_hints["key"])
|
|
742
667
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
743
|
-
"
|
|
744
|
-
"
|
|
668
|
+
"bucket_name": bucket_name,
|
|
669
|
+
"is_file": is_file,
|
|
670
|
+
"is_zip_archive": is_zip_archive,
|
|
671
|
+
"key": key,
|
|
745
672
|
}
|
|
746
|
-
if hosted_zone is not None:
|
|
747
|
-
self._values["hosted_zone"] = hosted_zone
|
|
748
673
|
|
|
749
674
|
@builtins.property
|
|
750
|
-
def
|
|
751
|
-
'''
|
|
752
|
-
|
|
675
|
+
def bucket_name(self) -> builtins.str:
|
|
676
|
+
'''
|
|
753
677
|
:stability: experimental
|
|
754
678
|
'''
|
|
755
|
-
result = self._values.get("
|
|
756
|
-
assert result is not None, "Required property '
|
|
757
|
-
return typing.cast(
|
|
679
|
+
result = self._values.get("bucket_name")
|
|
680
|
+
assert result is not None, "Required property 'bucket_name' is missing"
|
|
681
|
+
return typing.cast(builtins.str, result)
|
|
758
682
|
|
|
759
683
|
@builtins.property
|
|
760
|
-
def
|
|
761
|
-
'''
|
|
762
|
-
|
|
684
|
+
def is_file(self) -> builtins.bool:
|
|
685
|
+
'''
|
|
763
686
|
:stability: experimental
|
|
764
687
|
'''
|
|
765
|
-
result = self._values.get("
|
|
766
|
-
assert result is not None, "Required property '
|
|
767
|
-
return typing.cast(builtins.
|
|
688
|
+
result = self._values.get("is_file")
|
|
689
|
+
assert result is not None, "Required property 'is_file' is missing"
|
|
690
|
+
return typing.cast(builtins.bool, result)
|
|
768
691
|
|
|
769
692
|
@builtins.property
|
|
770
|
-
def
|
|
771
|
-
'''
|
|
693
|
+
def is_zip_archive(self) -> builtins.bool:
|
|
694
|
+
'''
|
|
695
|
+
:stability: experimental
|
|
696
|
+
'''
|
|
697
|
+
result = self._values.get("is_zip_archive")
|
|
698
|
+
assert result is not None, "Required property 'is_zip_archive' is missing"
|
|
699
|
+
return typing.cast(builtins.bool, result)
|
|
772
700
|
|
|
701
|
+
@builtins.property
|
|
702
|
+
def key(self) -> builtins.str:
|
|
703
|
+
'''
|
|
773
704
|
:stability: experimental
|
|
774
705
|
'''
|
|
775
|
-
result = self._values.get("
|
|
776
|
-
|
|
706
|
+
result = self._values.get("key")
|
|
707
|
+
assert result is not None, "Required property 'key' is missing"
|
|
708
|
+
return typing.cast(builtins.str, result)
|
|
777
709
|
|
|
778
710
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
779
711
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -782,34 +714,17 @@ class CustomDomainConfig:
|
|
|
782
714
|
return not (rhs == self)
|
|
783
715
|
|
|
784
716
|
def __repr__(self) -> str:
|
|
785
|
-
return "
|
|
717
|
+
return "AgentToolsLocationDefinition(%s)" % ", ".join(
|
|
786
718
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
787
719
|
)
|
|
788
720
|
|
|
789
721
|
|
|
790
|
-
class
|
|
722
|
+
class BaseAgent(
|
|
791
723
|
_constructs_77d1e7e8.Construct,
|
|
792
|
-
metaclass=jsii.
|
|
793
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.
|
|
724
|
+
metaclass=jsii.JSIIAbstractClass,
|
|
725
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BaseAgent",
|
|
794
726
|
):
|
|
795
|
-
'''
|
|
796
|
-
|
|
797
|
-
This construct provides a simplified solution for loading data from various file formats
|
|
798
|
-
(SQL, mysqldump, pg_dump) into MySQL or PostgreSQL databases. It uses S3 for file storage,
|
|
799
|
-
Step Functions for orchestration, and Lambda for processing.
|
|
800
|
-
|
|
801
|
-
Architecture:
|
|
802
|
-
|
|
803
|
-
1. Files are uploaded to S3 bucket
|
|
804
|
-
2. Step Function is triggered with list of S3 keys
|
|
805
|
-
3. Step Function iterates over files in execution order
|
|
806
|
-
4. Lambda function processes each file against the database
|
|
807
|
-
|
|
808
|
-
Example usage:
|
|
809
|
-
Create a DataLoader with database configuration and file inputs.
|
|
810
|
-
The construct will handle uploading files to S3, creating a Step Function
|
|
811
|
-
to orchestrate processing, and executing the data loading pipeline.
|
|
812
|
-
|
|
727
|
+
'''
|
|
813
728
|
:stability: experimental
|
|
814
729
|
'''
|
|
815
730
|
|
|
@@ -818,20 +733,545 @@ class DataLoader(
|
|
|
818
733
|
scope: _constructs_77d1e7e8.Construct,
|
|
819
734
|
id: builtins.str,
|
|
820
735
|
*,
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
736
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
737
|
+
agent_name: builtins.str,
|
|
738
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
739
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
740
|
+
network: typing.Optional["Network"] = None,
|
|
824
741
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
825
|
-
|
|
742
|
+
log_group_data_protection: typing.Optional[typing.Union["LogGroupDataProtectionProps", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
743
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
744
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
826
745
|
) -> None:
|
|
827
746
|
'''
|
|
828
747
|
:param scope: -
|
|
829
748
|
:param id: -
|
|
830
|
-
:param
|
|
831
|
-
:param
|
|
832
|
-
:param
|
|
833
|
-
:param
|
|
834
|
-
:param
|
|
749
|
+
:param agent_definition: (experimental) Agent related parameters.
|
|
750
|
+
:param agent_name: (experimental) Name of the agent.
|
|
751
|
+
:param enable_observability: (experimental) Enable observability. Default: false
|
|
752
|
+
:param encryption_key: (experimental) Encryption key to encrypt agent environment variables. Default: new KMS Key would be created
|
|
753
|
+
:param network: (experimental) If the Agent would be running inside a VPC. Default: Agent would not be in a VPC
|
|
754
|
+
:param removal_policy: (experimental) Removal policy for resources created by this construct. Default: RemovalPolicy.DESTROY
|
|
755
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
756
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
757
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
758
|
+
|
|
759
|
+
:stability: experimental
|
|
760
|
+
'''
|
|
761
|
+
if __debug__:
|
|
762
|
+
type_hints = typing.get_type_hints(_typecheckingstub__71b734ed2750632299f59fd7513ccde0ee5f9974b68f8c52b53e2255cdee86ff)
|
|
763
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
764
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
765
|
+
props = BaseAgentProps(
|
|
766
|
+
agent_definition=agent_definition,
|
|
767
|
+
agent_name=agent_name,
|
|
768
|
+
enable_observability=enable_observability,
|
|
769
|
+
encryption_key=encryption_key,
|
|
770
|
+
network=network,
|
|
771
|
+
removal_policy=removal_policy,
|
|
772
|
+
log_group_data_protection=log_group_data_protection,
|
|
773
|
+
metric_namespace=metric_namespace,
|
|
774
|
+
metric_service_name=metric_service_name,
|
|
775
|
+
)
|
|
776
|
+
|
|
777
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
778
|
+
|
|
779
|
+
@builtins.property
|
|
780
|
+
@jsii.member(jsii_name="agentFunction")
|
|
781
|
+
@abc.abstractmethod
|
|
782
|
+
def agent_function(
|
|
783
|
+
self,
|
|
784
|
+
) -> _aws_cdk_aws_lambda_python_alpha_49328424.PythonFunction:
|
|
785
|
+
'''
|
|
786
|
+
:stability: experimental
|
|
787
|
+
'''
|
|
788
|
+
...
|
|
789
|
+
|
|
790
|
+
@builtins.property
|
|
791
|
+
@jsii.member(jsii_name="agentRole")
|
|
792
|
+
def agent_role(self) -> _aws_cdk_aws_iam_ceddda9d.Role:
|
|
793
|
+
'''
|
|
794
|
+
:stability: experimental
|
|
795
|
+
'''
|
|
796
|
+
return typing.cast(_aws_cdk_aws_iam_ceddda9d.Role, jsii.get(self, "agentRole"))
|
|
797
|
+
|
|
798
|
+
@builtins.property
|
|
799
|
+
@jsii.member(jsii_name="agentToolsLocationDefinitions")
|
|
800
|
+
def _agent_tools_location_definitions(
|
|
801
|
+
self,
|
|
802
|
+
) -> typing.List[AgentToolsLocationDefinition]:
|
|
803
|
+
'''
|
|
804
|
+
:stability: experimental
|
|
805
|
+
'''
|
|
806
|
+
return typing.cast(typing.List[AgentToolsLocationDefinition], jsii.get(self, "agentToolsLocationDefinitions"))
|
|
807
|
+
|
|
808
|
+
@builtins.property
|
|
809
|
+
@jsii.member(jsii_name="encryptionKey")
|
|
810
|
+
def encryption_key(self) -> _aws_cdk_aws_kms_ceddda9d.Key:
|
|
811
|
+
'''
|
|
812
|
+
:stability: experimental
|
|
813
|
+
'''
|
|
814
|
+
return typing.cast(_aws_cdk_aws_kms_ceddda9d.Key, jsii.get(self, "encryptionKey"))
|
|
815
|
+
|
|
816
|
+
@builtins.property
|
|
817
|
+
@jsii.member(jsii_name="logGroupDataProtection")
|
|
818
|
+
def _log_group_data_protection(self) -> "LogGroupDataProtectionProps":
|
|
819
|
+
'''(experimental) log group data protection configuration.
|
|
820
|
+
|
|
821
|
+
:stability: experimental
|
|
822
|
+
'''
|
|
823
|
+
return typing.cast("LogGroupDataProtectionProps", jsii.get(self, "logGroupDataProtection"))
|
|
824
|
+
|
|
825
|
+
@builtins.property
|
|
826
|
+
@jsii.member(jsii_name="bedrockModel")
|
|
827
|
+
def bedrock_model(self) -> typing.Optional["BedrockModelProps"]:
|
|
828
|
+
'''
|
|
829
|
+
:stability: experimental
|
|
830
|
+
'''
|
|
831
|
+
return typing.cast(typing.Optional["BedrockModelProps"], jsii.get(self, "bedrockModel"))
|
|
832
|
+
|
|
833
|
+
|
|
834
|
+
class _BaseAgentProxy(BaseAgent):
|
|
835
|
+
@builtins.property
|
|
836
|
+
@jsii.member(jsii_name="agentFunction")
|
|
837
|
+
def agent_function(
|
|
838
|
+
self,
|
|
839
|
+
) -> _aws_cdk_aws_lambda_python_alpha_49328424.PythonFunction:
|
|
840
|
+
'''
|
|
841
|
+
:stability: experimental
|
|
842
|
+
'''
|
|
843
|
+
return typing.cast(_aws_cdk_aws_lambda_python_alpha_49328424.PythonFunction, jsii.get(self, "agentFunction"))
|
|
844
|
+
|
|
845
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the abstract class
|
|
846
|
+
typing.cast(typing.Any, BaseAgent).__jsii_proxy_class__ = lambda : _BaseAgentProxy
|
|
847
|
+
|
|
848
|
+
|
|
849
|
+
class BatchAgent(
|
|
850
|
+
BaseAgent,
|
|
851
|
+
metaclass=jsii.JSIIMeta,
|
|
852
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BatchAgent",
|
|
853
|
+
):
|
|
854
|
+
'''
|
|
855
|
+
:stability: experimental
|
|
856
|
+
'''
|
|
857
|
+
|
|
858
|
+
def __init__(
|
|
859
|
+
self,
|
|
860
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
861
|
+
id: builtins.str,
|
|
862
|
+
*,
|
|
863
|
+
prompt: builtins.str,
|
|
864
|
+
expect_json: typing.Optional[builtins.bool] = None,
|
|
865
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
866
|
+
agent_name: builtins.str,
|
|
867
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
868
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
869
|
+
network: typing.Optional["Network"] = None,
|
|
870
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
871
|
+
log_group_data_protection: typing.Optional[typing.Union["LogGroupDataProtectionProps", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
872
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
873
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
874
|
+
) -> None:
|
|
875
|
+
'''
|
|
876
|
+
:param scope: -
|
|
877
|
+
:param id: -
|
|
878
|
+
:param prompt:
|
|
879
|
+
:param expect_json:
|
|
880
|
+
:param agent_definition: (experimental) Agent related parameters.
|
|
881
|
+
:param agent_name: (experimental) Name of the agent.
|
|
882
|
+
:param enable_observability: (experimental) Enable observability. Default: false
|
|
883
|
+
:param encryption_key: (experimental) Encryption key to encrypt agent environment variables. Default: new KMS Key would be created
|
|
884
|
+
:param network: (experimental) If the Agent would be running inside a VPC. Default: Agent would not be in a VPC
|
|
885
|
+
:param removal_policy: (experimental) Removal policy for resources created by this construct. Default: RemovalPolicy.DESTROY
|
|
886
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
887
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
888
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
889
|
+
|
|
890
|
+
:stability: experimental
|
|
891
|
+
'''
|
|
892
|
+
if __debug__:
|
|
893
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c2677306b18b77c5114d824ae734b83ac837c5ea4a5b8805948f0388f1dd7995)
|
|
894
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
895
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
896
|
+
props = BatchAgentProps(
|
|
897
|
+
prompt=prompt,
|
|
898
|
+
expect_json=expect_json,
|
|
899
|
+
agent_definition=agent_definition,
|
|
900
|
+
agent_name=agent_name,
|
|
901
|
+
enable_observability=enable_observability,
|
|
902
|
+
encryption_key=encryption_key,
|
|
903
|
+
network=network,
|
|
904
|
+
removal_policy=removal_policy,
|
|
905
|
+
log_group_data_protection=log_group_data_protection,
|
|
906
|
+
metric_namespace=metric_namespace,
|
|
907
|
+
metric_service_name=metric_service_name,
|
|
908
|
+
)
|
|
909
|
+
|
|
910
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
911
|
+
|
|
912
|
+
@builtins.property
|
|
913
|
+
@jsii.member(jsii_name="agentFunction")
|
|
914
|
+
def agent_function(
|
|
915
|
+
self,
|
|
916
|
+
) -> _aws_cdk_aws_lambda_python_alpha_49328424.PythonFunction:
|
|
917
|
+
'''
|
|
918
|
+
:stability: experimental
|
|
919
|
+
'''
|
|
920
|
+
return typing.cast(_aws_cdk_aws_lambda_python_alpha_49328424.PythonFunction, jsii.get(self, "agentFunction"))
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
@jsii.enum(
|
|
924
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BedrockCrossRegionInferencePrefix"
|
|
925
|
+
)
|
|
926
|
+
class BedrockCrossRegionInferencePrefix(enum.Enum):
|
|
927
|
+
'''(experimental) Cross-region inference prefix options for Bedrock models.
|
|
928
|
+
|
|
929
|
+
Used to configure inference profiles for improved availability and performance.
|
|
930
|
+
|
|
931
|
+
:stability: experimental
|
|
932
|
+
'''
|
|
933
|
+
|
|
934
|
+
US = "US"
|
|
935
|
+
'''(experimental) US-based cross-region inference profile.
|
|
936
|
+
|
|
937
|
+
:stability: experimental
|
|
938
|
+
'''
|
|
939
|
+
EU = "EU"
|
|
940
|
+
'''(experimental) EU-based cross-region inference profile.
|
|
941
|
+
|
|
942
|
+
:stability: experimental
|
|
943
|
+
'''
|
|
944
|
+
|
|
945
|
+
|
|
946
|
+
@jsii.data_type(
|
|
947
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelProps",
|
|
948
|
+
jsii_struct_bases=[],
|
|
949
|
+
name_mapping={
|
|
950
|
+
"cross_region_inference_prefix": "crossRegionInferencePrefix",
|
|
951
|
+
"fm_model_id": "fmModelId",
|
|
952
|
+
"use_cross_region_inference": "useCrossRegionInference",
|
|
953
|
+
},
|
|
954
|
+
)
|
|
955
|
+
class BedrockModelProps:
|
|
956
|
+
def __init__(
|
|
957
|
+
self,
|
|
958
|
+
*,
|
|
959
|
+
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
960
|
+
fm_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
961
|
+
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
962
|
+
) -> None:
|
|
963
|
+
'''
|
|
964
|
+
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
965
|
+
:param fm_model_id: (experimental) Foundation model to use. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0
|
|
966
|
+
:param use_cross_region_inference: (experimental) Enable cross-region inference for Bedrock models to improve availability and performance. When enabled, uses inference profiles instead of direct model invocation. Default: false
|
|
967
|
+
|
|
968
|
+
:stability: experimental
|
|
969
|
+
'''
|
|
970
|
+
if __debug__:
|
|
971
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e45242c855c6631d66b287b02966cc10c7006e63b282779a6fdb35ce0a2a7a67)
|
|
972
|
+
check_type(argname="argument cross_region_inference_prefix", value=cross_region_inference_prefix, expected_type=type_hints["cross_region_inference_prefix"])
|
|
973
|
+
check_type(argname="argument fm_model_id", value=fm_model_id, expected_type=type_hints["fm_model_id"])
|
|
974
|
+
check_type(argname="argument use_cross_region_inference", value=use_cross_region_inference, expected_type=type_hints["use_cross_region_inference"])
|
|
975
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
976
|
+
if cross_region_inference_prefix is not None:
|
|
977
|
+
self._values["cross_region_inference_prefix"] = cross_region_inference_prefix
|
|
978
|
+
if fm_model_id is not None:
|
|
979
|
+
self._values["fm_model_id"] = fm_model_id
|
|
980
|
+
if use_cross_region_inference is not None:
|
|
981
|
+
self._values["use_cross_region_inference"] = use_cross_region_inference
|
|
982
|
+
|
|
983
|
+
@builtins.property
|
|
984
|
+
def cross_region_inference_prefix(
|
|
985
|
+
self,
|
|
986
|
+
) -> typing.Optional[BedrockCrossRegionInferencePrefix]:
|
|
987
|
+
'''(experimental) Prefix for cross-region inference configuration.
|
|
988
|
+
|
|
989
|
+
Only used when useCrossRegionInference is true.
|
|
990
|
+
|
|
991
|
+
:default: BedrockCrossRegionInferencePrefix.US
|
|
992
|
+
|
|
993
|
+
:stability: experimental
|
|
994
|
+
'''
|
|
995
|
+
result = self._values.get("cross_region_inference_prefix")
|
|
996
|
+
return typing.cast(typing.Optional[BedrockCrossRegionInferencePrefix], result)
|
|
997
|
+
|
|
998
|
+
@builtins.property
|
|
999
|
+
def fm_model_id(
|
|
1000
|
+
self,
|
|
1001
|
+
) -> typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier]:
|
|
1002
|
+
'''(experimental) Foundation model to use.
|
|
1003
|
+
|
|
1004
|
+
:default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0
|
|
1005
|
+
|
|
1006
|
+
:stability: experimental
|
|
1007
|
+
'''
|
|
1008
|
+
result = self._values.get("fm_model_id")
|
|
1009
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier], result)
|
|
1010
|
+
|
|
1011
|
+
@builtins.property
|
|
1012
|
+
def use_cross_region_inference(self) -> typing.Optional[builtins.bool]:
|
|
1013
|
+
'''(experimental) Enable cross-region inference for Bedrock models to improve availability and performance.
|
|
1014
|
+
|
|
1015
|
+
When enabled, uses inference profiles instead of direct model invocation.
|
|
1016
|
+
|
|
1017
|
+
:default: false
|
|
1018
|
+
|
|
1019
|
+
:stability: experimental
|
|
1020
|
+
'''
|
|
1021
|
+
result = self._values.get("use_cross_region_inference")
|
|
1022
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
1023
|
+
|
|
1024
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1025
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1026
|
+
|
|
1027
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1028
|
+
return not (rhs == self)
|
|
1029
|
+
|
|
1030
|
+
def __repr__(self) -> str:
|
|
1031
|
+
return "BedrockModelProps(%s)" % ", ".join(
|
|
1032
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1033
|
+
)
|
|
1034
|
+
|
|
1035
|
+
|
|
1036
|
+
class BedrockModelUtils(
|
|
1037
|
+
metaclass=jsii.JSIIMeta,
|
|
1038
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BedrockModelUtils",
|
|
1039
|
+
):
|
|
1040
|
+
'''
|
|
1041
|
+
:stability: experimental
|
|
1042
|
+
'''
|
|
1043
|
+
|
|
1044
|
+
def __init__(self) -> None:
|
|
1045
|
+
'''
|
|
1046
|
+
:stability: experimental
|
|
1047
|
+
'''
|
|
1048
|
+
jsii.create(self.__class__, self, [])
|
|
1049
|
+
|
|
1050
|
+
@jsii.member(jsii_name="deriveActualModelId")
|
|
1051
|
+
@builtins.classmethod
|
|
1052
|
+
def derive_actual_model_id(
|
|
1053
|
+
cls,
|
|
1054
|
+
*,
|
|
1055
|
+
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
1056
|
+
fm_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
1057
|
+
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
1058
|
+
) -> builtins.str:
|
|
1059
|
+
'''
|
|
1060
|
+
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
1061
|
+
:param fm_model_id: (experimental) Foundation model to use. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0
|
|
1062
|
+
:param use_cross_region_inference: (experimental) Enable cross-region inference for Bedrock models to improve availability and performance. When enabled, uses inference profiles instead of direct model invocation. Default: false
|
|
1063
|
+
|
|
1064
|
+
:stability: experimental
|
|
1065
|
+
'''
|
|
1066
|
+
props = BedrockModelProps(
|
|
1067
|
+
cross_region_inference_prefix=cross_region_inference_prefix,
|
|
1068
|
+
fm_model_id=fm_model_id,
|
|
1069
|
+
use_cross_region_inference=use_cross_region_inference,
|
|
1070
|
+
)
|
|
1071
|
+
|
|
1072
|
+
return typing.cast(builtins.str, jsii.sinvoke(cls, "deriveActualModelId", [props]))
|
|
1073
|
+
|
|
1074
|
+
@jsii.member(jsii_name="generateModelIAMPermissions")
|
|
1075
|
+
@builtins.classmethod
|
|
1076
|
+
def generate_model_iam_permissions(
|
|
1077
|
+
cls,
|
|
1078
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1079
|
+
*,
|
|
1080
|
+
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
1081
|
+
fm_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
1082
|
+
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
1083
|
+
) -> _aws_cdk_aws_iam_ceddda9d.PolicyStatement:
|
|
1084
|
+
'''
|
|
1085
|
+
:param scope: -
|
|
1086
|
+
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
1087
|
+
:param fm_model_id: (experimental) Foundation model to use. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0
|
|
1088
|
+
:param use_cross_region_inference: (experimental) Enable cross-region inference for Bedrock models to improve availability and performance. When enabled, uses inference profiles instead of direct model invocation. Default: false
|
|
1089
|
+
|
|
1090
|
+
:stability: experimental
|
|
1091
|
+
'''
|
|
1092
|
+
if __debug__:
|
|
1093
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c2d6dd904193a96951d351d9b9f88371b9b85f9f44a00b0cbdbfba9f24849527)
|
|
1094
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1095
|
+
props = BedrockModelProps(
|
|
1096
|
+
cross_region_inference_prefix=cross_region_inference_prefix,
|
|
1097
|
+
fm_model_id=fm_model_id,
|
|
1098
|
+
use_cross_region_inference=use_cross_region_inference,
|
|
1099
|
+
)
|
|
1100
|
+
|
|
1101
|
+
return typing.cast(_aws_cdk_aws_iam_ceddda9d.PolicyStatement, jsii.sinvoke(cls, "generateModelIAMPermissions", [scope, props]))
|
|
1102
|
+
|
|
1103
|
+
|
|
1104
|
+
@jsii.implements(_aws_cdk_ceddda9d.IPropertyInjector)
|
|
1105
|
+
class CloudfrontDistributionObservabilityPropertyInjector(
|
|
1106
|
+
metaclass=jsii.JSIIMeta,
|
|
1107
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.CloudfrontDistributionObservabilityPropertyInjector",
|
|
1108
|
+
):
|
|
1109
|
+
'''
|
|
1110
|
+
:stability: experimental
|
|
1111
|
+
'''
|
|
1112
|
+
|
|
1113
|
+
def __init__(self) -> None:
|
|
1114
|
+
'''
|
|
1115
|
+
:stability: experimental
|
|
1116
|
+
'''
|
|
1117
|
+
jsii.create(self.__class__, self, [])
|
|
1118
|
+
|
|
1119
|
+
@jsii.member(jsii_name="inject")
|
|
1120
|
+
def inject(
|
|
1121
|
+
self,
|
|
1122
|
+
original_props: typing.Any,
|
|
1123
|
+
*,
|
|
1124
|
+
id: builtins.str,
|
|
1125
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1126
|
+
) -> typing.Any:
|
|
1127
|
+
'''(experimental) The injector to be applied to the constructor properties of the Construct.
|
|
1128
|
+
|
|
1129
|
+
:param original_props: -
|
|
1130
|
+
:param id: id from the Construct constructor.
|
|
1131
|
+
:param scope: scope from the constructor.
|
|
1132
|
+
|
|
1133
|
+
:stability: experimental
|
|
1134
|
+
'''
|
|
1135
|
+
if __debug__:
|
|
1136
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2270aedab8c9db027e16b28fd9de8610d0f7e47778cdf1d501539d0e440a561d)
|
|
1137
|
+
check_type(argname="argument original_props", value=original_props, expected_type=type_hints["original_props"])
|
|
1138
|
+
context = _aws_cdk_ceddda9d.InjectionContext(id=id, scope=scope)
|
|
1139
|
+
|
|
1140
|
+
return typing.cast(typing.Any, jsii.invoke(self, "inject", [original_props, context]))
|
|
1141
|
+
|
|
1142
|
+
@builtins.property
|
|
1143
|
+
@jsii.member(jsii_name="constructUniqueId")
|
|
1144
|
+
def construct_unique_id(self) -> builtins.str:
|
|
1145
|
+
'''(experimental) The unique Id of the Construct class.
|
|
1146
|
+
|
|
1147
|
+
:stability: experimental
|
|
1148
|
+
'''
|
|
1149
|
+
return typing.cast(builtins.str, jsii.get(self, "constructUniqueId"))
|
|
1150
|
+
|
|
1151
|
+
|
|
1152
|
+
@jsii.data_type(
|
|
1153
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.CustomDomainConfig",
|
|
1154
|
+
jsii_struct_bases=[],
|
|
1155
|
+
name_mapping={
|
|
1156
|
+
"certificate": "certificate",
|
|
1157
|
+
"domain_name": "domainName",
|
|
1158
|
+
"hosted_zone": "hostedZone",
|
|
1159
|
+
},
|
|
1160
|
+
)
|
|
1161
|
+
class CustomDomainConfig:
|
|
1162
|
+
def __init__(
|
|
1163
|
+
self,
|
|
1164
|
+
*,
|
|
1165
|
+
certificate: _aws_cdk_aws_certificatemanager_ceddda9d.ICertificate,
|
|
1166
|
+
domain_name: builtins.str,
|
|
1167
|
+
hosted_zone: typing.Optional[_aws_cdk_aws_route53_ceddda9d.IHostedZone] = None,
|
|
1168
|
+
) -> None:
|
|
1169
|
+
'''(experimental) Custom domain configuration for the frontend.
|
|
1170
|
+
|
|
1171
|
+
:param certificate: (experimental) SSL certificate for the domain (required when domainName is provided).
|
|
1172
|
+
:param domain_name: (experimental) Domain name for the frontend (e.g., 'app.example.com').
|
|
1173
|
+
:param hosted_zone: (experimental) Optional hosted zone for automatic DNS record creation.
|
|
1174
|
+
|
|
1175
|
+
:stability: experimental
|
|
1176
|
+
'''
|
|
1177
|
+
if __debug__:
|
|
1178
|
+
type_hints = typing.get_type_hints(_typecheckingstub__45e622c5dc8075e1ee5cdf9df72ea9b7ca33e0a7cf348dfaf54f93e635e9dde8)
|
|
1179
|
+
check_type(argname="argument certificate", value=certificate, expected_type=type_hints["certificate"])
|
|
1180
|
+
check_type(argname="argument domain_name", value=domain_name, expected_type=type_hints["domain_name"])
|
|
1181
|
+
check_type(argname="argument hosted_zone", value=hosted_zone, expected_type=type_hints["hosted_zone"])
|
|
1182
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1183
|
+
"certificate": certificate,
|
|
1184
|
+
"domain_name": domain_name,
|
|
1185
|
+
}
|
|
1186
|
+
if hosted_zone is not None:
|
|
1187
|
+
self._values["hosted_zone"] = hosted_zone
|
|
1188
|
+
|
|
1189
|
+
@builtins.property
|
|
1190
|
+
def certificate(self) -> _aws_cdk_aws_certificatemanager_ceddda9d.ICertificate:
|
|
1191
|
+
'''(experimental) SSL certificate for the domain (required when domainName is provided).
|
|
1192
|
+
|
|
1193
|
+
:stability: experimental
|
|
1194
|
+
'''
|
|
1195
|
+
result = self._values.get("certificate")
|
|
1196
|
+
assert result is not None, "Required property 'certificate' is missing"
|
|
1197
|
+
return typing.cast(_aws_cdk_aws_certificatemanager_ceddda9d.ICertificate, result)
|
|
1198
|
+
|
|
1199
|
+
@builtins.property
|
|
1200
|
+
def domain_name(self) -> builtins.str:
|
|
1201
|
+
'''(experimental) Domain name for the frontend (e.g., 'app.example.com').
|
|
1202
|
+
|
|
1203
|
+
:stability: experimental
|
|
1204
|
+
'''
|
|
1205
|
+
result = self._values.get("domain_name")
|
|
1206
|
+
assert result is not None, "Required property 'domain_name' is missing"
|
|
1207
|
+
return typing.cast(builtins.str, result)
|
|
1208
|
+
|
|
1209
|
+
@builtins.property
|
|
1210
|
+
def hosted_zone(self) -> typing.Optional[_aws_cdk_aws_route53_ceddda9d.IHostedZone]:
|
|
1211
|
+
'''(experimental) Optional hosted zone for automatic DNS record creation.
|
|
1212
|
+
|
|
1213
|
+
:stability: experimental
|
|
1214
|
+
'''
|
|
1215
|
+
result = self._values.get("hosted_zone")
|
|
1216
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_route53_ceddda9d.IHostedZone], result)
|
|
1217
|
+
|
|
1218
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1219
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1220
|
+
|
|
1221
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1222
|
+
return not (rhs == self)
|
|
1223
|
+
|
|
1224
|
+
def __repr__(self) -> str:
|
|
1225
|
+
return "CustomDomainConfig(%s)" % ", ".join(
|
|
1226
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1227
|
+
)
|
|
1228
|
+
|
|
1229
|
+
|
|
1230
|
+
class DataLoader(
|
|
1231
|
+
_constructs_77d1e7e8.Construct,
|
|
1232
|
+
metaclass=jsii.JSIIMeta,
|
|
1233
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.DataLoader",
|
|
1234
|
+
):
|
|
1235
|
+
'''(experimental) DataLoader construct for loading data into Aurora/RDS databases.
|
|
1236
|
+
|
|
1237
|
+
This construct provides a simplified solution for loading data from various file formats
|
|
1238
|
+
(SQL, mysqldump, pg_dump) into MySQL or PostgreSQL databases. It uses S3 for file storage,
|
|
1239
|
+
Step Functions for orchestration, and Lambda for processing.
|
|
1240
|
+
|
|
1241
|
+
Architecture:
|
|
1242
|
+
|
|
1243
|
+
1. Files are uploaded to S3 bucket
|
|
1244
|
+
2. Step Function is triggered with list of S3 keys
|
|
1245
|
+
3. Step Function iterates over files in execution order
|
|
1246
|
+
4. Lambda function processes each file against the database
|
|
1247
|
+
|
|
1248
|
+
Example usage:
|
|
1249
|
+
Create a DataLoader with database configuration and file inputs.
|
|
1250
|
+
The construct will handle uploading files to S3, creating a Step Function
|
|
1251
|
+
to orchestrate processing, and executing the data loading pipeline.
|
|
1252
|
+
|
|
1253
|
+
:stability: experimental
|
|
1254
|
+
'''
|
|
1255
|
+
|
|
1256
|
+
def __init__(
|
|
1257
|
+
self,
|
|
1258
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1259
|
+
id: builtins.str,
|
|
1260
|
+
*,
|
|
1261
|
+
database_config: typing.Union["DatabaseConfig", typing.Dict[builtins.str, typing.Any]],
|
|
1262
|
+
file_inputs: typing.Sequence[typing.Union["FileInput", typing.Dict[builtins.str, typing.Any]]],
|
|
1263
|
+
memory_size: typing.Optional[jsii.Number] = None,
|
|
1264
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
1265
|
+
timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
1266
|
+
) -> None:
|
|
1267
|
+
'''
|
|
1268
|
+
:param scope: -
|
|
1269
|
+
:param id: -
|
|
1270
|
+
:param database_config: (experimental) Database configuration.
|
|
1271
|
+
:param file_inputs: (experimental) List of files to load.
|
|
1272
|
+
:param memory_size: (experimental) Optional memory size for Lambda function (defaults to 1024 MB).
|
|
1273
|
+
:param removal_policy: (experimental) Optional removal policy for resources (defaults to DESTROY).
|
|
1274
|
+
:param timeout: (experimental) Optional timeout for Lambda function (defaults to 15 minutes).
|
|
835
1275
|
|
|
836
1276
|
:stability: experimental
|
|
837
1277
|
'''
|
|
@@ -1197,6 +1637,29 @@ class DatabaseEngine(enum.Enum):
|
|
|
1197
1637
|
'''
|
|
1198
1638
|
|
|
1199
1639
|
|
|
1640
|
+
class DefaultAgentConfig(
|
|
1641
|
+
metaclass=jsii.JSIIMeta,
|
|
1642
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.DefaultAgentConfig",
|
|
1643
|
+
):
|
|
1644
|
+
'''
|
|
1645
|
+
:stability: experimental
|
|
1646
|
+
'''
|
|
1647
|
+
|
|
1648
|
+
def __init__(self) -> None:
|
|
1649
|
+
'''
|
|
1650
|
+
:stability: experimental
|
|
1651
|
+
'''
|
|
1652
|
+
jsii.create(self.__class__, self, [])
|
|
1653
|
+
|
|
1654
|
+
@jsii.python.classproperty
|
|
1655
|
+
@jsii.member(jsii_name="DEFAULT_OBSERVABILITY_METRIC_SVC_NAME")
|
|
1656
|
+
def DEFAULT_OBSERVABILITY_METRIC_SVC_NAME(cls) -> builtins.str:
|
|
1657
|
+
'''
|
|
1658
|
+
:stability: experimental
|
|
1659
|
+
'''
|
|
1660
|
+
return typing.cast(builtins.str, jsii.sget(cls, "DEFAULT_OBSERVABILITY_METRIC_SVC_NAME"))
|
|
1661
|
+
|
|
1662
|
+
|
|
1200
1663
|
class DefaultDocumentProcessingConfig(
|
|
1201
1664
|
metaclass=jsii.JSIIMeta,
|
|
1202
1665
|
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.DefaultDocumentProcessingConfig",
|
|
@@ -2986,6 +3449,43 @@ class LogGroupDataProtectionProps:
|
|
|
2986
3449
|
)
|
|
2987
3450
|
|
|
2988
3451
|
|
|
3452
|
+
class LogGroupDataProtectionUtils(
|
|
3453
|
+
metaclass=jsii.JSIIMeta,
|
|
3454
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.LogGroupDataProtectionUtils",
|
|
3455
|
+
):
|
|
3456
|
+
'''
|
|
3457
|
+
:stability: experimental
|
|
3458
|
+
'''
|
|
3459
|
+
|
|
3460
|
+
def __init__(self) -> None:
|
|
3461
|
+
'''
|
|
3462
|
+
:stability: experimental
|
|
3463
|
+
'''
|
|
3464
|
+
jsii.create(self.__class__, self, [])
|
|
3465
|
+
|
|
3466
|
+
@jsii.member(jsii_name="handleDefault")
|
|
3467
|
+
@builtins.classmethod
|
|
3468
|
+
def handle_default(
|
|
3469
|
+
cls,
|
|
3470
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3471
|
+
props: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3472
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3473
|
+
) -> LogGroupDataProtectionProps:
|
|
3474
|
+
'''
|
|
3475
|
+
:param scope: -
|
|
3476
|
+
:param props: -
|
|
3477
|
+
:param removal_policy: -
|
|
3478
|
+
|
|
3479
|
+
:stability: experimental
|
|
3480
|
+
'''
|
|
3481
|
+
if __debug__:
|
|
3482
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e3a45e54ca44da7f036d13ce54f925e2a16d4e1ae6f2df04d64a1f10ca0133f0)
|
|
3483
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3484
|
+
check_type(argname="argument props", value=props, expected_type=type_hints["props"])
|
|
3485
|
+
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
3486
|
+
return typing.cast(LogGroupDataProtectionProps, jsii.sinvoke(cls, "handleDefault", [scope, props, removal_policy]))
|
|
3487
|
+
|
|
3488
|
+
|
|
2989
3489
|
class Network(
|
|
2990
3490
|
_constructs_77d1e7e8.Construct,
|
|
2991
3491
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3703,64 +4203,249 @@ class StateMachineObservabilityPropertyInjector(
|
|
|
3703
4203
|
:stability: experimental
|
|
3704
4204
|
'''
|
|
3705
4205
|
|
|
3706
|
-
def __init__(
|
|
3707
|
-
self,
|
|
3708
|
-
*,
|
|
3709
|
-
data_protection_identifiers: typing.Optional[typing.Sequence[_aws_cdk_aws_logs_ceddda9d.DataIdentifier]] = None,
|
|
3710
|
-
log_group_encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3711
|
-
) -> None:
|
|
4206
|
+
def __init__(
|
|
4207
|
+
self,
|
|
4208
|
+
*,
|
|
4209
|
+
data_protection_identifiers: typing.Optional[typing.Sequence[_aws_cdk_aws_logs_ceddda9d.DataIdentifier]] = None,
|
|
4210
|
+
log_group_encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4211
|
+
) -> None:
|
|
4212
|
+
'''
|
|
4213
|
+
:param data_protection_identifiers: (experimental) List of DataIdentifiers that would be used as part of the Data Protection Policy that would be created for the log group. Default: Data Protection Policy won't be enabled
|
|
4214
|
+
:param log_group_encryption_key: (experimental) Encryption key that would be used to encrypt the relevant log group. Default: a new KMS key would automatically be created
|
|
4215
|
+
|
|
4216
|
+
:stability: experimental
|
|
4217
|
+
'''
|
|
4218
|
+
log_group_data_protection = LogGroupDataProtectionProps(
|
|
4219
|
+
data_protection_identifiers=data_protection_identifiers,
|
|
4220
|
+
log_group_encryption_key=log_group_encryption_key,
|
|
4221
|
+
)
|
|
4222
|
+
|
|
4223
|
+
jsii.create(self.__class__, self, [log_group_data_protection])
|
|
4224
|
+
|
|
4225
|
+
@jsii.member(jsii_name="inject")
|
|
4226
|
+
def inject(
|
|
4227
|
+
self,
|
|
4228
|
+
original_props: typing.Any,
|
|
4229
|
+
*,
|
|
4230
|
+
id: builtins.str,
|
|
4231
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
4232
|
+
) -> typing.Any:
|
|
4233
|
+
'''(experimental) The injector to be applied to the constructor properties of the Construct.
|
|
4234
|
+
|
|
4235
|
+
:param original_props: -
|
|
4236
|
+
:param id: id from the Construct constructor.
|
|
4237
|
+
:param scope: scope from the constructor.
|
|
4238
|
+
|
|
4239
|
+
:stability: experimental
|
|
4240
|
+
'''
|
|
4241
|
+
if __debug__:
|
|
4242
|
+
type_hints = typing.get_type_hints(_typecheckingstub__011b55520774139b52c951d9cc59273f686e377b5415ee42a57650da571d43e7)
|
|
4243
|
+
check_type(argname="argument original_props", value=original_props, expected_type=type_hints["original_props"])
|
|
4244
|
+
_context = _aws_cdk_ceddda9d.InjectionContext(id=id, scope=scope)
|
|
4245
|
+
|
|
4246
|
+
return typing.cast(typing.Any, jsii.invoke(self, "inject", [original_props, _context]))
|
|
4247
|
+
|
|
4248
|
+
@builtins.property
|
|
4249
|
+
@jsii.member(jsii_name="constructUniqueId")
|
|
4250
|
+
def construct_unique_id(self) -> builtins.str:
|
|
4251
|
+
'''(experimental) The unique Id of the Construct class.
|
|
4252
|
+
|
|
4253
|
+
:stability: experimental
|
|
4254
|
+
'''
|
|
4255
|
+
return typing.cast(builtins.str, jsii.get(self, "constructUniqueId"))
|
|
4256
|
+
|
|
4257
|
+
@builtins.property
|
|
4258
|
+
@jsii.member(jsii_name="logGroupDataProtection")
|
|
4259
|
+
def log_group_data_protection(self) -> LogGroupDataProtectionProps:
|
|
4260
|
+
'''
|
|
4261
|
+
:stability: experimental
|
|
4262
|
+
'''
|
|
4263
|
+
return typing.cast(LogGroupDataProtectionProps, jsii.get(self, "logGroupDataProtection"))
|
|
4264
|
+
|
|
4265
|
+
|
|
4266
|
+
@jsii.data_type(
|
|
4267
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BaseAgentProps",
|
|
4268
|
+
jsii_struct_bases=[ObservableProps],
|
|
4269
|
+
name_mapping={
|
|
4270
|
+
"log_group_data_protection": "logGroupDataProtection",
|
|
4271
|
+
"metric_namespace": "metricNamespace",
|
|
4272
|
+
"metric_service_name": "metricServiceName",
|
|
4273
|
+
"agent_definition": "agentDefinition",
|
|
4274
|
+
"agent_name": "agentName",
|
|
4275
|
+
"enable_observability": "enableObservability",
|
|
4276
|
+
"encryption_key": "encryptionKey",
|
|
4277
|
+
"network": "network",
|
|
4278
|
+
"removal_policy": "removalPolicy",
|
|
4279
|
+
},
|
|
4280
|
+
)
|
|
4281
|
+
class BaseAgentProps(ObservableProps):
|
|
4282
|
+
def __init__(
|
|
4283
|
+
self,
|
|
4284
|
+
*,
|
|
4285
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4286
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
4287
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
4288
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
4289
|
+
agent_name: builtins.str,
|
|
4290
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4291
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4292
|
+
network: typing.Optional[Network] = None,
|
|
4293
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4294
|
+
) -> None:
|
|
4295
|
+
'''
|
|
4296
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
4297
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
4298
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
4299
|
+
:param agent_definition: (experimental) Agent related parameters.
|
|
4300
|
+
:param agent_name: (experimental) Name of the agent.
|
|
4301
|
+
:param enable_observability: (experimental) Enable observability. Default: false
|
|
4302
|
+
:param encryption_key: (experimental) Encryption key to encrypt agent environment variables. Default: new KMS Key would be created
|
|
4303
|
+
:param network: (experimental) If the Agent would be running inside a VPC. Default: Agent would not be in a VPC
|
|
4304
|
+
:param removal_policy: (experimental) Removal policy for resources created by this construct. Default: RemovalPolicy.DESTROY
|
|
4305
|
+
|
|
4306
|
+
:stability: experimental
|
|
4307
|
+
'''
|
|
4308
|
+
if isinstance(log_group_data_protection, dict):
|
|
4309
|
+
log_group_data_protection = LogGroupDataProtectionProps(**log_group_data_protection)
|
|
4310
|
+
if isinstance(agent_definition, dict):
|
|
4311
|
+
agent_definition = AgentDefinitionProps(**agent_definition)
|
|
4312
|
+
if __debug__:
|
|
4313
|
+
type_hints = typing.get_type_hints(_typecheckingstub__feb650555d9014f75886d26d16787c0c2e83a042e7e61844bf4d21c890ce479c)
|
|
4314
|
+
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
4315
|
+
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
4316
|
+
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
4317
|
+
check_type(argname="argument agent_definition", value=agent_definition, expected_type=type_hints["agent_definition"])
|
|
4318
|
+
check_type(argname="argument agent_name", value=agent_name, expected_type=type_hints["agent_name"])
|
|
4319
|
+
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
4320
|
+
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
4321
|
+
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
4322
|
+
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
4323
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
4324
|
+
"agent_definition": agent_definition,
|
|
4325
|
+
"agent_name": agent_name,
|
|
4326
|
+
}
|
|
4327
|
+
if log_group_data_protection is not None:
|
|
4328
|
+
self._values["log_group_data_protection"] = log_group_data_protection
|
|
4329
|
+
if metric_namespace is not None:
|
|
4330
|
+
self._values["metric_namespace"] = metric_namespace
|
|
4331
|
+
if metric_service_name is not None:
|
|
4332
|
+
self._values["metric_service_name"] = metric_service_name
|
|
4333
|
+
if enable_observability is not None:
|
|
4334
|
+
self._values["enable_observability"] = enable_observability
|
|
4335
|
+
if encryption_key is not None:
|
|
4336
|
+
self._values["encryption_key"] = encryption_key
|
|
4337
|
+
if network is not None:
|
|
4338
|
+
self._values["network"] = network
|
|
4339
|
+
if removal_policy is not None:
|
|
4340
|
+
self._values["removal_policy"] = removal_policy
|
|
4341
|
+
|
|
4342
|
+
@builtins.property
|
|
4343
|
+
def log_group_data_protection(self) -> typing.Optional[LogGroupDataProtectionProps]:
|
|
4344
|
+
'''(experimental) Data protection related configuration.
|
|
4345
|
+
|
|
4346
|
+
:default: a new KMS key would be generated
|
|
4347
|
+
|
|
4348
|
+
:stability: experimental
|
|
4349
|
+
'''
|
|
4350
|
+
result = self._values.get("log_group_data_protection")
|
|
4351
|
+
return typing.cast(typing.Optional[LogGroupDataProtectionProps], result)
|
|
4352
|
+
|
|
4353
|
+
@builtins.property
|
|
4354
|
+
def metric_namespace(self) -> typing.Optional[builtins.str]:
|
|
4355
|
+
'''(experimental) Business metric namespace.
|
|
4356
|
+
|
|
4357
|
+
:default: would be defined per use case
|
|
4358
|
+
|
|
4359
|
+
:stability: experimental
|
|
3712
4360
|
'''
|
|
3713
|
-
|
|
3714
|
-
|
|
4361
|
+
result = self._values.get("metric_namespace")
|
|
4362
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4363
|
+
|
|
4364
|
+
@builtins.property
|
|
4365
|
+
def metric_service_name(self) -> typing.Optional[builtins.str]:
|
|
4366
|
+
'''(experimental) Business metric service name dimension.
|
|
4367
|
+
|
|
4368
|
+
:default: would be defined per use case
|
|
3715
4369
|
|
|
3716
4370
|
:stability: experimental
|
|
3717
4371
|
'''
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
log_group_encryption_key=log_group_encryption_key,
|
|
3721
|
-
)
|
|
4372
|
+
result = self._values.get("metric_service_name")
|
|
4373
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3722
4374
|
|
|
3723
|
-
|
|
4375
|
+
@builtins.property
|
|
4376
|
+
def agent_definition(self) -> AgentDefinitionProps:
|
|
4377
|
+
'''(experimental) Agent related parameters.
|
|
3724
4378
|
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
self
|
|
3728
|
-
|
|
3729
|
-
|
|
3730
|
-
id: builtins.str,
|
|
3731
|
-
scope: _constructs_77d1e7e8.Construct,
|
|
3732
|
-
) -> typing.Any:
|
|
3733
|
-
'''(experimental) The injector to be applied to the constructor properties of the Construct.
|
|
4379
|
+
:stability: experimental
|
|
4380
|
+
'''
|
|
4381
|
+
result = self._values.get("agent_definition")
|
|
4382
|
+
assert result is not None, "Required property 'agent_definition' is missing"
|
|
4383
|
+
return typing.cast(AgentDefinitionProps, result)
|
|
3734
4384
|
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
4385
|
+
@builtins.property
|
|
4386
|
+
def agent_name(self) -> builtins.str:
|
|
4387
|
+
'''(experimental) Name of the agent.
|
|
3738
4388
|
|
|
3739
4389
|
:stability: experimental
|
|
3740
4390
|
'''
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
_context = _aws_cdk_ceddda9d.InjectionContext(id=id, scope=scope)
|
|
4391
|
+
result = self._values.get("agent_name")
|
|
4392
|
+
assert result is not None, "Required property 'agent_name' is missing"
|
|
4393
|
+
return typing.cast(builtins.str, result)
|
|
3745
4394
|
|
|
3746
|
-
|
|
4395
|
+
@builtins.property
|
|
4396
|
+
def enable_observability(self) -> typing.Optional[builtins.bool]:
|
|
4397
|
+
'''(experimental) Enable observability.
|
|
4398
|
+
|
|
4399
|
+
:default: false
|
|
4400
|
+
|
|
4401
|
+
:stability: experimental
|
|
4402
|
+
'''
|
|
4403
|
+
result = self._values.get("enable_observability")
|
|
4404
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
3747
4405
|
|
|
3748
4406
|
@builtins.property
|
|
3749
|
-
|
|
3750
|
-
|
|
3751
|
-
|
|
4407
|
+
def encryption_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key]:
|
|
4408
|
+
'''(experimental) Encryption key to encrypt agent environment variables.
|
|
4409
|
+
|
|
4410
|
+
:default: new KMS Key would be created
|
|
3752
4411
|
|
|
3753
4412
|
:stability: experimental
|
|
3754
4413
|
'''
|
|
3755
|
-
|
|
4414
|
+
result = self._values.get("encryption_key")
|
|
4415
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key], result)
|
|
3756
4416
|
|
|
3757
4417
|
@builtins.property
|
|
3758
|
-
|
|
3759
|
-
|
|
4418
|
+
def network(self) -> typing.Optional[Network]:
|
|
4419
|
+
'''(experimental) If the Agent would be running inside a VPC.
|
|
4420
|
+
|
|
4421
|
+
:default: Agent would not be in a VPC
|
|
4422
|
+
|
|
4423
|
+
:stability: experimental
|
|
3760
4424
|
'''
|
|
4425
|
+
result = self._values.get("network")
|
|
4426
|
+
return typing.cast(typing.Optional[Network], result)
|
|
4427
|
+
|
|
4428
|
+
@builtins.property
|
|
4429
|
+
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
4430
|
+
'''(experimental) Removal policy for resources created by this construct.
|
|
4431
|
+
|
|
4432
|
+
:default: RemovalPolicy.DESTROY
|
|
4433
|
+
|
|
3761
4434
|
:stability: experimental
|
|
3762
4435
|
'''
|
|
3763
|
-
|
|
4436
|
+
result = self._values.get("removal_policy")
|
|
4437
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy], result)
|
|
4438
|
+
|
|
4439
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4440
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4441
|
+
|
|
4442
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4443
|
+
return not (rhs == self)
|
|
4444
|
+
|
|
4445
|
+
def __repr__(self) -> str:
|
|
4446
|
+
return "BaseAgentProps(%s)" % ", ".join(
|
|
4447
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4448
|
+
)
|
|
3764
4449
|
|
|
3765
4450
|
|
|
3766
4451
|
@jsii.implements(IObservable)
|
|
@@ -4230,25 +4915,232 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
4230
4915
|
|
|
4231
4916
|
:stability: experimental
|
|
4232
4917
|
'''
|
|
4233
|
-
result = self._values.get("eventbridge_broker")
|
|
4234
|
-
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
4918
|
+
result = self._values.get("eventbridge_broker")
|
|
4919
|
+
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
4920
|
+
|
|
4921
|
+
@builtins.property
|
|
4922
|
+
def ingress_adapter(self) -> typing.Optional[IAdapter]:
|
|
4923
|
+
'''(experimental) Adapter that defines how the document processing workflow is triggered.
|
|
4924
|
+
|
|
4925
|
+
:default: QueuedS3Adapter
|
|
4926
|
+
|
|
4927
|
+
:stability: experimental
|
|
4928
|
+
'''
|
|
4929
|
+
result = self._values.get("ingress_adapter")
|
|
4930
|
+
return typing.cast(typing.Optional[IAdapter], result)
|
|
4931
|
+
|
|
4932
|
+
@builtins.property
|
|
4933
|
+
def network(self) -> typing.Optional[Network]:
|
|
4934
|
+
'''(experimental) Resources that can run inside a VPC will follow the provided network configuration.
|
|
4935
|
+
|
|
4936
|
+
:default: resources will run outside of a VPC
|
|
4937
|
+
|
|
4938
|
+
:stability: experimental
|
|
4939
|
+
'''
|
|
4940
|
+
result = self._values.get("network")
|
|
4941
|
+
return typing.cast(typing.Optional[Network], result)
|
|
4942
|
+
|
|
4943
|
+
@builtins.property
|
|
4944
|
+
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
4945
|
+
'''(experimental) Removal policy for created resources (bucket, table, queue).
|
|
4946
|
+
|
|
4947
|
+
:default: RemovalPolicy.DESTROY
|
|
4948
|
+
|
|
4949
|
+
:stability: experimental
|
|
4950
|
+
'''
|
|
4951
|
+
result = self._values.get("removal_policy")
|
|
4952
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy], result)
|
|
4953
|
+
|
|
4954
|
+
@builtins.property
|
|
4955
|
+
def workflow_timeout(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
4956
|
+
'''(experimental) Maximum execution time for the Step Functions workflow.
|
|
4957
|
+
|
|
4958
|
+
:default: Duration.minutes(30)
|
|
4959
|
+
|
|
4960
|
+
:stability: experimental
|
|
4961
|
+
'''
|
|
4962
|
+
result = self._values.get("workflow_timeout")
|
|
4963
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
4964
|
+
|
|
4965
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4966
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4967
|
+
|
|
4968
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
4969
|
+
return not (rhs == self)
|
|
4970
|
+
|
|
4971
|
+
def __repr__(self) -> str:
|
|
4972
|
+
return "BaseDocumentProcessingProps(%s)" % ", ".join(
|
|
4973
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
4974
|
+
)
|
|
4975
|
+
|
|
4976
|
+
|
|
4977
|
+
@jsii.data_type(
|
|
4978
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.BatchAgentProps",
|
|
4979
|
+
jsii_struct_bases=[BaseAgentProps],
|
|
4980
|
+
name_mapping={
|
|
4981
|
+
"log_group_data_protection": "logGroupDataProtection",
|
|
4982
|
+
"metric_namespace": "metricNamespace",
|
|
4983
|
+
"metric_service_name": "metricServiceName",
|
|
4984
|
+
"agent_definition": "agentDefinition",
|
|
4985
|
+
"agent_name": "agentName",
|
|
4986
|
+
"enable_observability": "enableObservability",
|
|
4987
|
+
"encryption_key": "encryptionKey",
|
|
4988
|
+
"network": "network",
|
|
4989
|
+
"removal_policy": "removalPolicy",
|
|
4990
|
+
"prompt": "prompt",
|
|
4991
|
+
"expect_json": "expectJson",
|
|
4992
|
+
},
|
|
4993
|
+
)
|
|
4994
|
+
class BatchAgentProps(BaseAgentProps):
|
|
4995
|
+
def __init__(
|
|
4996
|
+
self,
|
|
4997
|
+
*,
|
|
4998
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4999
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5000
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5001
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
5002
|
+
agent_name: builtins.str,
|
|
5003
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5004
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5005
|
+
network: typing.Optional[Network] = None,
|
|
5006
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5007
|
+
prompt: builtins.str,
|
|
5008
|
+
expect_json: typing.Optional[builtins.bool] = None,
|
|
5009
|
+
) -> None:
|
|
5010
|
+
'''
|
|
5011
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
5012
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
5013
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
5014
|
+
:param agent_definition: (experimental) Agent related parameters.
|
|
5015
|
+
:param agent_name: (experimental) Name of the agent.
|
|
5016
|
+
:param enable_observability: (experimental) Enable observability. Default: false
|
|
5017
|
+
:param encryption_key: (experimental) Encryption key to encrypt agent environment variables. Default: new KMS Key would be created
|
|
5018
|
+
:param network: (experimental) If the Agent would be running inside a VPC. Default: Agent would not be in a VPC
|
|
5019
|
+
:param removal_policy: (experimental) Removal policy for resources created by this construct. Default: RemovalPolicy.DESTROY
|
|
5020
|
+
:param prompt:
|
|
5021
|
+
:param expect_json:
|
|
5022
|
+
|
|
5023
|
+
:stability: experimental
|
|
5024
|
+
'''
|
|
5025
|
+
if isinstance(log_group_data_protection, dict):
|
|
5026
|
+
log_group_data_protection = LogGroupDataProtectionProps(**log_group_data_protection)
|
|
5027
|
+
if isinstance(agent_definition, dict):
|
|
5028
|
+
agent_definition = AgentDefinitionProps(**agent_definition)
|
|
5029
|
+
if __debug__:
|
|
5030
|
+
type_hints = typing.get_type_hints(_typecheckingstub__30511d5990f52f2808903d144bad5a5c502c00b0b8c98b4fd52a3df61c18b19d)
|
|
5031
|
+
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
5032
|
+
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
5033
|
+
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
5034
|
+
check_type(argname="argument agent_definition", value=agent_definition, expected_type=type_hints["agent_definition"])
|
|
5035
|
+
check_type(argname="argument agent_name", value=agent_name, expected_type=type_hints["agent_name"])
|
|
5036
|
+
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
5037
|
+
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
5038
|
+
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
5039
|
+
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
5040
|
+
check_type(argname="argument prompt", value=prompt, expected_type=type_hints["prompt"])
|
|
5041
|
+
check_type(argname="argument expect_json", value=expect_json, expected_type=type_hints["expect_json"])
|
|
5042
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
5043
|
+
"agent_definition": agent_definition,
|
|
5044
|
+
"agent_name": agent_name,
|
|
5045
|
+
"prompt": prompt,
|
|
5046
|
+
}
|
|
5047
|
+
if log_group_data_protection is not None:
|
|
5048
|
+
self._values["log_group_data_protection"] = log_group_data_protection
|
|
5049
|
+
if metric_namespace is not None:
|
|
5050
|
+
self._values["metric_namespace"] = metric_namespace
|
|
5051
|
+
if metric_service_name is not None:
|
|
5052
|
+
self._values["metric_service_name"] = metric_service_name
|
|
5053
|
+
if enable_observability is not None:
|
|
5054
|
+
self._values["enable_observability"] = enable_observability
|
|
5055
|
+
if encryption_key is not None:
|
|
5056
|
+
self._values["encryption_key"] = encryption_key
|
|
5057
|
+
if network is not None:
|
|
5058
|
+
self._values["network"] = network
|
|
5059
|
+
if removal_policy is not None:
|
|
5060
|
+
self._values["removal_policy"] = removal_policy
|
|
5061
|
+
if expect_json is not None:
|
|
5062
|
+
self._values["expect_json"] = expect_json
|
|
5063
|
+
|
|
5064
|
+
@builtins.property
|
|
5065
|
+
def log_group_data_protection(self) -> typing.Optional[LogGroupDataProtectionProps]:
|
|
5066
|
+
'''(experimental) Data protection related configuration.
|
|
5067
|
+
|
|
5068
|
+
:default: a new KMS key would be generated
|
|
5069
|
+
|
|
5070
|
+
:stability: experimental
|
|
5071
|
+
'''
|
|
5072
|
+
result = self._values.get("log_group_data_protection")
|
|
5073
|
+
return typing.cast(typing.Optional[LogGroupDataProtectionProps], result)
|
|
5074
|
+
|
|
5075
|
+
@builtins.property
|
|
5076
|
+
def metric_namespace(self) -> typing.Optional[builtins.str]:
|
|
5077
|
+
'''(experimental) Business metric namespace.
|
|
5078
|
+
|
|
5079
|
+
:default: would be defined per use case
|
|
5080
|
+
|
|
5081
|
+
:stability: experimental
|
|
5082
|
+
'''
|
|
5083
|
+
result = self._values.get("metric_namespace")
|
|
5084
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
5085
|
+
|
|
5086
|
+
@builtins.property
|
|
5087
|
+
def metric_service_name(self) -> typing.Optional[builtins.str]:
|
|
5088
|
+
'''(experimental) Business metric service name dimension.
|
|
5089
|
+
|
|
5090
|
+
:default: would be defined per use case
|
|
5091
|
+
|
|
5092
|
+
:stability: experimental
|
|
5093
|
+
'''
|
|
5094
|
+
result = self._values.get("metric_service_name")
|
|
5095
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
5096
|
+
|
|
5097
|
+
@builtins.property
|
|
5098
|
+
def agent_definition(self) -> AgentDefinitionProps:
|
|
5099
|
+
'''(experimental) Agent related parameters.
|
|
5100
|
+
|
|
5101
|
+
:stability: experimental
|
|
5102
|
+
'''
|
|
5103
|
+
result = self._values.get("agent_definition")
|
|
5104
|
+
assert result is not None, "Required property 'agent_definition' is missing"
|
|
5105
|
+
return typing.cast(AgentDefinitionProps, result)
|
|
5106
|
+
|
|
5107
|
+
@builtins.property
|
|
5108
|
+
def agent_name(self) -> builtins.str:
|
|
5109
|
+
'''(experimental) Name of the agent.
|
|
5110
|
+
|
|
5111
|
+
:stability: experimental
|
|
5112
|
+
'''
|
|
5113
|
+
result = self._values.get("agent_name")
|
|
5114
|
+
assert result is not None, "Required property 'agent_name' is missing"
|
|
5115
|
+
return typing.cast(builtins.str, result)
|
|
5116
|
+
|
|
5117
|
+
@builtins.property
|
|
5118
|
+
def enable_observability(self) -> typing.Optional[builtins.bool]:
|
|
5119
|
+
'''(experimental) Enable observability.
|
|
5120
|
+
|
|
5121
|
+
:default: false
|
|
5122
|
+
|
|
5123
|
+
:stability: experimental
|
|
5124
|
+
'''
|
|
5125
|
+
result = self._values.get("enable_observability")
|
|
5126
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4235
5127
|
|
|
4236
5128
|
@builtins.property
|
|
4237
|
-
def
|
|
4238
|
-
'''(experimental)
|
|
5129
|
+
def encryption_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key]:
|
|
5130
|
+
'''(experimental) Encryption key to encrypt agent environment variables.
|
|
4239
5131
|
|
|
4240
|
-
:default:
|
|
5132
|
+
:default: new KMS Key would be created
|
|
4241
5133
|
|
|
4242
5134
|
:stability: experimental
|
|
4243
5135
|
'''
|
|
4244
|
-
result = self._values.get("
|
|
4245
|
-
return typing.cast(typing.Optional[
|
|
5136
|
+
result = self._values.get("encryption_key")
|
|
5137
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key], result)
|
|
4246
5138
|
|
|
4247
5139
|
@builtins.property
|
|
4248
5140
|
def network(self) -> typing.Optional[Network]:
|
|
4249
|
-
'''(experimental)
|
|
5141
|
+
'''(experimental) If the Agent would be running inside a VPC.
|
|
4250
5142
|
|
|
4251
|
-
:default:
|
|
5143
|
+
:default: Agent would not be in a VPC
|
|
4252
5144
|
|
|
4253
5145
|
:stability: experimental
|
|
4254
5146
|
'''
|
|
@@ -4257,7 +5149,7 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
4257
5149
|
|
|
4258
5150
|
@builtins.property
|
|
4259
5151
|
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
4260
|
-
'''(experimental) Removal policy for created
|
|
5152
|
+
'''(experimental) Removal policy for resources created by this construct.
|
|
4261
5153
|
|
|
4262
5154
|
:default: RemovalPolicy.DESTROY
|
|
4263
5155
|
|
|
@@ -4267,15 +5159,21 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
4267
5159
|
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy], result)
|
|
4268
5160
|
|
|
4269
5161
|
@builtins.property
|
|
4270
|
-
def
|
|
4271
|
-
'''
|
|
4272
|
-
|
|
4273
|
-
|
|
5162
|
+
def prompt(self) -> builtins.str:
|
|
5163
|
+
'''
|
|
5164
|
+
:stability: experimental
|
|
5165
|
+
'''
|
|
5166
|
+
result = self._values.get("prompt")
|
|
5167
|
+
assert result is not None, "Required property 'prompt' is missing"
|
|
5168
|
+
return typing.cast(builtins.str, result)
|
|
4274
5169
|
|
|
5170
|
+
@builtins.property
|
|
5171
|
+
def expect_json(self) -> typing.Optional[builtins.bool]:
|
|
5172
|
+
'''
|
|
4275
5173
|
:stability: experimental
|
|
4276
5174
|
'''
|
|
4277
|
-
result = self._values.get("
|
|
4278
|
-
return typing.cast(typing.Optional[
|
|
5175
|
+
result = self._values.get("expect_json")
|
|
5176
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4279
5177
|
|
|
4280
5178
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4281
5179
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -4284,7 +5182,7 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
4284
5182
|
return not (rhs == self)
|
|
4285
5183
|
|
|
4286
5184
|
def __repr__(self) -> str:
|
|
4287
|
-
return "
|
|
5185
|
+
return "BatchAgentProps(%s)" % ", ".join(
|
|
4288
5186
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
4289
5187
|
)
|
|
4290
5188
|
|
|
@@ -4346,15 +5244,13 @@ class BedrockDocumentProcessing(
|
|
|
4346
5244
|
scope: _constructs_77d1e7e8.Construct,
|
|
4347
5245
|
id: builtins.str,
|
|
4348
5246
|
*,
|
|
4349
|
-
|
|
5247
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4350
5248
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
4351
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
4352
5249
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
4353
5250
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
4354
|
-
|
|
5251
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4355
5252
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
4356
5253
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4357
|
-
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
4358
5254
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4359
5255
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4360
5256
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
@@ -4375,15 +5271,13 @@ class BedrockDocumentProcessing(
|
|
|
4375
5271
|
|
|
4376
5272
|
:param scope: - The scope in which to define this construct.
|
|
4377
5273
|
:param id: - The scoped construct ID. Must be unique within the scope.
|
|
4378
|
-
:param
|
|
5274
|
+
:param classification_bedrock_model: (experimental) Bedrock foundation model for document classification step.
|
|
4379
5275
|
:param classification_prompt: (experimental) Custom prompt template for document classification. Must include placeholder for document content. Default: DEFAULT_CLASSIFICATION_PROMPT
|
|
4380
|
-
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
4381
5276
|
:param enrichment_lambda_function: (experimental) Optional Lambda function for document enrichment step. If provided, will be invoked after extraction with workflow state.
|
|
4382
5277
|
:param post_processing_lambda_function: (experimental) Optional Lambda function for post-processing step. If provided, will be invoked after enrichment with workflow state.
|
|
4383
|
-
:param
|
|
5278
|
+
:param processing_bedrock_model: (experimental) Bedrock foundation model for document extraction step.
|
|
4384
5279
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
4385
5280
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
4386
|
-
:param use_cross_region_inference: (experimental) Enable cross-region inference for Bedrock models to improve availability and performance. When enabled, uses inference profiles instead of direct model invocation. Default: false
|
|
4387
5281
|
:param document_processing_table: (experimental) DynamoDB table for storing document processing metadata and workflow state. If not provided, a new table will be created with DocumentId as partition key.
|
|
4388
5282
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
4389
5283
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
@@ -4403,15 +5297,13 @@ class BedrockDocumentProcessing(
|
|
|
4403
5297
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
4404
5298
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
4405
5299
|
props = BedrockDocumentProcessingProps(
|
|
4406
|
-
|
|
5300
|
+
classification_bedrock_model=classification_bedrock_model,
|
|
4407
5301
|
classification_prompt=classification_prompt,
|
|
4408
|
-
cross_region_inference_prefix=cross_region_inference_prefix,
|
|
4409
5302
|
enrichment_lambda_function=enrichment_lambda_function,
|
|
4410
5303
|
post_processing_lambda_function=post_processing_lambda_function,
|
|
4411
|
-
|
|
5304
|
+
processing_bedrock_model=processing_bedrock_model,
|
|
4412
5305
|
processing_prompt=processing_prompt,
|
|
4413
5306
|
step_timeouts=step_timeouts,
|
|
4414
|
-
use_cross_region_inference=use_cross_region_inference,
|
|
4415
5307
|
document_processing_table=document_processing_table,
|
|
4416
5308
|
enable_observability=enable_observability,
|
|
4417
5309
|
encryption_key=encryption_key,
|
|
@@ -4462,20 +5354,30 @@ class BedrockDocumentProcessing(
|
|
|
4462
5354
|
@jsii.member(jsii_name="generateLambdaRoleForBedrock")
|
|
4463
5355
|
def _generate_lambda_role_for_bedrock(
|
|
4464
5356
|
self,
|
|
4465
|
-
fm_model: _aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier,
|
|
4466
5357
|
id: builtins.str,
|
|
5358
|
+
*,
|
|
5359
|
+
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
5360
|
+
fm_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
5361
|
+
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
4467
5362
|
) -> _aws_cdk_aws_iam_ceddda9d.Role:
|
|
4468
5363
|
'''
|
|
4469
|
-
:param fm_model: -
|
|
4470
5364
|
:param id: -
|
|
5365
|
+
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
5366
|
+
:param fm_model_id: (experimental) Foundation model to use. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_SONNET_4_20250514_V1_0
|
|
5367
|
+
:param use_cross_region_inference: (experimental) Enable cross-region inference for Bedrock models to improve availability and performance. When enabled, uses inference profiles instead of direct model invocation. Default: false
|
|
4471
5368
|
|
|
4472
5369
|
:stability: experimental
|
|
4473
5370
|
'''
|
|
4474
5371
|
if __debug__:
|
|
4475
5372
|
type_hints = typing.get_type_hints(_typecheckingstub__b765dc24cd888585470934e534f4d8e979ddebd46e42601cc8b50c73499e7d4e)
|
|
4476
|
-
check_type(argname="argument fm_model", value=fm_model, expected_type=type_hints["fm_model"])
|
|
4477
5373
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
4478
|
-
|
|
5374
|
+
model = BedrockModelProps(
|
|
5375
|
+
cross_region_inference_prefix=cross_region_inference_prefix,
|
|
5376
|
+
fm_model_id=fm_model_id,
|
|
5377
|
+
use_cross_region_inference=use_cross_region_inference,
|
|
5378
|
+
)
|
|
5379
|
+
|
|
5380
|
+
return typing.cast(_aws_cdk_aws_iam_ceddda9d.Role, jsii.invoke(self, "generateLambdaRoleForBedrock", [id, model]))
|
|
4479
5381
|
|
|
4480
5382
|
@jsii.member(jsii_name="postProcessingStep")
|
|
4481
5383
|
def _post_processing_step(
|
|
@@ -4509,16 +5411,6 @@ class BedrockDocumentProcessing(
|
|
|
4509
5411
|
'''
|
|
4510
5412
|
return typing.cast(typing.Union[_aws_cdk_aws_stepfunctions_tasks_ceddda9d.LambdaInvoke, _aws_cdk_aws_stepfunctions_tasks_ceddda9d.BedrockInvokeModel, _aws_cdk_aws_stepfunctions_tasks_ceddda9d.StepFunctionsStartExecution], jsii.invoke(self, "processingStep", []))
|
|
4511
5413
|
|
|
4512
|
-
@jsii.python.classproperty
|
|
4513
|
-
@jsii.member(jsii_name="DEFAULT_CLASSIFICATION_MODEL_ID")
|
|
4514
|
-
def DEFAULT_CLASSIFICATION_MODEL_ID(
|
|
4515
|
-
cls,
|
|
4516
|
-
) -> _aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier:
|
|
4517
|
-
'''
|
|
4518
|
-
:stability: experimental
|
|
4519
|
-
'''
|
|
4520
|
-
return typing.cast(_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier, jsii.sget(cls, "DEFAULT_CLASSIFICATION_MODEL_ID"))
|
|
4521
|
-
|
|
4522
5414
|
@jsii.python.classproperty
|
|
4523
5415
|
@jsii.member(jsii_name="DEFAULT_CLASSIFICATION_PROMPT")
|
|
4524
5416
|
def DEFAULT_CLASSIFICATION_PROMPT(cls) -> builtins.str:
|
|
@@ -4527,16 +5419,6 @@ class BedrockDocumentProcessing(
|
|
|
4527
5419
|
'''
|
|
4528
5420
|
return typing.cast(builtins.str, jsii.sget(cls, "DEFAULT_CLASSIFICATION_PROMPT"))
|
|
4529
5421
|
|
|
4530
|
-
@jsii.python.classproperty
|
|
4531
|
-
@jsii.member(jsii_name="DEFAULT_PROCESSING_MODEL_ID")
|
|
4532
|
-
def DEFAULT_PROCESSING_MODEL_ID(
|
|
4533
|
-
cls,
|
|
4534
|
-
) -> _aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier:
|
|
4535
|
-
'''
|
|
4536
|
-
:stability: experimental
|
|
4537
|
-
'''
|
|
4538
|
-
return typing.cast(_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier, jsii.sget(cls, "DEFAULT_PROCESSING_MODEL_ID"))
|
|
4539
|
-
|
|
4540
5422
|
@jsii.python.classproperty
|
|
4541
5423
|
@jsii.member(jsii_name="DEFAULT_PROCESSING_PROMPT")
|
|
4542
5424
|
def DEFAULT_PROCESSING_PROMPT(cls) -> builtins.str:
|
|
@@ -4554,15 +5436,6 @@ class BedrockDocumentProcessing(
|
|
|
4554
5436
|
'''
|
|
4555
5437
|
return typing.cast("BedrockDocumentProcessingProps", jsii.get(self, "bedrockDocumentProcessingProps"))
|
|
4556
5438
|
|
|
4557
|
-
@builtins.property
|
|
4558
|
-
@jsii.member(jsii_name="crossRegionInferencePrefix")
|
|
4559
|
-
def _cross_region_inference_prefix(self) -> BedrockCrossRegionInferencePrefix:
|
|
4560
|
-
'''(experimental) Cross-region inference prefix for Bedrock model routing.
|
|
4561
|
-
|
|
4562
|
-
:stability: experimental
|
|
4563
|
-
'''
|
|
4564
|
-
return typing.cast(BedrockCrossRegionInferencePrefix, jsii.get(self, "crossRegionInferencePrefix"))
|
|
4565
|
-
|
|
4566
5439
|
@builtins.property
|
|
4567
5440
|
@jsii.member(jsii_name="stateMachine")
|
|
4568
5441
|
def state_machine(self) -> _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine:
|
|
@@ -4588,15 +5461,13 @@ class BedrockDocumentProcessing(
|
|
|
4588
5461
|
"network": "network",
|
|
4589
5462
|
"removal_policy": "removalPolicy",
|
|
4590
5463
|
"workflow_timeout": "workflowTimeout",
|
|
4591
|
-
"
|
|
5464
|
+
"classification_bedrock_model": "classificationBedrockModel",
|
|
4592
5465
|
"classification_prompt": "classificationPrompt",
|
|
4593
|
-
"cross_region_inference_prefix": "crossRegionInferencePrefix",
|
|
4594
5466
|
"enrichment_lambda_function": "enrichmentLambdaFunction",
|
|
4595
5467
|
"post_processing_lambda_function": "postProcessingLambdaFunction",
|
|
4596
|
-
"
|
|
5468
|
+
"processing_bedrock_model": "processingBedrockModel",
|
|
4597
5469
|
"processing_prompt": "processingPrompt",
|
|
4598
5470
|
"step_timeouts": "stepTimeouts",
|
|
4599
|
-
"use_cross_region_inference": "useCrossRegionInference",
|
|
4600
5471
|
},
|
|
4601
5472
|
)
|
|
4602
5473
|
class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
@@ -4614,15 +5485,13 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4614
5485
|
network: typing.Optional[Network] = None,
|
|
4615
5486
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4616
5487
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4617
|
-
|
|
5488
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4618
5489
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
4619
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
4620
5490
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
4621
5491
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
4622
|
-
|
|
5492
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4623
5493
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
4624
5494
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4625
|
-
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
4626
5495
|
) -> None:
|
|
4627
5496
|
'''(experimental) Configuration properties for BedrockDocumentProcessing construct.
|
|
4628
5497
|
|
|
@@ -4639,20 +5508,22 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4639
5508
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
4640
5509
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
4641
5510
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
4642
|
-
:param
|
|
5511
|
+
:param classification_bedrock_model: (experimental) Bedrock foundation model for document classification step.
|
|
4643
5512
|
:param classification_prompt: (experimental) Custom prompt template for document classification. Must include placeholder for document content. Default: DEFAULT_CLASSIFICATION_PROMPT
|
|
4644
|
-
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
4645
5513
|
:param enrichment_lambda_function: (experimental) Optional Lambda function for document enrichment step. If provided, will be invoked after extraction with workflow state.
|
|
4646
5514
|
:param post_processing_lambda_function: (experimental) Optional Lambda function for post-processing step. If provided, will be invoked after enrichment with workflow state.
|
|
4647
|
-
:param
|
|
5515
|
+
:param processing_bedrock_model: (experimental) Bedrock foundation model for document extraction step.
|
|
4648
5516
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
4649
5517
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
4650
|
-
:param use_cross_region_inference: (experimental) Enable cross-region inference for Bedrock models to improve availability and performance. When enabled, uses inference profiles instead of direct model invocation. Default: false
|
|
4651
5518
|
|
|
4652
5519
|
:stability: experimental
|
|
4653
5520
|
'''
|
|
4654
5521
|
if isinstance(log_group_data_protection, dict):
|
|
4655
5522
|
log_group_data_protection = LogGroupDataProtectionProps(**log_group_data_protection)
|
|
5523
|
+
if isinstance(classification_bedrock_model, dict):
|
|
5524
|
+
classification_bedrock_model = BedrockModelProps(**classification_bedrock_model)
|
|
5525
|
+
if isinstance(processing_bedrock_model, dict):
|
|
5526
|
+
processing_bedrock_model = BedrockModelProps(**processing_bedrock_model)
|
|
4656
5527
|
if __debug__:
|
|
4657
5528
|
type_hints = typing.get_type_hints(_typecheckingstub__9606a6418d69bde20176ec33b27eaa22c0e0cdb6b105d382e9d038566f7a29f3)
|
|
4658
5529
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
@@ -4666,15 +5537,13 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4666
5537
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
4667
5538
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
4668
5539
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
4669
|
-
check_type(argname="argument
|
|
5540
|
+
check_type(argname="argument classification_bedrock_model", value=classification_bedrock_model, expected_type=type_hints["classification_bedrock_model"])
|
|
4670
5541
|
check_type(argname="argument classification_prompt", value=classification_prompt, expected_type=type_hints["classification_prompt"])
|
|
4671
|
-
check_type(argname="argument cross_region_inference_prefix", value=cross_region_inference_prefix, expected_type=type_hints["cross_region_inference_prefix"])
|
|
4672
5542
|
check_type(argname="argument enrichment_lambda_function", value=enrichment_lambda_function, expected_type=type_hints["enrichment_lambda_function"])
|
|
4673
5543
|
check_type(argname="argument post_processing_lambda_function", value=post_processing_lambda_function, expected_type=type_hints["post_processing_lambda_function"])
|
|
4674
|
-
check_type(argname="argument
|
|
5544
|
+
check_type(argname="argument processing_bedrock_model", value=processing_bedrock_model, expected_type=type_hints["processing_bedrock_model"])
|
|
4675
5545
|
check_type(argname="argument processing_prompt", value=processing_prompt, expected_type=type_hints["processing_prompt"])
|
|
4676
5546
|
check_type(argname="argument step_timeouts", value=step_timeouts, expected_type=type_hints["step_timeouts"])
|
|
4677
|
-
check_type(argname="argument use_cross_region_inference", value=use_cross_region_inference, expected_type=type_hints["use_cross_region_inference"])
|
|
4678
5547
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
4679
5548
|
if log_group_data_protection is not None:
|
|
4680
5549
|
self._values["log_group_data_protection"] = log_group_data_protection
|
|
@@ -4698,24 +5567,20 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4698
5567
|
self._values["removal_policy"] = removal_policy
|
|
4699
5568
|
if workflow_timeout is not None:
|
|
4700
5569
|
self._values["workflow_timeout"] = workflow_timeout
|
|
4701
|
-
if
|
|
4702
|
-
self._values["
|
|
5570
|
+
if classification_bedrock_model is not None:
|
|
5571
|
+
self._values["classification_bedrock_model"] = classification_bedrock_model
|
|
4703
5572
|
if classification_prompt is not None:
|
|
4704
5573
|
self._values["classification_prompt"] = classification_prompt
|
|
4705
|
-
if cross_region_inference_prefix is not None:
|
|
4706
|
-
self._values["cross_region_inference_prefix"] = cross_region_inference_prefix
|
|
4707
5574
|
if enrichment_lambda_function is not None:
|
|
4708
5575
|
self._values["enrichment_lambda_function"] = enrichment_lambda_function
|
|
4709
5576
|
if post_processing_lambda_function is not None:
|
|
4710
5577
|
self._values["post_processing_lambda_function"] = post_processing_lambda_function
|
|
4711
|
-
if
|
|
4712
|
-
self._values["
|
|
5578
|
+
if processing_bedrock_model is not None:
|
|
5579
|
+
self._values["processing_bedrock_model"] = processing_bedrock_model
|
|
4713
5580
|
if processing_prompt is not None:
|
|
4714
5581
|
self._values["processing_prompt"] = processing_prompt
|
|
4715
5582
|
if step_timeouts is not None:
|
|
4716
5583
|
self._values["step_timeouts"] = step_timeouts
|
|
4717
|
-
if use_cross_region_inference is not None:
|
|
4718
|
-
self._values["use_cross_region_inference"] = use_cross_region_inference
|
|
4719
5584
|
|
|
4720
5585
|
@builtins.property
|
|
4721
5586
|
def log_group_data_protection(self) -> typing.Optional[LogGroupDataProtectionProps]:
|
|
@@ -4841,17 +5706,13 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4841
5706
|
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
4842
5707
|
|
|
4843
5708
|
@builtins.property
|
|
4844
|
-
def
|
|
4845
|
-
self,
|
|
4846
|
-
) -> typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier]:
|
|
5709
|
+
def classification_bedrock_model(self) -> typing.Optional[BedrockModelProps]:
|
|
4847
5710
|
'''(experimental) Bedrock foundation model for document classification step.
|
|
4848
5711
|
|
|
4849
|
-
:default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
4850
|
-
|
|
4851
5712
|
:stability: experimental
|
|
4852
5713
|
'''
|
|
4853
|
-
result = self._values.get("
|
|
4854
|
-
return typing.cast(typing.Optional[
|
|
5714
|
+
result = self._values.get("classification_bedrock_model")
|
|
5715
|
+
return typing.cast(typing.Optional[BedrockModelProps], result)
|
|
4855
5716
|
|
|
4856
5717
|
@builtins.property
|
|
4857
5718
|
def classification_prompt(self) -> typing.Optional[builtins.str]:
|
|
@@ -4866,21 +5727,6 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4866
5727
|
result = self._values.get("classification_prompt")
|
|
4867
5728
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
4868
5729
|
|
|
4869
|
-
@builtins.property
|
|
4870
|
-
def cross_region_inference_prefix(
|
|
4871
|
-
self,
|
|
4872
|
-
) -> typing.Optional[BedrockCrossRegionInferencePrefix]:
|
|
4873
|
-
'''(experimental) Prefix for cross-region inference configuration.
|
|
4874
|
-
|
|
4875
|
-
Only used when useCrossRegionInference is true.
|
|
4876
|
-
|
|
4877
|
-
:default: BedrockCrossRegionInferencePrefix.US
|
|
4878
|
-
|
|
4879
|
-
:stability: experimental
|
|
4880
|
-
'''
|
|
4881
|
-
result = self._values.get("cross_region_inference_prefix")
|
|
4882
|
-
return typing.cast(typing.Optional[BedrockCrossRegionInferencePrefix], result)
|
|
4883
|
-
|
|
4884
5730
|
@builtins.property
|
|
4885
5731
|
def enrichment_lambda_function(
|
|
4886
5732
|
self,
|
|
@@ -4908,17 +5754,13 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4908
5754
|
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function], result)
|
|
4909
5755
|
|
|
4910
5756
|
@builtins.property
|
|
4911
|
-
def
|
|
4912
|
-
self,
|
|
4913
|
-
) -> typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier]:
|
|
5757
|
+
def processing_bedrock_model(self) -> typing.Optional[BedrockModelProps]:
|
|
4914
5758
|
'''(experimental) Bedrock foundation model for document extraction step.
|
|
4915
5759
|
|
|
4916
|
-
:default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
4917
|
-
|
|
4918
5760
|
:stability: experimental
|
|
4919
5761
|
'''
|
|
4920
|
-
result = self._values.get("
|
|
4921
|
-
return typing.cast(typing.Optional[
|
|
5762
|
+
result = self._values.get("processing_bedrock_model")
|
|
5763
|
+
return typing.cast(typing.Optional[BedrockModelProps], result)
|
|
4922
5764
|
|
|
4923
5765
|
@builtins.property
|
|
4924
5766
|
def processing_prompt(self) -> typing.Optional[builtins.str]:
|
|
@@ -4944,19 +5786,6 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4944
5786
|
result = self._values.get("step_timeouts")
|
|
4945
5787
|
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
4946
5788
|
|
|
4947
|
-
@builtins.property
|
|
4948
|
-
def use_cross_region_inference(self) -> typing.Optional[builtins.bool]:
|
|
4949
|
-
'''(experimental) Enable cross-region inference for Bedrock models to improve availability and performance.
|
|
4950
|
-
|
|
4951
|
-
When enabled, uses inference profiles instead of direct model invocation.
|
|
4952
|
-
|
|
4953
|
-
:default: false
|
|
4954
|
-
|
|
4955
|
-
:stability: experimental
|
|
4956
|
-
'''
|
|
4957
|
-
result = self._values.get("use_cross_region_inference")
|
|
4958
|
-
return typing.cast(typing.Optional[builtins.bool], result)
|
|
4959
|
-
|
|
4960
5789
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
4961
5790
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
4962
5791
|
|
|
@@ -4983,16 +5812,14 @@ class AgenticDocumentProcessing(
|
|
|
4983
5812
|
scope: _constructs_77d1e7e8.Construct,
|
|
4984
5813
|
id: builtins.str,
|
|
4985
5814
|
*,
|
|
4986
|
-
processing_agent_parameters: typing.
|
|
4987
|
-
|
|
5815
|
+
processing_agent_parameters: typing.Union[BatchAgentProps, typing.Dict[builtins.str, typing.Any]],
|
|
5816
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4988
5817
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
4989
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
4990
5818
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
4991
5819
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
4992
|
-
|
|
5820
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4993
5821
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
4994
5822
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4995
|
-
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
4996
5823
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4997
5824
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4998
5825
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
@@ -5008,16 +5835,14 @@ class AgenticDocumentProcessing(
|
|
|
5008
5835
|
'''
|
|
5009
5836
|
:param scope: -
|
|
5010
5837
|
:param id: -
|
|
5011
|
-
:param processing_agent_parameters:
|
|
5012
|
-
:param
|
|
5838
|
+
:param processing_agent_parameters: (experimental) This parameter takes precedence over the ``processingBedrockModel`` parameter.
|
|
5839
|
+
:param classification_bedrock_model: (experimental) Bedrock foundation model for document classification step.
|
|
5013
5840
|
:param classification_prompt: (experimental) Custom prompt template for document classification. Must include placeholder for document content. Default: DEFAULT_CLASSIFICATION_PROMPT
|
|
5014
|
-
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
5015
5841
|
:param enrichment_lambda_function: (experimental) Optional Lambda function for document enrichment step. If provided, will be invoked after extraction with workflow state.
|
|
5016
5842
|
:param post_processing_lambda_function: (experimental) Optional Lambda function for post-processing step. If provided, will be invoked after enrichment with workflow state.
|
|
5017
|
-
:param
|
|
5843
|
+
:param processing_bedrock_model: (experimental) Bedrock foundation model for document extraction step.
|
|
5018
5844
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
5019
5845
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
5020
|
-
:param use_cross_region_inference: (experimental) Enable cross-region inference for Bedrock models to improve availability and performance. When enabled, uses inference profiles instead of direct model invocation. Default: false
|
|
5021
5846
|
:param document_processing_table: (experimental) DynamoDB table for storing document processing metadata and workflow state. If not provided, a new table will be created with DocumentId as partition key.
|
|
5022
5847
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
5023
5848
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
@@ -5038,15 +5863,13 @@ class AgenticDocumentProcessing(
|
|
|
5038
5863
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
5039
5864
|
props = AgenticDocumentProcessingProps(
|
|
5040
5865
|
processing_agent_parameters=processing_agent_parameters,
|
|
5041
|
-
|
|
5866
|
+
classification_bedrock_model=classification_bedrock_model,
|
|
5042
5867
|
classification_prompt=classification_prompt,
|
|
5043
|
-
cross_region_inference_prefix=cross_region_inference_prefix,
|
|
5044
5868
|
enrichment_lambda_function=enrichment_lambda_function,
|
|
5045
5869
|
post_processing_lambda_function=post_processing_lambda_function,
|
|
5046
|
-
|
|
5870
|
+
processing_bedrock_model=processing_bedrock_model,
|
|
5047
5871
|
processing_prompt=processing_prompt,
|
|
5048
5872
|
step_timeouts=step_timeouts,
|
|
5049
|
-
use_cross_region_inference=use_cross_region_inference,
|
|
5050
5873
|
document_processing_table=document_processing_table,
|
|
5051
5874
|
enable_observability=enable_observability,
|
|
5052
5875
|
encryption_key=encryption_key,
|
|
@@ -5092,15 +5915,13 @@ class AgenticDocumentProcessing(
|
|
|
5092
5915
|
"network": "network",
|
|
5093
5916
|
"removal_policy": "removalPolicy",
|
|
5094
5917
|
"workflow_timeout": "workflowTimeout",
|
|
5095
|
-
"
|
|
5918
|
+
"classification_bedrock_model": "classificationBedrockModel",
|
|
5096
5919
|
"classification_prompt": "classificationPrompt",
|
|
5097
|
-
"cross_region_inference_prefix": "crossRegionInferencePrefix",
|
|
5098
5920
|
"enrichment_lambda_function": "enrichmentLambdaFunction",
|
|
5099
5921
|
"post_processing_lambda_function": "postProcessingLambdaFunction",
|
|
5100
|
-
"
|
|
5922
|
+
"processing_bedrock_model": "processingBedrockModel",
|
|
5101
5923
|
"processing_prompt": "processingPrompt",
|
|
5102
5924
|
"step_timeouts": "stepTimeouts",
|
|
5103
|
-
"use_cross_region_inference": "useCrossRegionInference",
|
|
5104
5925
|
"processing_agent_parameters": "processingAgentParameters",
|
|
5105
5926
|
},
|
|
5106
5927
|
)
|
|
@@ -5119,16 +5940,14 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5119
5940
|
network: typing.Optional[Network] = None,
|
|
5120
5941
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5121
5942
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5122
|
-
|
|
5943
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5123
5944
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
5124
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
5125
5945
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
5126
5946
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
5127
|
-
|
|
5947
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5128
5948
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
5129
5949
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5130
|
-
|
|
5131
|
-
processing_agent_parameters: typing.Optional[typing.Union[AgentProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5950
|
+
processing_agent_parameters: typing.Union[BatchAgentProps, typing.Dict[builtins.str, typing.Any]],
|
|
5132
5951
|
) -> None:
|
|
5133
5952
|
'''
|
|
5134
5953
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
@@ -5142,23 +5961,25 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5142
5961
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
5143
5962
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
5144
5963
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
5145
|
-
:param
|
|
5964
|
+
:param classification_bedrock_model: (experimental) Bedrock foundation model for document classification step.
|
|
5146
5965
|
:param classification_prompt: (experimental) Custom prompt template for document classification. Must include placeholder for document content. Default: DEFAULT_CLASSIFICATION_PROMPT
|
|
5147
|
-
:param cross_region_inference_prefix: (experimental) Prefix for cross-region inference configuration. Only used when useCrossRegionInference is true. Default: BedrockCrossRegionInferencePrefix.US
|
|
5148
5966
|
:param enrichment_lambda_function: (experimental) Optional Lambda function for document enrichment step. If provided, will be invoked after extraction with workflow state.
|
|
5149
5967
|
:param post_processing_lambda_function: (experimental) Optional Lambda function for post-processing step. If provided, will be invoked after enrichment with workflow state.
|
|
5150
|
-
:param
|
|
5968
|
+
:param processing_bedrock_model: (experimental) Bedrock foundation model for document extraction step.
|
|
5151
5969
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
5152
5970
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
5153
|
-
:param
|
|
5154
|
-
:param processing_agent_parameters:
|
|
5971
|
+
:param processing_agent_parameters: (experimental) This parameter takes precedence over the ``processingBedrockModel`` parameter.
|
|
5155
5972
|
|
|
5156
5973
|
:stability: experimental
|
|
5157
5974
|
'''
|
|
5158
5975
|
if isinstance(log_group_data_protection, dict):
|
|
5159
5976
|
log_group_data_protection = LogGroupDataProtectionProps(**log_group_data_protection)
|
|
5977
|
+
if isinstance(classification_bedrock_model, dict):
|
|
5978
|
+
classification_bedrock_model = BedrockModelProps(**classification_bedrock_model)
|
|
5979
|
+
if isinstance(processing_bedrock_model, dict):
|
|
5980
|
+
processing_bedrock_model = BedrockModelProps(**processing_bedrock_model)
|
|
5160
5981
|
if isinstance(processing_agent_parameters, dict):
|
|
5161
|
-
processing_agent_parameters =
|
|
5982
|
+
processing_agent_parameters = BatchAgentProps(**processing_agent_parameters)
|
|
5162
5983
|
if __debug__:
|
|
5163
5984
|
type_hints = typing.get_type_hints(_typecheckingstub__da9ccab0035a06d18b5aa3f2de69201b3bbd6e30f7707a291977a0e4f83a72f4)
|
|
5164
5985
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
@@ -5172,17 +5993,17 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5172
5993
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
5173
5994
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
5174
5995
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
5175
|
-
check_type(argname="argument
|
|
5996
|
+
check_type(argname="argument classification_bedrock_model", value=classification_bedrock_model, expected_type=type_hints["classification_bedrock_model"])
|
|
5176
5997
|
check_type(argname="argument classification_prompt", value=classification_prompt, expected_type=type_hints["classification_prompt"])
|
|
5177
|
-
check_type(argname="argument cross_region_inference_prefix", value=cross_region_inference_prefix, expected_type=type_hints["cross_region_inference_prefix"])
|
|
5178
5998
|
check_type(argname="argument enrichment_lambda_function", value=enrichment_lambda_function, expected_type=type_hints["enrichment_lambda_function"])
|
|
5179
5999
|
check_type(argname="argument post_processing_lambda_function", value=post_processing_lambda_function, expected_type=type_hints["post_processing_lambda_function"])
|
|
5180
|
-
check_type(argname="argument
|
|
6000
|
+
check_type(argname="argument processing_bedrock_model", value=processing_bedrock_model, expected_type=type_hints["processing_bedrock_model"])
|
|
5181
6001
|
check_type(argname="argument processing_prompt", value=processing_prompt, expected_type=type_hints["processing_prompt"])
|
|
5182
6002
|
check_type(argname="argument step_timeouts", value=step_timeouts, expected_type=type_hints["step_timeouts"])
|
|
5183
|
-
check_type(argname="argument use_cross_region_inference", value=use_cross_region_inference, expected_type=type_hints["use_cross_region_inference"])
|
|
5184
6003
|
check_type(argname="argument processing_agent_parameters", value=processing_agent_parameters, expected_type=type_hints["processing_agent_parameters"])
|
|
5185
|
-
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6004
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
6005
|
+
"processing_agent_parameters": processing_agent_parameters,
|
|
6006
|
+
}
|
|
5186
6007
|
if log_group_data_protection is not None:
|
|
5187
6008
|
self._values["log_group_data_protection"] = log_group_data_protection
|
|
5188
6009
|
if metric_namespace is not None:
|
|
@@ -5205,26 +6026,20 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5205
6026
|
self._values["removal_policy"] = removal_policy
|
|
5206
6027
|
if workflow_timeout is not None:
|
|
5207
6028
|
self._values["workflow_timeout"] = workflow_timeout
|
|
5208
|
-
if
|
|
5209
|
-
self._values["
|
|
6029
|
+
if classification_bedrock_model is not None:
|
|
6030
|
+
self._values["classification_bedrock_model"] = classification_bedrock_model
|
|
5210
6031
|
if classification_prompt is not None:
|
|
5211
6032
|
self._values["classification_prompt"] = classification_prompt
|
|
5212
|
-
if cross_region_inference_prefix is not None:
|
|
5213
|
-
self._values["cross_region_inference_prefix"] = cross_region_inference_prefix
|
|
5214
6033
|
if enrichment_lambda_function is not None:
|
|
5215
6034
|
self._values["enrichment_lambda_function"] = enrichment_lambda_function
|
|
5216
6035
|
if post_processing_lambda_function is not None:
|
|
5217
6036
|
self._values["post_processing_lambda_function"] = post_processing_lambda_function
|
|
5218
|
-
if
|
|
5219
|
-
self._values["
|
|
6037
|
+
if processing_bedrock_model is not None:
|
|
6038
|
+
self._values["processing_bedrock_model"] = processing_bedrock_model
|
|
5220
6039
|
if processing_prompt is not None:
|
|
5221
6040
|
self._values["processing_prompt"] = processing_prompt
|
|
5222
6041
|
if step_timeouts is not None:
|
|
5223
6042
|
self._values["step_timeouts"] = step_timeouts
|
|
5224
|
-
if use_cross_region_inference is not None:
|
|
5225
|
-
self._values["use_cross_region_inference"] = use_cross_region_inference
|
|
5226
|
-
if processing_agent_parameters is not None:
|
|
5227
|
-
self._values["processing_agent_parameters"] = processing_agent_parameters
|
|
5228
6043
|
|
|
5229
6044
|
@builtins.property
|
|
5230
6045
|
def log_group_data_protection(self) -> typing.Optional[LogGroupDataProtectionProps]:
|
|
@@ -5350,17 +6165,13 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5350
6165
|
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
5351
6166
|
|
|
5352
6167
|
@builtins.property
|
|
5353
|
-
def
|
|
5354
|
-
self,
|
|
5355
|
-
) -> typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier]:
|
|
6168
|
+
def classification_bedrock_model(self) -> typing.Optional[BedrockModelProps]:
|
|
5356
6169
|
'''(experimental) Bedrock foundation model for document classification step.
|
|
5357
6170
|
|
|
5358
|
-
:default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
5359
|
-
|
|
5360
6171
|
:stability: experimental
|
|
5361
6172
|
'''
|
|
5362
|
-
result = self._values.get("
|
|
5363
|
-
return typing.cast(typing.Optional[
|
|
6173
|
+
result = self._values.get("classification_bedrock_model")
|
|
6174
|
+
return typing.cast(typing.Optional[BedrockModelProps], result)
|
|
5364
6175
|
|
|
5365
6176
|
@builtins.property
|
|
5366
6177
|
def classification_prompt(self) -> typing.Optional[builtins.str]:
|
|
@@ -5375,21 +6186,6 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5375
6186
|
result = self._values.get("classification_prompt")
|
|
5376
6187
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
5377
6188
|
|
|
5378
|
-
@builtins.property
|
|
5379
|
-
def cross_region_inference_prefix(
|
|
5380
|
-
self,
|
|
5381
|
-
) -> typing.Optional[BedrockCrossRegionInferencePrefix]:
|
|
5382
|
-
'''(experimental) Prefix for cross-region inference configuration.
|
|
5383
|
-
|
|
5384
|
-
Only used when useCrossRegionInference is true.
|
|
5385
|
-
|
|
5386
|
-
:default: BedrockCrossRegionInferencePrefix.US
|
|
5387
|
-
|
|
5388
|
-
:stability: experimental
|
|
5389
|
-
'''
|
|
5390
|
-
result = self._values.get("cross_region_inference_prefix")
|
|
5391
|
-
return typing.cast(typing.Optional[BedrockCrossRegionInferencePrefix], result)
|
|
5392
|
-
|
|
5393
6189
|
@builtins.property
|
|
5394
6190
|
def enrichment_lambda_function(
|
|
5395
6191
|
self,
|
|
@@ -5417,17 +6213,13 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5417
6213
|
return typing.cast(typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function], result)
|
|
5418
6214
|
|
|
5419
6215
|
@builtins.property
|
|
5420
|
-
def
|
|
5421
|
-
self,
|
|
5422
|
-
) -> typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier]:
|
|
6216
|
+
def processing_bedrock_model(self) -> typing.Optional[BedrockModelProps]:
|
|
5423
6217
|
'''(experimental) Bedrock foundation model for document extraction step.
|
|
5424
6218
|
|
|
5425
|
-
:default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
5426
|
-
|
|
5427
6219
|
:stability: experimental
|
|
5428
6220
|
'''
|
|
5429
|
-
result = self._values.get("
|
|
5430
|
-
return typing.cast(typing.Optional[
|
|
6221
|
+
result = self._values.get("processing_bedrock_model")
|
|
6222
|
+
return typing.cast(typing.Optional[BedrockModelProps], result)
|
|
5431
6223
|
|
|
5432
6224
|
@builtins.property
|
|
5433
6225
|
def processing_prompt(self) -> typing.Optional[builtins.str]:
|
|
@@ -5454,25 +6246,14 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
5454
6246
|
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
5455
6247
|
|
|
5456
6248
|
@builtins.property
|
|
5457
|
-
def
|
|
5458
|
-
'''(experimental)
|
|
5459
|
-
|
|
5460
|
-
When enabled, uses inference profiles instead of direct model invocation.
|
|
5461
|
-
|
|
5462
|
-
:default: false
|
|
6249
|
+
def processing_agent_parameters(self) -> BatchAgentProps:
|
|
6250
|
+
'''(experimental) This parameter takes precedence over the ``processingBedrockModel`` parameter.
|
|
5463
6251
|
|
|
5464
|
-
:stability: experimental
|
|
5465
|
-
'''
|
|
5466
|
-
result = self._values.get("use_cross_region_inference")
|
|
5467
|
-
return typing.cast(typing.Optional[builtins.bool], result)
|
|
5468
|
-
|
|
5469
|
-
@builtins.property
|
|
5470
|
-
def processing_agent_parameters(self) -> typing.Optional[AgentProps]:
|
|
5471
|
-
'''
|
|
5472
6252
|
:stability: experimental
|
|
5473
6253
|
'''
|
|
5474
6254
|
result = self._values.get("processing_agent_parameters")
|
|
5475
|
-
|
|
6255
|
+
assert result is not None, "Required property 'processing_agent_parameters' is missing"
|
|
6256
|
+
return typing.cast(BatchAgentProps, result)
|
|
5476
6257
|
|
|
5477
6258
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
5478
6259
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
@@ -5490,20 +6271,28 @@ __all__ = [
|
|
|
5490
6271
|
"AccessLog",
|
|
5491
6272
|
"AccessLogProps",
|
|
5492
6273
|
"AdditionalDistributionProps",
|
|
5493
|
-
"
|
|
6274
|
+
"AgentDefinitionProps",
|
|
6275
|
+
"AgentToolsLocationDefinition",
|
|
5494
6276
|
"AgenticDocumentProcessing",
|
|
5495
6277
|
"AgenticDocumentProcessingProps",
|
|
6278
|
+
"BaseAgent",
|
|
6279
|
+
"BaseAgentProps",
|
|
5496
6280
|
"BaseDocumentProcessing",
|
|
5497
6281
|
"BaseDocumentProcessingProps",
|
|
6282
|
+
"BatchAgent",
|
|
6283
|
+
"BatchAgentProps",
|
|
5498
6284
|
"BedrockCrossRegionInferencePrefix",
|
|
5499
6285
|
"BedrockDocumentProcessing",
|
|
5500
6286
|
"BedrockDocumentProcessingProps",
|
|
6287
|
+
"BedrockModelProps",
|
|
6288
|
+
"BedrockModelUtils",
|
|
5501
6289
|
"CloudfrontDistributionObservabilityPropertyInjector",
|
|
5502
6290
|
"CustomDomainConfig",
|
|
5503
6291
|
"DataLoader",
|
|
5504
6292
|
"DataLoaderProps",
|
|
5505
6293
|
"DatabaseConfig",
|
|
5506
6294
|
"DatabaseEngine",
|
|
6295
|
+
"DefaultAgentConfig",
|
|
5507
6296
|
"DefaultDocumentProcessingConfig",
|
|
5508
6297
|
"DefaultObservabilityConfig",
|
|
5509
6298
|
"DefaultRuntimes",
|
|
@@ -5521,6 +6310,7 @@ __all__ = [
|
|
|
5521
6310
|
"LambdaLogsPermissionsResult",
|
|
5522
6311
|
"LambdaObservabilityPropertyInjector",
|
|
5523
6312
|
"LogGroupDataProtectionProps",
|
|
6313
|
+
"LogGroupDataProtectionUtils",
|
|
5524
6314
|
"Network",
|
|
5525
6315
|
"NetworkProps",
|
|
5526
6316
|
"ObservableProps",
|
|
@@ -5578,12 +6368,78 @@ def _typecheckingstub__14d3ed5928e5166082cd47a907ab754473c20bb045dc424135b469081
|
|
|
5578
6368
|
"""Type checking stubs"""
|
|
5579
6369
|
pass
|
|
5580
6370
|
|
|
5581
|
-
def
|
|
6371
|
+
def _typecheckingstub__4a2d1deab0cc9bf96473ffb32138a2c564c47ae7382fe5d2d1f0e43da3324272(
|
|
5582
6372
|
*,
|
|
5583
|
-
|
|
6373
|
+
bedrock_model: typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]],
|
|
6374
|
+
system_prompt: _aws_cdk_aws_s3_assets_ceddda9d.Asset,
|
|
6375
|
+
additional_policy_statements_for_tools: typing.Optional[typing.Sequence[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]] = None,
|
|
5584
6376
|
lambda_layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]] = None,
|
|
5585
|
-
|
|
5586
|
-
|
|
6377
|
+
tools: typing.Optional[typing.Sequence[_aws_cdk_aws_s3_assets_ceddda9d.Asset]] = None,
|
|
6378
|
+
) -> None:
|
|
6379
|
+
"""Type checking stubs"""
|
|
6380
|
+
pass
|
|
6381
|
+
|
|
6382
|
+
def _typecheckingstub__127edbe188000e5bd850f207a22867fb37ca32772d05138c8caeec887b302f84(
|
|
6383
|
+
*,
|
|
6384
|
+
bucket_name: builtins.str,
|
|
6385
|
+
is_file: builtins.bool,
|
|
6386
|
+
is_zip_archive: builtins.bool,
|
|
6387
|
+
key: builtins.str,
|
|
6388
|
+
) -> None:
|
|
6389
|
+
"""Type checking stubs"""
|
|
6390
|
+
pass
|
|
6391
|
+
|
|
6392
|
+
def _typecheckingstub__71b734ed2750632299f59fd7513ccde0ee5f9974b68f8c52b53e2255cdee86ff(
|
|
6393
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6394
|
+
id: builtins.str,
|
|
6395
|
+
*,
|
|
6396
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
6397
|
+
agent_name: builtins.str,
|
|
6398
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6399
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
6400
|
+
network: typing.Optional[Network] = None,
|
|
6401
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6402
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6403
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
6404
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
6405
|
+
) -> None:
|
|
6406
|
+
"""Type checking stubs"""
|
|
6407
|
+
pass
|
|
6408
|
+
|
|
6409
|
+
def _typecheckingstub__c2677306b18b77c5114d824ae734b83ac837c5ea4a5b8805948f0388f1dd7995(
|
|
6410
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6411
|
+
id: builtins.str,
|
|
6412
|
+
*,
|
|
6413
|
+
prompt: builtins.str,
|
|
6414
|
+
expect_json: typing.Optional[builtins.bool] = None,
|
|
6415
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
6416
|
+
agent_name: builtins.str,
|
|
6417
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6418
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
6419
|
+
network: typing.Optional[Network] = None,
|
|
6420
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6421
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6422
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
6423
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
6424
|
+
) -> None:
|
|
6425
|
+
"""Type checking stubs"""
|
|
6426
|
+
pass
|
|
6427
|
+
|
|
6428
|
+
def _typecheckingstub__e45242c855c6631d66b287b02966cc10c7006e63b282779a6fdb35ce0a2a7a67(
|
|
6429
|
+
*,
|
|
6430
|
+
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
6431
|
+
fm_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
6432
|
+
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
6433
|
+
) -> None:
|
|
6434
|
+
"""Type checking stubs"""
|
|
6435
|
+
pass
|
|
6436
|
+
|
|
6437
|
+
def _typecheckingstub__c2d6dd904193a96951d351d9b9f88371b9b85f9f44a00b0cbdbfba9f24849527(
|
|
6438
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6439
|
+
*,
|
|
6440
|
+
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
6441
|
+
fm_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
6442
|
+
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
5587
6443
|
) -> None:
|
|
5588
6444
|
"""Type checking stubs"""
|
|
5589
6445
|
pass
|
|
@@ -5890,6 +6746,14 @@ def _typecheckingstub__544372751dab1bedee4ed043bef50312abd2658c1142e4b4809c06171
|
|
|
5890
6746
|
"""Type checking stubs"""
|
|
5891
6747
|
pass
|
|
5892
6748
|
|
|
6749
|
+
def _typecheckingstub__e3a45e54ca44da7f036d13ce54f925e2a16d4e1ae6f2df04d64a1f10ca0133f0(
|
|
6750
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6751
|
+
props: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6752
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6753
|
+
) -> None:
|
|
6754
|
+
"""Type checking stubs"""
|
|
6755
|
+
pass
|
|
6756
|
+
|
|
5893
6757
|
def _typecheckingstub__6ad9a3df68ffea56f493c494b7c642fca53d11a7de99864bb5e94dffe00ed330(
|
|
5894
6758
|
scope: _constructs_77d1e7e8.Construct,
|
|
5895
6759
|
id: builtins.str,
|
|
@@ -6022,6 +6886,21 @@ def _typecheckingstub__011b55520774139b52c951d9cc59273f686e377b5415ee42a57650da5
|
|
|
6022
6886
|
"""Type checking stubs"""
|
|
6023
6887
|
pass
|
|
6024
6888
|
|
|
6889
|
+
def _typecheckingstub__feb650555d9014f75886d26d16787c0c2e83a042e7e61844bf4d21c890ce479c(
|
|
6890
|
+
*,
|
|
6891
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6892
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
6893
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
6894
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
6895
|
+
agent_name: builtins.str,
|
|
6896
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6897
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
6898
|
+
network: typing.Optional[Network] = None,
|
|
6899
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6900
|
+
) -> None:
|
|
6901
|
+
"""Type checking stubs"""
|
|
6902
|
+
pass
|
|
6903
|
+
|
|
6025
6904
|
def _typecheckingstub__117c249a26f3e7532983afc9123fadff3e20effcc69408df0f45a03eb720ea8a(
|
|
6026
6905
|
scope: _constructs_77d1e7e8.Construct,
|
|
6027
6906
|
id: builtins.str,
|
|
@@ -6064,19 +6943,34 @@ def _typecheckingstub__75e07bce24d48571be58cad69f751b10a17a738fdb9db601acdc689ff
|
|
|
6064
6943
|
"""Type checking stubs"""
|
|
6065
6944
|
pass
|
|
6066
6945
|
|
|
6946
|
+
def _typecheckingstub__30511d5990f52f2808903d144bad5a5c502c00b0b8c98b4fd52a3df61c18b19d(
|
|
6947
|
+
*,
|
|
6948
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6949
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
6950
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
6951
|
+
agent_definition: typing.Union[AgentDefinitionProps, typing.Dict[builtins.str, typing.Any]],
|
|
6952
|
+
agent_name: builtins.str,
|
|
6953
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6954
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
6955
|
+
network: typing.Optional[Network] = None,
|
|
6956
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6957
|
+
prompt: builtins.str,
|
|
6958
|
+
expect_json: typing.Optional[builtins.bool] = None,
|
|
6959
|
+
) -> None:
|
|
6960
|
+
"""Type checking stubs"""
|
|
6961
|
+
pass
|
|
6962
|
+
|
|
6067
6963
|
def _typecheckingstub__7393f9c6b2af93f7d8668b32cec54ba8c77259644ab01f57b3fbd50c78923134(
|
|
6068
6964
|
scope: _constructs_77d1e7e8.Construct,
|
|
6069
6965
|
id: builtins.str,
|
|
6070
6966
|
*,
|
|
6071
|
-
|
|
6967
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6072
6968
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
6073
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
6074
6969
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6075
6970
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6076
|
-
|
|
6971
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6077
6972
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
6078
6973
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6079
|
-
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
6080
6974
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
6081
6975
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6082
6976
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
@@ -6093,8 +6987,11 @@ def _typecheckingstub__7393f9c6b2af93f7d8668b32cec54ba8c77259644ab01f57b3fbd50c7
|
|
|
6093
6987
|
pass
|
|
6094
6988
|
|
|
6095
6989
|
def _typecheckingstub__b765dc24cd888585470934e534f4d8e979ddebd46e42601cc8b50c73499e7d4e(
|
|
6096
|
-
fm_model: _aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier,
|
|
6097
6990
|
id: builtins.str,
|
|
6991
|
+
*,
|
|
6992
|
+
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
6993
|
+
fm_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
6994
|
+
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
6098
6995
|
) -> None:
|
|
6099
6996
|
"""Type checking stubs"""
|
|
6100
6997
|
pass
|
|
@@ -6112,15 +7009,13 @@ def _typecheckingstub__9606a6418d69bde20176ec33b27eaa22c0e0cdb6b105d382e9d038566
|
|
|
6112
7009
|
network: typing.Optional[Network] = None,
|
|
6113
7010
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6114
7011
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6115
|
-
|
|
7012
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6116
7013
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
6117
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
6118
7014
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6119
7015
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6120
|
-
|
|
7016
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6121
7017
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
6122
7018
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6123
|
-
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
6124
7019
|
) -> None:
|
|
6125
7020
|
"""Type checking stubs"""
|
|
6126
7021
|
pass
|
|
@@ -6129,16 +7024,14 @@ def _typecheckingstub__b7f396236f637ec7234d81b355cf773497392b537455f3d888c4b7170
|
|
|
6129
7024
|
scope: _constructs_77d1e7e8.Construct,
|
|
6130
7025
|
id: builtins.str,
|
|
6131
7026
|
*,
|
|
6132
|
-
processing_agent_parameters: typing.
|
|
6133
|
-
|
|
7027
|
+
processing_agent_parameters: typing.Union[BatchAgentProps, typing.Dict[builtins.str, typing.Any]],
|
|
7028
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6134
7029
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
6135
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
6136
7030
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6137
7031
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6138
|
-
|
|
7032
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6139
7033
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
6140
7034
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6141
|
-
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
6142
7035
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
6143
7036
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6144
7037
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
@@ -6167,16 +7060,14 @@ def _typecheckingstub__da9ccab0035a06d18b5aa3f2de69201b3bbd6e30f7707a291977a0e4f
|
|
|
6167
7060
|
network: typing.Optional[Network] = None,
|
|
6168
7061
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6169
7062
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6170
|
-
|
|
7063
|
+
classification_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6171
7064
|
classification_prompt: typing.Optional[builtins.str] = None,
|
|
6172
|
-
cross_region_inference_prefix: typing.Optional[BedrockCrossRegionInferencePrefix] = None,
|
|
6173
7065
|
enrichment_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6174
7066
|
post_processing_lambda_function: typing.Optional[_aws_cdk_aws_lambda_ceddda9d.Function] = None,
|
|
6175
|
-
|
|
7067
|
+
processing_bedrock_model: typing.Optional[typing.Union[BedrockModelProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6176
7068
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
6177
7069
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6178
|
-
|
|
6179
|
-
processing_agent_parameters: typing.Optional[typing.Union[AgentProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
7070
|
+
processing_agent_parameters: typing.Union[BatchAgentProps, typing.Dict[builtins.str, typing.Any]],
|
|
6180
7071
|
) -> None:
|
|
6181
7072
|
"""Type checking stubs"""
|
|
6182
7073
|
pass
|