appmod-catalog-blueprints 1.0.0__py3-none-any.whl → 1.1.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 +1082 -399
- appmod_catalog_blueprints/_jsii/__init__.py +2 -2
- appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.1.0.jsii.tgz +0 -0
- {appmod_catalog_blueprints-1.0.0.dist-info → appmod_catalog_blueprints-1.1.0.dist-info}/METADATA +7 -7
- appmod_catalog_blueprints-1.1.0.dist-info/RECORD +9 -0
- appmod_catalog_blueprints/_jsii/cdk-appmod-catalog-blueprints@1.0.0.jsii.tgz +0 -0
- appmod_catalog_blueprints-1.0.0.dist-info/RECORD +0 -9
- {appmod_catalog_blueprints-1.0.0.dist-info → appmod_catalog_blueprints-1.1.0.dist-info}/LICENSE +0 -0
- {appmod_catalog_blueprints-1.0.0.dist-info → appmod_catalog_blueprints-1.1.0.dist-info}/WHEEL +0 -0
- {appmod_catalog_blueprints-1.0.0.dist-info → appmod_catalog_blueprints-1.1.0.dist-info}/top_level.txt +0 -0
|
@@ -281,7 +281,6 @@ import aws_cdk.aws_s3 as _aws_cdk_aws_s3_ceddda9d
|
|
|
281
281
|
import aws_cdk.aws_s3_assets as _aws_cdk_aws_s3_assets_ceddda9d
|
|
282
282
|
import aws_cdk.aws_s3_deployment as _aws_cdk_aws_s3_deployment_ceddda9d
|
|
283
283
|
import aws_cdk.aws_secretsmanager as _aws_cdk_aws_secretsmanager_ceddda9d
|
|
284
|
-
import aws_cdk.aws_sqs as _aws_cdk_aws_sqs_ceddda9d
|
|
285
284
|
import aws_cdk.aws_stepfunctions as _aws_cdk_aws_stepfunctions_ceddda9d
|
|
286
285
|
import aws_cdk.aws_stepfunctions_tasks as _aws_cdk_aws_stepfunctions_tasks_ceddda9d
|
|
287
286
|
import aws_cdk.custom_resources as _aws_cdk_custom_resources_ceddda9d
|
|
@@ -612,6 +611,7 @@ class AdditionalDistributionProps:
|
|
|
612
611
|
name_mapping={
|
|
613
612
|
"agent_system_prompt": "agentSystemPrompt",
|
|
614
613
|
"lambda_layers": "lambdaLayers",
|
|
614
|
+
"tools_bucket": "toolsBucket",
|
|
615
615
|
"tools_location": "toolsLocation",
|
|
616
616
|
},
|
|
617
617
|
)
|
|
@@ -621,12 +621,14 @@ class AgentProps:
|
|
|
621
621
|
*,
|
|
622
622
|
agent_system_prompt: typing.Optional[builtins.str] = None,
|
|
623
623
|
lambda_layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]] = None,
|
|
624
|
+
tools_bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
624
625
|
tools_location: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
625
626
|
) -> None:
|
|
626
627
|
'''
|
|
627
|
-
:param agent_system_prompt:
|
|
628
|
-
:param lambda_layers:
|
|
629
|
-
:param
|
|
628
|
+
:param agent_system_prompt: (experimental) System prompt for the agent.
|
|
629
|
+
:param lambda_layers: (experimental) If there are python dependencies that are needed by the provided tools, provide the Lambda Layers with the dependencies.
|
|
630
|
+
:param tools_bucket: (experimental) Bucket where the tools are located in Primarily use to grant read permission to the processing agent to access the tools. Default: No extra IAM permissions would be automatically assigned to the processing agent.
|
|
631
|
+
:param tools_location: (experimental) S3 path where the tools are located. The agent would dynamically load the tools
|
|
630
632
|
|
|
631
633
|
:stability: experimental
|
|
632
634
|
'''
|
|
@@ -634,18 +636,22 @@ class AgentProps:
|
|
|
634
636
|
type_hints = typing.get_type_hints(_typecheckingstub__e1a82500ee072f393cd9a2ada2f9a3434219c7a51186f26fbba3061bd896d11e)
|
|
635
637
|
check_type(argname="argument agent_system_prompt", value=agent_system_prompt, expected_type=type_hints["agent_system_prompt"])
|
|
636
638
|
check_type(argname="argument lambda_layers", value=lambda_layers, expected_type=type_hints["lambda_layers"])
|
|
639
|
+
check_type(argname="argument tools_bucket", value=tools_bucket, expected_type=type_hints["tools_bucket"])
|
|
637
640
|
check_type(argname="argument tools_location", value=tools_location, expected_type=type_hints["tools_location"])
|
|
638
641
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
639
642
|
if agent_system_prompt is not None:
|
|
640
643
|
self._values["agent_system_prompt"] = agent_system_prompt
|
|
641
644
|
if lambda_layers is not None:
|
|
642
645
|
self._values["lambda_layers"] = lambda_layers
|
|
646
|
+
if tools_bucket is not None:
|
|
647
|
+
self._values["tools_bucket"] = tools_bucket
|
|
643
648
|
if tools_location is not None:
|
|
644
649
|
self._values["tools_location"] = tools_location
|
|
645
650
|
|
|
646
651
|
@builtins.property
|
|
647
652
|
def agent_system_prompt(self) -> typing.Optional[builtins.str]:
|
|
648
|
-
'''
|
|
653
|
+
'''(experimental) System prompt for the agent.
|
|
654
|
+
|
|
649
655
|
:stability: experimental
|
|
650
656
|
'''
|
|
651
657
|
result = self._values.get("agent_system_prompt")
|
|
@@ -655,15 +661,33 @@ class AgentProps:
|
|
|
655
661
|
def lambda_layers(
|
|
656
662
|
self,
|
|
657
663
|
) -> typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]]:
|
|
658
|
-
'''
|
|
664
|
+
'''(experimental) If there are python dependencies that are needed by the provided tools, provide the Lambda Layers with the dependencies.
|
|
665
|
+
|
|
659
666
|
:stability: experimental
|
|
660
667
|
'''
|
|
661
668
|
result = self._values.get("lambda_layers")
|
|
662
669
|
return typing.cast(typing.Optional[typing.List[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]], result)
|
|
663
670
|
|
|
664
671
|
@builtins.property
|
|
665
|
-
def
|
|
672
|
+
def tools_bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
673
|
+
'''(experimental) Bucket where the tools are located in Primarily use to grant read permission to the processing agent to access the tools.
|
|
674
|
+
|
|
675
|
+
:default:
|
|
676
|
+
|
|
677
|
+
No extra IAM permissions would be automatically
|
|
678
|
+
assigned to the processing agent.
|
|
679
|
+
|
|
680
|
+
:stability: experimental
|
|
666
681
|
'''
|
|
682
|
+
result = self._values.get("tools_bucket")
|
|
683
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
684
|
+
|
|
685
|
+
@builtins.property
|
|
686
|
+
def tools_location(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
687
|
+
'''(experimental) S3 path where the tools are located.
|
|
688
|
+
|
|
689
|
+
The agent would dynamically load the tools
|
|
690
|
+
|
|
667
691
|
:stability: experimental
|
|
668
692
|
'''
|
|
669
693
|
result = self._values.get("tools_location")
|
|
@@ -1240,6 +1264,54 @@ class DatabaseEngine(enum.Enum):
|
|
|
1240
1264
|
'''
|
|
1241
1265
|
|
|
1242
1266
|
|
|
1267
|
+
class DefaultDocumentProcessingConfig(
|
|
1268
|
+
metaclass=jsii.JSIIMeta,
|
|
1269
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.DefaultDocumentProcessingConfig",
|
|
1270
|
+
):
|
|
1271
|
+
'''
|
|
1272
|
+
:stability: experimental
|
|
1273
|
+
'''
|
|
1274
|
+
|
|
1275
|
+
def __init__(self) -> None:
|
|
1276
|
+
'''
|
|
1277
|
+
:stability: experimental
|
|
1278
|
+
'''
|
|
1279
|
+
jsii.create(self.__class__, self, [])
|
|
1280
|
+
|
|
1281
|
+
@jsii.python.classproperty
|
|
1282
|
+
@jsii.member(jsii_name="DEFAULT_OBSERVABILITY_METRIC_SVC_NAME")
|
|
1283
|
+
def DEFAULT_OBSERVABILITY_METRIC_SVC_NAME(cls) -> builtins.str:
|
|
1284
|
+
'''
|
|
1285
|
+
:stability: experimental
|
|
1286
|
+
'''
|
|
1287
|
+
return typing.cast(builtins.str, jsii.sget(cls, "DEFAULT_OBSERVABILITY_METRIC_SVC_NAME"))
|
|
1288
|
+
|
|
1289
|
+
|
|
1290
|
+
class DefaultObservabilityConfig(
|
|
1291
|
+
metaclass=jsii.JSIIMeta,
|
|
1292
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.DefaultObservabilityConfig",
|
|
1293
|
+
):
|
|
1294
|
+
'''(experimental) Contains default constants for Observability related configuration.
|
|
1295
|
+
|
|
1296
|
+
:stability: experimental
|
|
1297
|
+
'''
|
|
1298
|
+
|
|
1299
|
+
def __init__(self) -> None:
|
|
1300
|
+
'''
|
|
1301
|
+
:stability: experimental
|
|
1302
|
+
'''
|
|
1303
|
+
jsii.create(self.__class__, self, [])
|
|
1304
|
+
|
|
1305
|
+
@jsii.python.classproperty
|
|
1306
|
+
@jsii.member(jsii_name="DEFAULT_METRIC_NAMESPACE")
|
|
1307
|
+
def DEFAULT_METRIC_NAMESPACE(cls) -> builtins.str:
|
|
1308
|
+
'''(experimental) Default namespace for powertools.
|
|
1309
|
+
|
|
1310
|
+
:stability: experimental
|
|
1311
|
+
'''
|
|
1312
|
+
return typing.cast(builtins.str, jsii.sget(cls, "DEFAULT_METRIC_NAMESPACE"))
|
|
1313
|
+
|
|
1314
|
+
|
|
1243
1315
|
class DefaultRuntimes(
|
|
1244
1316
|
metaclass=jsii.JSIIMeta,
|
|
1245
1317
|
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.DefaultRuntimes",
|
|
@@ -1296,36 +1368,6 @@ class DefaultRuntimes(
|
|
|
1296
1368
|
return typing.cast(_aws_cdk_aws_lambda_python_alpha_49328424.BundlingOptions, jsii.sget(cls, "PYTHON_FUNCTION_BUNDLING"))
|
|
1297
1369
|
|
|
1298
1370
|
|
|
1299
|
-
@jsii.enum(jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.DocumentProcessingPrefix")
|
|
1300
|
-
class DocumentProcessingPrefix(enum.Enum):
|
|
1301
|
-
'''(experimental) S3 prefix constants for organizing documents throughout the processing lifecycle.
|
|
1302
|
-
|
|
1303
|
-
Documents flow through these prefixes based on processing outcomes:
|
|
1304
|
-
|
|
1305
|
-
- Upload → raw/ (triggers processing)
|
|
1306
|
-
- Success → processed/ (workflow completed successfully)
|
|
1307
|
-
- Failure → failed/ (workflow encountered errors)
|
|
1308
|
-
|
|
1309
|
-
:stability: experimental
|
|
1310
|
-
'''
|
|
1311
|
-
|
|
1312
|
-
RAW = "RAW"
|
|
1313
|
-
'''(experimental) Prefix for newly uploaded documents awaiting processing.
|
|
1314
|
-
|
|
1315
|
-
:stability: experimental
|
|
1316
|
-
'''
|
|
1317
|
-
FAILED = "FAILED"
|
|
1318
|
-
'''(experimental) Prefix for documents that failed processing.
|
|
1319
|
-
|
|
1320
|
-
:stability: experimental
|
|
1321
|
-
'''
|
|
1322
|
-
PROCESSED = "PROCESSED"
|
|
1323
|
-
'''(experimental) Prefix for successfully processed documents.
|
|
1324
|
-
|
|
1325
|
-
:stability: experimental
|
|
1326
|
-
'''
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
1371
|
class EventbridgeBroker(
|
|
1330
1372
|
_constructs_77d1e7e8.Construct,
|
|
1331
1373
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1929,156 +1971,476 @@ class FrontendProps:
|
|
|
1929
1971
|
)
|
|
1930
1972
|
|
|
1931
1973
|
|
|
1932
|
-
@jsii.interface(jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.
|
|
1933
|
-
class
|
|
1934
|
-
'''(experimental)
|
|
1974
|
+
@jsii.interface(jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.IAdapter")
|
|
1975
|
+
class IAdapter(typing_extensions.Protocol):
|
|
1976
|
+
'''(experimental) Abstraction to enable different types of source triggers for the intelligent document processing workflow.
|
|
1935
1977
|
|
|
1936
1978
|
:stability: experimental
|
|
1937
1979
|
'''
|
|
1938
1980
|
|
|
1939
|
-
@
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
'''
|
|
1945
|
-
|
|
1981
|
+
@jsii.member(jsii_name="createFailedChain")
|
|
1982
|
+
def create_failed_chain(
|
|
1983
|
+
self,
|
|
1984
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1985
|
+
) -> _aws_cdk_aws_stepfunctions_ceddda9d.Chain:
|
|
1986
|
+
'''(experimental) Create the adapter specific handler for failed processing.
|
|
1987
|
+
|
|
1988
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
1989
|
+
|
|
1990
|
+
:return: Chain to be added to the state machine to handle failure scenarios
|
|
1946
1991
|
|
|
1947
|
-
@builtins.property
|
|
1948
|
-
@jsii.member(jsii_name="metricNamespace")
|
|
1949
|
-
def metric_namespace(self) -> builtins.str:
|
|
1950
|
-
'''
|
|
1951
1992
|
:stability: experimental
|
|
1952
1993
|
'''
|
|
1953
1994
|
...
|
|
1954
1995
|
|
|
1955
|
-
@
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1996
|
+
@jsii.member(jsii_name="createIngressTrigger")
|
|
1997
|
+
def create_ingress_trigger(
|
|
1998
|
+
self,
|
|
1999
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2000
|
+
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
2001
|
+
*,
|
|
2002
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
2003
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
2004
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
2005
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
2006
|
+
ingress_adapter: typing.Optional["IAdapter"] = None,
|
|
2007
|
+
network: typing.Optional["Network"] = None,
|
|
2008
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
2009
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2010
|
+
log_group_data_protection: typing.Optional[typing.Union["LogGroupDataProtectionProps", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2011
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
2012
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
2013
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2014
|
+
'''(experimental) Create resources that would receive the data and trigger the workflow.
|
|
2015
|
+
|
|
2016
|
+
Important: resource created should trigger the state machine
|
|
2017
|
+
|
|
2018
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
2019
|
+
:param state_machine: The workflow of the document processor.
|
|
2020
|
+
: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.
|
|
2021
|
+
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
2022
|
+
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
2023
|
+
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
2024
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
2025
|
+
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
2026
|
+
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
2027
|
+
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
2028
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
2029
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
2030
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
2031
|
+
|
|
2032
|
+
:return: Resources that are created
|
|
2033
|
+
|
|
1959
2034
|
:stability: experimental
|
|
1960
2035
|
'''
|
|
1961
2036
|
...
|
|
1962
2037
|
|
|
1963
|
-
@jsii.member(jsii_name="
|
|
1964
|
-
def
|
|
1965
|
-
|
|
2038
|
+
@jsii.member(jsii_name="createSuccessChain")
|
|
2039
|
+
def create_success_chain(
|
|
2040
|
+
self,
|
|
2041
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2042
|
+
) -> _aws_cdk_aws_stepfunctions_ceddda9d.Chain:
|
|
2043
|
+
'''(experimental) Create the adapter specific handler for successful processing.
|
|
2044
|
+
|
|
2045
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
2046
|
+
|
|
2047
|
+
:return: Chain to be added to the state machine to handle successful scenarios
|
|
2048
|
+
|
|
1966
2049
|
:stability: experimental
|
|
1967
2050
|
'''
|
|
1968
2051
|
...
|
|
1969
2052
|
|
|
2053
|
+
@jsii.member(jsii_name="generateAdapterIAMPolicies")
|
|
2054
|
+
def generate_adapter_iam_policies(
|
|
2055
|
+
self,
|
|
2056
|
+
additional_iam_actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2057
|
+
narrow_actions: typing.Optional[builtins.bool] = None,
|
|
2058
|
+
) -> typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]:
|
|
2059
|
+
'''(experimental) Generate IAM statements that can be used by other resources to access the storage.
|
|
1970
2060
|
|
|
1971
|
-
|
|
1972
|
-
|
|
2061
|
+
:param additional_iam_actions: (Optional) list of additional actions in relation to the underlying storage for the adapter.
|
|
2062
|
+
:param narrow_actions: (Optional) whether the resulting permissions would only be the IAM actions indicated in the ``additionalIAMActions`` parameter.
|
|
1973
2063
|
|
|
1974
|
-
|
|
1975
|
-
'''
|
|
2064
|
+
:default: false
|
|
1976
2065
|
|
|
1977
|
-
|
|
2066
|
+
:return: PolicyStatement[] IAM policy statements that would included in the state machine IAM role
|
|
1978
2067
|
|
|
1979
|
-
@builtins.property
|
|
1980
|
-
@jsii.member(jsii_name="logGroupDataProtection")
|
|
1981
|
-
def log_group_data_protection(self) -> "LogGroupDataProtectionProps":
|
|
1982
|
-
'''
|
|
1983
2068
|
:stability: experimental
|
|
1984
2069
|
'''
|
|
1985
|
-
|
|
2070
|
+
...
|
|
1986
2071
|
|
|
1987
|
-
@
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
2072
|
+
@jsii.member(jsii_name="init")
|
|
2073
|
+
def init(
|
|
2074
|
+
self,
|
|
2075
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2076
|
+
*,
|
|
2077
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
2078
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
2079
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
2080
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
2081
|
+
ingress_adapter: typing.Optional["IAdapter"] = None,
|
|
2082
|
+
network: typing.Optional["Network"] = None,
|
|
2083
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
2084
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2085
|
+
log_group_data_protection: typing.Optional[typing.Union["LogGroupDataProtectionProps", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2086
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
2087
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
2088
|
+
) -> None:
|
|
2089
|
+
'''(experimental) Initializes the adapter.
|
|
1994
2090
|
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
:
|
|
2000
|
-
|
|
2001
|
-
|
|
2091
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
2092
|
+
: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.
|
|
2093
|
+
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
2094
|
+
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
2095
|
+
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
2096
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
2097
|
+
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
2098
|
+
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
2099
|
+
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
2100
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
2101
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
2102
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
2002
2103
|
|
|
2003
|
-
@jsii.member(jsii_name="metrics")
|
|
2004
|
-
def metrics(self) -> typing.List[_aws_cdk_aws_cloudwatch_ceddda9d.IMetric]:
|
|
2005
|
-
'''
|
|
2006
2104
|
:stability: experimental
|
|
2007
2105
|
'''
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
2011
|
-
typing.cast(typing.Any, IObservable).__jsii_proxy_class__ = lambda : _IObservableProxy
|
|
2106
|
+
...
|
|
2012
2107
|
|
|
2013
2108
|
|
|
2014
|
-
class
|
|
2015
|
-
|
|
2016
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.LambdaIamUtils",
|
|
2017
|
-
):
|
|
2018
|
-
'''(experimental) Utility class for creating secure Lambda IAM policy statements with minimal permissions.
|
|
2109
|
+
class _IAdapterProxy:
|
|
2110
|
+
'''(experimental) Abstraction to enable different types of source triggers for the intelligent document processing workflow.
|
|
2019
2111
|
|
|
2020
2112
|
:stability: experimental
|
|
2021
2113
|
'''
|
|
2022
2114
|
|
|
2023
|
-
|
|
2024
|
-
'''
|
|
2025
|
-
:stability: experimental
|
|
2026
|
-
'''
|
|
2027
|
-
jsii.create(self.__class__, self, [])
|
|
2115
|
+
__jsii_type__: typing.ClassVar[str] = "@cdklabs/cdk-appmod-catalog-blueprints.IAdapter"
|
|
2028
2116
|
|
|
2029
|
-
@jsii.member(jsii_name="
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
|
|
2035
|
-
) -> _aws_cdk_aws_iam_ceddda9d.PolicyStatement:
|
|
2036
|
-
'''(experimental) Creates a policy statement for DynamoDB table access.
|
|
2117
|
+
@jsii.member(jsii_name="createFailedChain")
|
|
2118
|
+
def create_failed_chain(
|
|
2119
|
+
self,
|
|
2120
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2121
|
+
) -> _aws_cdk_aws_stepfunctions_ceddda9d.Chain:
|
|
2122
|
+
'''(experimental) Create the adapter specific handler for failed processing.
|
|
2037
2123
|
|
|
2038
|
-
:param
|
|
2039
|
-
:param actions: The DynamoDB actions to allow.
|
|
2124
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
2040
2125
|
|
|
2041
|
-
:return:
|
|
2126
|
+
:return: Chain to be added to the state machine to handle failure scenarios
|
|
2042
2127
|
|
|
2043
2128
|
:stability: experimental
|
|
2044
2129
|
'''
|
|
2045
2130
|
if __debug__:
|
|
2046
|
-
type_hints = typing.get_type_hints(
|
|
2047
|
-
check_type(argname="argument
|
|
2048
|
-
|
|
2049
|
-
return typing.cast(_aws_cdk_aws_iam_ceddda9d.PolicyStatement, jsii.sinvoke(cls, "createDynamoDbPolicyStatement", [table_arn, actions]))
|
|
2131
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5998f6c7e16512d92cd00097e77d737333304685208eb36a522c156f8378a9e7)
|
|
2132
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2133
|
+
return typing.cast(_aws_cdk_aws_stepfunctions_ceddda9d.Chain, jsii.invoke(self, "createFailedChain", [scope]))
|
|
2050
2134
|
|
|
2051
|
-
@jsii.member(jsii_name="
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2135
|
+
@jsii.member(jsii_name="createIngressTrigger")
|
|
2136
|
+
def create_ingress_trigger(
|
|
2137
|
+
self,
|
|
2138
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2139
|
+
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
2140
|
+
*,
|
|
2141
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
2142
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
2143
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
2144
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
2145
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
2146
|
+
network: typing.Optional["Network"] = None,
|
|
2147
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
2148
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2149
|
+
log_group_data_protection: typing.Optional[typing.Union["LogGroupDataProtectionProps", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2150
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
2151
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
2152
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2153
|
+
'''(experimental) Create resources that would receive the data and trigger the workflow.
|
|
2059
2154
|
|
|
2060
|
-
:
|
|
2061
|
-
:param actions: The KMS actions to allow.
|
|
2155
|
+
Important: resource created should trigger the state machine
|
|
2062
2156
|
|
|
2063
|
-
:
|
|
2157
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
2158
|
+
:param state_machine: The workflow of the document processor.
|
|
2159
|
+
: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.
|
|
2160
|
+
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
2161
|
+
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
2162
|
+
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
2163
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
2164
|
+
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
2165
|
+
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
2166
|
+
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
2167
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
2168
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
2169
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
2170
|
+
|
|
2171
|
+
:return: Resources that are created
|
|
2064
2172
|
|
|
2065
2173
|
:stability: experimental
|
|
2066
2174
|
'''
|
|
2067
2175
|
if __debug__:
|
|
2068
|
-
type_hints = typing.get_type_hints(
|
|
2069
|
-
check_type(argname="argument
|
|
2070
|
-
check_type(argname="argument
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2176
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b61e74ddd8982f4b30ae59307c9fb3adaff26122ddc7f5faabc2cc8e1e2da034)
|
|
2177
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2178
|
+
check_type(argname="argument state_machine", value=state_machine, expected_type=type_hints["state_machine"])
|
|
2179
|
+
props = BaseDocumentProcessingProps(
|
|
2180
|
+
document_processing_table=document_processing_table,
|
|
2181
|
+
enable_observability=enable_observability,
|
|
2182
|
+
encryption_key=encryption_key,
|
|
2183
|
+
eventbridge_broker=eventbridge_broker,
|
|
2184
|
+
ingress_adapter=ingress_adapter,
|
|
2185
|
+
network=network,
|
|
2186
|
+
removal_policy=removal_policy,
|
|
2187
|
+
workflow_timeout=workflow_timeout,
|
|
2188
|
+
log_group_data_protection=log_group_data_protection,
|
|
2189
|
+
metric_namespace=metric_namespace,
|
|
2190
|
+
metric_service_name=metric_service_name,
|
|
2191
|
+
)
|
|
2192
|
+
|
|
2193
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "createIngressTrigger", [scope, state_machine, props]))
|
|
2194
|
+
|
|
2195
|
+
@jsii.member(jsii_name="createSuccessChain")
|
|
2196
|
+
def create_success_chain(
|
|
2197
|
+
self,
|
|
2198
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2199
|
+
) -> _aws_cdk_aws_stepfunctions_ceddda9d.Chain:
|
|
2200
|
+
'''(experimental) Create the adapter specific handler for successful processing.
|
|
2201
|
+
|
|
2202
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
2203
|
+
|
|
2204
|
+
:return: Chain to be added to the state machine to handle successful scenarios
|
|
2205
|
+
|
|
2206
|
+
:stability: experimental
|
|
2207
|
+
'''
|
|
2208
|
+
if __debug__:
|
|
2209
|
+
type_hints = typing.get_type_hints(_typecheckingstub__cd0aad7a5879633fca8d89cbf92e8f5a13e31615116036f29a82a58c1bb4727d)
|
|
2210
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2211
|
+
return typing.cast(_aws_cdk_aws_stepfunctions_ceddda9d.Chain, jsii.invoke(self, "createSuccessChain", [scope]))
|
|
2212
|
+
|
|
2213
|
+
@jsii.member(jsii_name="generateAdapterIAMPolicies")
|
|
2214
|
+
def generate_adapter_iam_policies(
|
|
2215
|
+
self,
|
|
2216
|
+
additional_iam_actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2217
|
+
narrow_actions: typing.Optional[builtins.bool] = None,
|
|
2218
|
+
) -> typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]:
|
|
2219
|
+
'''(experimental) Generate IAM statements that can be used by other resources to access the storage.
|
|
2220
|
+
|
|
2221
|
+
:param additional_iam_actions: (Optional) list of additional actions in relation to the underlying storage for the adapter.
|
|
2222
|
+
:param narrow_actions: (Optional) whether the resulting permissions would only be the IAM actions indicated in the ``additionalIAMActions`` parameter.
|
|
2223
|
+
|
|
2224
|
+
:default: false
|
|
2225
|
+
|
|
2226
|
+
:return: PolicyStatement[] IAM policy statements that would included in the state machine IAM role
|
|
2227
|
+
|
|
2228
|
+
:stability: experimental
|
|
2229
|
+
'''
|
|
2230
|
+
if __debug__:
|
|
2231
|
+
type_hints = typing.get_type_hints(_typecheckingstub__82a45114a0ff76d4b9d091edd6674d4e762dc5ca19631d61579cf1aa47e30b5e)
|
|
2232
|
+
check_type(argname="argument additional_iam_actions", value=additional_iam_actions, expected_type=type_hints["additional_iam_actions"])
|
|
2233
|
+
check_type(argname="argument narrow_actions", value=narrow_actions, expected_type=type_hints["narrow_actions"])
|
|
2234
|
+
return typing.cast(typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement], jsii.invoke(self, "generateAdapterIAMPolicies", [additional_iam_actions, narrow_actions]))
|
|
2235
|
+
|
|
2236
|
+
@jsii.member(jsii_name="init")
|
|
2237
|
+
def init(
|
|
2238
|
+
self,
|
|
2239
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2240
|
+
*,
|
|
2241
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
2242
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
2243
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
2244
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
2245
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
2246
|
+
network: typing.Optional["Network"] = None,
|
|
2247
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
2248
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
2249
|
+
log_group_data_protection: typing.Optional[typing.Union["LogGroupDataProtectionProps", typing.Dict[builtins.str, typing.Any]]] = None,
|
|
2250
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
2251
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
2252
|
+
) -> None:
|
|
2253
|
+
'''(experimental) Initializes the adapter.
|
|
2254
|
+
|
|
2255
|
+
:param scope: Scope to use in relation to the CDK hierarchy.
|
|
2256
|
+
: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.
|
|
2257
|
+
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
2258
|
+
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
2259
|
+
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
2260
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
2261
|
+
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
2262
|
+
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
2263
|
+
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
2264
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
2265
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
2266
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
2267
|
+
|
|
2268
|
+
:stability: experimental
|
|
2269
|
+
'''
|
|
2270
|
+
if __debug__:
|
|
2271
|
+
type_hints = typing.get_type_hints(_typecheckingstub__17f7e7f35ea8e49cf6ded248435aa1e1dcf416e61c549f3e7b74baad3ac399e7)
|
|
2272
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2273
|
+
props = BaseDocumentProcessingProps(
|
|
2274
|
+
document_processing_table=document_processing_table,
|
|
2275
|
+
enable_observability=enable_observability,
|
|
2276
|
+
encryption_key=encryption_key,
|
|
2277
|
+
eventbridge_broker=eventbridge_broker,
|
|
2278
|
+
ingress_adapter=ingress_adapter,
|
|
2279
|
+
network=network,
|
|
2280
|
+
removal_policy=removal_policy,
|
|
2281
|
+
workflow_timeout=workflow_timeout,
|
|
2282
|
+
log_group_data_protection=log_group_data_protection,
|
|
2283
|
+
metric_namespace=metric_namespace,
|
|
2284
|
+
metric_service_name=metric_service_name,
|
|
2285
|
+
)
|
|
2286
|
+
|
|
2287
|
+
return typing.cast(None, jsii.invoke(self, "init", [scope, props]))
|
|
2288
|
+
|
|
2289
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
2290
|
+
typing.cast(typing.Any, IAdapter).__jsii_proxy_class__ = lambda : _IAdapterProxy
|
|
2291
|
+
|
|
2292
|
+
|
|
2293
|
+
@jsii.interface(jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.IObservable")
|
|
2294
|
+
class IObservable(typing_extensions.Protocol):
|
|
2295
|
+
'''(experimental) Interface providing configuration parameters for constructs that support Observability.
|
|
2296
|
+
|
|
2297
|
+
:stability: experimental
|
|
2298
|
+
'''
|
|
2299
|
+
|
|
2300
|
+
@builtins.property
|
|
2301
|
+
@jsii.member(jsii_name="logGroupDataProtection")
|
|
2302
|
+
def log_group_data_protection(self) -> "LogGroupDataProtectionProps":
|
|
2303
|
+
'''
|
|
2304
|
+
:stability: experimental
|
|
2305
|
+
'''
|
|
2306
|
+
...
|
|
2307
|
+
|
|
2308
|
+
@builtins.property
|
|
2309
|
+
@jsii.member(jsii_name="metricNamespace")
|
|
2310
|
+
def metric_namespace(self) -> builtins.str:
|
|
2311
|
+
'''
|
|
2312
|
+
:stability: experimental
|
|
2313
|
+
'''
|
|
2314
|
+
...
|
|
2315
|
+
|
|
2316
|
+
@builtins.property
|
|
2317
|
+
@jsii.member(jsii_name="metricServiceName")
|
|
2318
|
+
def metric_service_name(self) -> builtins.str:
|
|
2319
|
+
'''
|
|
2320
|
+
:stability: experimental
|
|
2321
|
+
'''
|
|
2322
|
+
...
|
|
2323
|
+
|
|
2324
|
+
@jsii.member(jsii_name="metrics")
|
|
2325
|
+
def metrics(self) -> typing.List[_aws_cdk_aws_cloudwatch_ceddda9d.IMetric]:
|
|
2326
|
+
'''
|
|
2327
|
+
:stability: experimental
|
|
2328
|
+
'''
|
|
2329
|
+
...
|
|
2330
|
+
|
|
2331
|
+
|
|
2332
|
+
class _IObservableProxy:
|
|
2333
|
+
'''(experimental) Interface providing configuration parameters for constructs that support Observability.
|
|
2334
|
+
|
|
2335
|
+
:stability: experimental
|
|
2336
|
+
'''
|
|
2337
|
+
|
|
2338
|
+
__jsii_type__: typing.ClassVar[str] = "@cdklabs/cdk-appmod-catalog-blueprints.IObservable"
|
|
2339
|
+
|
|
2340
|
+
@builtins.property
|
|
2341
|
+
@jsii.member(jsii_name="logGroupDataProtection")
|
|
2342
|
+
def log_group_data_protection(self) -> "LogGroupDataProtectionProps":
|
|
2343
|
+
'''
|
|
2344
|
+
:stability: experimental
|
|
2345
|
+
'''
|
|
2346
|
+
return typing.cast("LogGroupDataProtectionProps", jsii.get(self, "logGroupDataProtection"))
|
|
2347
|
+
|
|
2348
|
+
@builtins.property
|
|
2349
|
+
@jsii.member(jsii_name="metricNamespace")
|
|
2350
|
+
def metric_namespace(self) -> builtins.str:
|
|
2351
|
+
'''
|
|
2352
|
+
:stability: experimental
|
|
2353
|
+
'''
|
|
2354
|
+
return typing.cast(builtins.str, jsii.get(self, "metricNamespace"))
|
|
2355
|
+
|
|
2356
|
+
@builtins.property
|
|
2357
|
+
@jsii.member(jsii_name="metricServiceName")
|
|
2358
|
+
def metric_service_name(self) -> builtins.str:
|
|
2359
|
+
'''
|
|
2360
|
+
:stability: experimental
|
|
2361
|
+
'''
|
|
2362
|
+
return typing.cast(builtins.str, jsii.get(self, "metricServiceName"))
|
|
2363
|
+
|
|
2364
|
+
@jsii.member(jsii_name="metrics")
|
|
2365
|
+
def metrics(self) -> typing.List[_aws_cdk_aws_cloudwatch_ceddda9d.IMetric]:
|
|
2366
|
+
'''
|
|
2367
|
+
:stability: experimental
|
|
2368
|
+
'''
|
|
2369
|
+
return typing.cast(typing.List[_aws_cdk_aws_cloudwatch_ceddda9d.IMetric], jsii.invoke(self, "metrics", []))
|
|
2370
|
+
|
|
2371
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
2372
|
+
typing.cast(typing.Any, IObservable).__jsii_proxy_class__ = lambda : _IObservableProxy
|
|
2373
|
+
|
|
2374
|
+
|
|
2375
|
+
class LambdaIamUtils(
|
|
2376
|
+
metaclass=jsii.JSIIMeta,
|
|
2377
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.LambdaIamUtils",
|
|
2378
|
+
):
|
|
2379
|
+
'''(experimental) Utility class for creating secure Lambda IAM policy statements with minimal permissions.
|
|
2380
|
+
|
|
2381
|
+
:stability: experimental
|
|
2382
|
+
'''
|
|
2383
|
+
|
|
2384
|
+
def __init__(self) -> None:
|
|
2385
|
+
'''
|
|
2386
|
+
:stability: experimental
|
|
2387
|
+
'''
|
|
2388
|
+
jsii.create(self.__class__, self, [])
|
|
2389
|
+
|
|
2390
|
+
@jsii.member(jsii_name="createDynamoDbPolicyStatement")
|
|
2391
|
+
@builtins.classmethod
|
|
2392
|
+
def create_dynamo_db_policy_statement(
|
|
2393
|
+
cls,
|
|
2394
|
+
table_arn: builtins.str,
|
|
2395
|
+
actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2396
|
+
) -> _aws_cdk_aws_iam_ceddda9d.PolicyStatement:
|
|
2397
|
+
'''(experimental) Creates a policy statement for DynamoDB table access.
|
|
2398
|
+
|
|
2399
|
+
:param table_arn: The ARN of the DynamoDB table.
|
|
2400
|
+
:param actions: The DynamoDB actions to allow.
|
|
2401
|
+
|
|
2402
|
+
:return: PolicyStatement for DynamoDB access
|
|
2403
|
+
|
|
2404
|
+
:stability: experimental
|
|
2405
|
+
'''
|
|
2406
|
+
if __debug__:
|
|
2407
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8fea74c9846ad0c5bdddcbfe10063247cb7bcf58aac91e0be80d1226246784e4)
|
|
2408
|
+
check_type(argname="argument table_arn", value=table_arn, expected_type=type_hints["table_arn"])
|
|
2409
|
+
check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
|
|
2410
|
+
return typing.cast(_aws_cdk_aws_iam_ceddda9d.PolicyStatement, jsii.sinvoke(cls, "createDynamoDbPolicyStatement", [table_arn, actions]))
|
|
2411
|
+
|
|
2412
|
+
@jsii.member(jsii_name="createKmsPolicyStatement")
|
|
2413
|
+
@builtins.classmethod
|
|
2414
|
+
def create_kms_policy_statement(
|
|
2415
|
+
cls,
|
|
2416
|
+
key_arn: builtins.str,
|
|
2417
|
+
actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2418
|
+
) -> _aws_cdk_aws_iam_ceddda9d.PolicyStatement:
|
|
2419
|
+
'''(experimental) Creates a policy statement for KMS key access.
|
|
2420
|
+
|
|
2421
|
+
:param key_arn: The ARN of the KMS key.
|
|
2422
|
+
:param actions: The KMS actions to allow.
|
|
2423
|
+
|
|
2424
|
+
:return: PolicyStatement for KMS access
|
|
2425
|
+
|
|
2426
|
+
:stability: experimental
|
|
2427
|
+
'''
|
|
2428
|
+
if __debug__:
|
|
2429
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ef86294be8c776ba98bebc269fab82304f75649efab35cf030d999168ba5d690)
|
|
2430
|
+
check_type(argname="argument key_arn", value=key_arn, expected_type=type_hints["key_arn"])
|
|
2431
|
+
check_type(argname="argument actions", value=actions, expected_type=type_hints["actions"])
|
|
2432
|
+
return typing.cast(_aws_cdk_aws_iam_ceddda9d.PolicyStatement, jsii.sinvoke(cls, "createKmsPolicyStatement", [key_arn, actions]))
|
|
2433
|
+
|
|
2434
|
+
@jsii.member(jsii_name="createLogsPermissions")
|
|
2435
|
+
@builtins.classmethod
|
|
2436
|
+
def create_logs_permissions(
|
|
2437
|
+
cls,
|
|
2438
|
+
*,
|
|
2439
|
+
account: builtins.str,
|
|
2440
|
+
function_name: builtins.str,
|
|
2080
2441
|
region: builtins.str,
|
|
2081
2442
|
scope: _constructs_77d1e7e8.Construct,
|
|
2443
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
2082
2444
|
log_group_name: typing.Optional[builtins.str] = None,
|
|
2083
2445
|
) -> "LambdaLogsPermissionsResult":
|
|
2084
2446
|
'''(experimental) Creates CloudWatch Logs policy statements for Lambda execution.
|
|
@@ -2087,6 +2449,7 @@ class LambdaIamUtils(
|
|
|
2087
2449
|
:param function_name: (experimental) The base name of the Lambda function.
|
|
2088
2450
|
:param region: (experimental) AWS region for the log group ARN.
|
|
2089
2451
|
:param scope: (experimental) The construct scope (used to generate unique names).
|
|
2452
|
+
:param enable_observability: (experimental) Whether observability is enabled or not. This would have an impact on the result IAM policy for the LogGroup for the Lambda function Default: false
|
|
2090
2453
|
:param log_group_name: (experimental) Custom log group name pattern. Default: '/aws/lambda/{uniqueFunctionName}'
|
|
2091
2454
|
|
|
2092
2455
|
:return: Object containing policy statements and the unique function name
|
|
@@ -2098,6 +2461,7 @@ class LambdaIamUtils(
|
|
|
2098
2461
|
function_name=function_name,
|
|
2099
2462
|
region=region,
|
|
2100
2463
|
scope=scope,
|
|
2464
|
+
enable_observability=enable_observability,
|
|
2101
2465
|
log_group_name=log_group_name,
|
|
2102
2466
|
)
|
|
2103
2467
|
|
|
@@ -2293,6 +2657,14 @@ class LambdaIamUtils(
|
|
|
2293
2657
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2294
2658
|
return typing.cast("LambdaIamUtilsStackInfo", jsii.sinvoke(cls, "getStackInfo", [scope]))
|
|
2295
2659
|
|
|
2660
|
+
@jsii.python.classproperty
|
|
2661
|
+
@jsii.member(jsii_name="OBSERVABILITY_SUFFIX")
|
|
2662
|
+
def OBSERVABILITY_SUFFIX(cls) -> builtins.str:
|
|
2663
|
+
'''
|
|
2664
|
+
:stability: experimental
|
|
2665
|
+
'''
|
|
2666
|
+
return typing.cast(builtins.str, jsii.sget(cls, "OBSERVABILITY_SUFFIX"))
|
|
2667
|
+
|
|
2296
2668
|
|
|
2297
2669
|
@jsii.data_type(
|
|
2298
2670
|
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.LambdaIamUtilsStackInfo",
|
|
@@ -2355,6 +2727,7 @@ class LambdaIamUtilsStackInfo:
|
|
|
2355
2727
|
"function_name": "functionName",
|
|
2356
2728
|
"region": "region",
|
|
2357
2729
|
"scope": "scope",
|
|
2730
|
+
"enable_observability": "enableObservability",
|
|
2358
2731
|
"log_group_name": "logGroupName",
|
|
2359
2732
|
},
|
|
2360
2733
|
)
|
|
@@ -2366,6 +2739,7 @@ class LambdaLogsPermissionsProps:
|
|
|
2366
2739
|
function_name: builtins.str,
|
|
2367
2740
|
region: builtins.str,
|
|
2368
2741
|
scope: _constructs_77d1e7e8.Construct,
|
|
2742
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
2369
2743
|
log_group_name: typing.Optional[builtins.str] = None,
|
|
2370
2744
|
) -> None:
|
|
2371
2745
|
'''(experimental) Configuration options for Lambda CloudWatch Logs permissions.
|
|
@@ -2374,6 +2748,7 @@ class LambdaLogsPermissionsProps:
|
|
|
2374
2748
|
:param function_name: (experimental) The base name of the Lambda function.
|
|
2375
2749
|
:param region: (experimental) AWS region for the log group ARN.
|
|
2376
2750
|
:param scope: (experimental) The construct scope (used to generate unique names).
|
|
2751
|
+
:param enable_observability: (experimental) Whether observability is enabled or not. This would have an impact on the result IAM policy for the LogGroup for the Lambda function Default: false
|
|
2377
2752
|
:param log_group_name: (experimental) Custom log group name pattern. Default: '/aws/lambda/{uniqueFunctionName}'
|
|
2378
2753
|
|
|
2379
2754
|
:stability: experimental
|
|
@@ -2384,6 +2759,7 @@ class LambdaLogsPermissionsProps:
|
|
|
2384
2759
|
check_type(argname="argument function_name", value=function_name, expected_type=type_hints["function_name"])
|
|
2385
2760
|
check_type(argname="argument region", value=region, expected_type=type_hints["region"])
|
|
2386
2761
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2762
|
+
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
2387
2763
|
check_type(argname="argument log_group_name", value=log_group_name, expected_type=type_hints["log_group_name"])
|
|
2388
2764
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2389
2765
|
"account": account,
|
|
@@ -2391,6 +2767,8 @@ class LambdaLogsPermissionsProps:
|
|
|
2391
2767
|
"region": region,
|
|
2392
2768
|
"scope": scope,
|
|
2393
2769
|
}
|
|
2770
|
+
if enable_observability is not None:
|
|
2771
|
+
self._values["enable_observability"] = enable_observability
|
|
2394
2772
|
if log_group_name is not None:
|
|
2395
2773
|
self._values["log_group_name"] = log_group_name
|
|
2396
2774
|
|
|
@@ -2434,6 +2812,20 @@ class LambdaLogsPermissionsProps:
|
|
|
2434
2812
|
assert result is not None, "Required property 'scope' is missing"
|
|
2435
2813
|
return typing.cast(_constructs_77d1e7e8.Construct, result)
|
|
2436
2814
|
|
|
2815
|
+
@builtins.property
|
|
2816
|
+
def enable_observability(self) -> typing.Optional[builtins.bool]:
|
|
2817
|
+
'''(experimental) Whether observability is enabled or not.
|
|
2818
|
+
|
|
2819
|
+
This would have an impact
|
|
2820
|
+
on the result IAM policy for the LogGroup for the Lambda function
|
|
2821
|
+
|
|
2822
|
+
:default: false
|
|
2823
|
+
|
|
2824
|
+
:stability: experimental
|
|
2825
|
+
'''
|
|
2826
|
+
result = self._values.get("enable_observability")
|
|
2827
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
2828
|
+
|
|
2437
2829
|
@builtins.property
|
|
2438
2830
|
def log_group_name(self) -> typing.Optional[builtins.str]:
|
|
2439
2831
|
'''(experimental) Custom log group name pattern.
|
|
@@ -3025,10 +3417,354 @@ class PowertoolsConfig(
|
|
|
3025
3417
|
return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.sinvoke(cls, "generateDefaultLambdaConfig", [enable_observability, metrics_namespace, service_name]))
|
|
3026
3418
|
|
|
3027
3419
|
|
|
3028
|
-
@jsii.implements(
|
|
3029
|
-
class
|
|
3420
|
+
@jsii.implements(IAdapter)
|
|
3421
|
+
class QueuedS3Adapter(
|
|
3030
3422
|
metaclass=jsii.JSIIMeta,
|
|
3031
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.
|
|
3423
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.QueuedS3Adapter",
|
|
3424
|
+
):
|
|
3425
|
+
'''(experimental) This adapter allows the intelligent document processing workflow to be triggered by files that are uploaded into a S3 Bucket.
|
|
3426
|
+
|
|
3427
|
+
:stability: experimental
|
|
3428
|
+
'''
|
|
3429
|
+
|
|
3430
|
+
def __init__(
|
|
3431
|
+
self,
|
|
3432
|
+
*,
|
|
3433
|
+
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3434
|
+
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3435
|
+
failed_prefix: typing.Optional[builtins.str] = None,
|
|
3436
|
+
processed_prefix: typing.Optional[builtins.str] = None,
|
|
3437
|
+
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3438
|
+
raw_prefix: typing.Optional[builtins.str] = None,
|
|
3439
|
+
) -> None:
|
|
3440
|
+
'''
|
|
3441
|
+
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy. Default: create a new bucket
|
|
3442
|
+
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
3443
|
+
:param failed_prefix: (experimental) S3 prefix where the files that failed processing would be stored. Default: "failed/"
|
|
3444
|
+
:param processed_prefix: (experimental) S3 prefix where the processed files would be stored. Default: "processed/"
|
|
3445
|
+
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
3446
|
+
:param raw_prefix: (experimental) S3 prefix where the raw files would be stored. This serves as the trigger point for processing Default: "raw/"
|
|
3447
|
+
|
|
3448
|
+
:stability: experimental
|
|
3449
|
+
'''
|
|
3450
|
+
adapter_props = QueuedS3AdapterProps(
|
|
3451
|
+
bucket=bucket,
|
|
3452
|
+
dlq_max_receive_count=dlq_max_receive_count,
|
|
3453
|
+
failed_prefix=failed_prefix,
|
|
3454
|
+
processed_prefix=processed_prefix,
|
|
3455
|
+
queue_visibility_timeout=queue_visibility_timeout,
|
|
3456
|
+
raw_prefix=raw_prefix,
|
|
3457
|
+
)
|
|
3458
|
+
|
|
3459
|
+
jsii.create(self.__class__, self, [adapter_props])
|
|
3460
|
+
|
|
3461
|
+
@jsii.member(jsii_name="createFailedChain")
|
|
3462
|
+
def create_failed_chain(
|
|
3463
|
+
self,
|
|
3464
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3465
|
+
) -> _aws_cdk_aws_stepfunctions_ceddda9d.Chain:
|
|
3466
|
+
'''(experimental) Create the adapter specific handler for failed processing.
|
|
3467
|
+
|
|
3468
|
+
:param scope: -
|
|
3469
|
+
|
|
3470
|
+
:stability: experimental
|
|
3471
|
+
'''
|
|
3472
|
+
if __debug__:
|
|
3473
|
+
type_hints = typing.get_type_hints(_typecheckingstub__b95daf862a9819daa9b25cecfc08214dc429ef07ac6de3920b5dea59e01616eb)
|
|
3474
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3475
|
+
return typing.cast(_aws_cdk_aws_stepfunctions_ceddda9d.Chain, jsii.invoke(self, "createFailedChain", [scope]))
|
|
3476
|
+
|
|
3477
|
+
@jsii.member(jsii_name="createIngressTrigger")
|
|
3478
|
+
def create_ingress_trigger(
|
|
3479
|
+
self,
|
|
3480
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3481
|
+
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
3482
|
+
*,
|
|
3483
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3484
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3485
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3486
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
3487
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3488
|
+
network: typing.Optional[Network] = None,
|
|
3489
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3490
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3491
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3492
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
3493
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
3494
|
+
) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3495
|
+
'''(experimental) Create resources that would receive the data and trigger the workflow.
|
|
3496
|
+
|
|
3497
|
+
Important: resource created should trigger the state machine
|
|
3498
|
+
|
|
3499
|
+
:param scope: -
|
|
3500
|
+
:param state_machine: -
|
|
3501
|
+
: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.
|
|
3502
|
+
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3503
|
+
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3504
|
+
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
3505
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
3506
|
+
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
3507
|
+
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3508
|
+
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3509
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
3510
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
3511
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
3512
|
+
|
|
3513
|
+
:stability: experimental
|
|
3514
|
+
'''
|
|
3515
|
+
if __debug__:
|
|
3516
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fb0e9adf74054c1b0a1974cab45642af57cb1651ef8052310a0229dae1eac178)
|
|
3517
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3518
|
+
check_type(argname="argument state_machine", value=state_machine, expected_type=type_hints["state_machine"])
|
|
3519
|
+
props = BaseDocumentProcessingProps(
|
|
3520
|
+
document_processing_table=document_processing_table,
|
|
3521
|
+
enable_observability=enable_observability,
|
|
3522
|
+
encryption_key=encryption_key,
|
|
3523
|
+
eventbridge_broker=eventbridge_broker,
|
|
3524
|
+
ingress_adapter=ingress_adapter,
|
|
3525
|
+
network=network,
|
|
3526
|
+
removal_policy=removal_policy,
|
|
3527
|
+
workflow_timeout=workflow_timeout,
|
|
3528
|
+
log_group_data_protection=log_group_data_protection,
|
|
3529
|
+
metric_namespace=metric_namespace,
|
|
3530
|
+
metric_service_name=metric_service_name,
|
|
3531
|
+
)
|
|
3532
|
+
|
|
3533
|
+
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "createIngressTrigger", [scope, state_machine, props]))
|
|
3534
|
+
|
|
3535
|
+
@jsii.member(jsii_name="createSuccessChain")
|
|
3536
|
+
def create_success_chain(
|
|
3537
|
+
self,
|
|
3538
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3539
|
+
) -> _aws_cdk_aws_stepfunctions_ceddda9d.Chain:
|
|
3540
|
+
'''(experimental) Create the adapter specific handler for successful processing.
|
|
3541
|
+
|
|
3542
|
+
:param scope: -
|
|
3543
|
+
|
|
3544
|
+
:stability: experimental
|
|
3545
|
+
'''
|
|
3546
|
+
if __debug__:
|
|
3547
|
+
type_hints = typing.get_type_hints(_typecheckingstub__76aa2fd577ace3b2507bf11a33f4d039ae5ac0af0d5d3edede30c4515a1a0986)
|
|
3548
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3549
|
+
return typing.cast(_aws_cdk_aws_stepfunctions_ceddda9d.Chain, jsii.invoke(self, "createSuccessChain", [scope]))
|
|
3550
|
+
|
|
3551
|
+
@jsii.member(jsii_name="generateAdapterIAMPolicies")
|
|
3552
|
+
def generate_adapter_iam_policies(
|
|
3553
|
+
self,
|
|
3554
|
+
additional_iam_actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3555
|
+
narrow_actions: typing.Optional[builtins.bool] = None,
|
|
3556
|
+
) -> typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement]:
|
|
3557
|
+
'''(experimental) Generate IAM statements that can be used by other resources to access the storage.
|
|
3558
|
+
|
|
3559
|
+
:param additional_iam_actions: -
|
|
3560
|
+
:param narrow_actions: -
|
|
3561
|
+
|
|
3562
|
+
:stability: experimental
|
|
3563
|
+
'''
|
|
3564
|
+
if __debug__:
|
|
3565
|
+
type_hints = typing.get_type_hints(_typecheckingstub__308867c51abfbbc08d0fba9125db9b86eddda969dc95de8546e6f8cb242ee8a9)
|
|
3566
|
+
check_type(argname="argument additional_iam_actions", value=additional_iam_actions, expected_type=type_hints["additional_iam_actions"])
|
|
3567
|
+
check_type(argname="argument narrow_actions", value=narrow_actions, expected_type=type_hints["narrow_actions"])
|
|
3568
|
+
return typing.cast(typing.List[_aws_cdk_aws_iam_ceddda9d.PolicyStatement], jsii.invoke(self, "generateAdapterIAMPolicies", [additional_iam_actions, narrow_actions]))
|
|
3569
|
+
|
|
3570
|
+
@jsii.member(jsii_name="init")
|
|
3571
|
+
def init(
|
|
3572
|
+
self,
|
|
3573
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
3574
|
+
*,
|
|
3575
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3576
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3577
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3578
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
3579
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3580
|
+
network: typing.Optional[Network] = None,
|
|
3581
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3582
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3583
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3584
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
3585
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
3586
|
+
) -> None:
|
|
3587
|
+
'''(experimental) Initializes the adapter.
|
|
3588
|
+
|
|
3589
|
+
:param scope: -
|
|
3590
|
+
: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.
|
|
3591
|
+
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3592
|
+
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3593
|
+
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
3594
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
3595
|
+
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
3596
|
+
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3597
|
+
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3598
|
+
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
3599
|
+
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
3600
|
+
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
3601
|
+
|
|
3602
|
+
:stability: experimental
|
|
3603
|
+
'''
|
|
3604
|
+
if __debug__:
|
|
3605
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3fe79d0c4a3a771012bc95cea6a690155ea89fa70073f87564e65aad5cdfdb64)
|
|
3606
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3607
|
+
props = BaseDocumentProcessingProps(
|
|
3608
|
+
document_processing_table=document_processing_table,
|
|
3609
|
+
enable_observability=enable_observability,
|
|
3610
|
+
encryption_key=encryption_key,
|
|
3611
|
+
eventbridge_broker=eventbridge_broker,
|
|
3612
|
+
ingress_adapter=ingress_adapter,
|
|
3613
|
+
network=network,
|
|
3614
|
+
removal_policy=removal_policy,
|
|
3615
|
+
workflow_timeout=workflow_timeout,
|
|
3616
|
+
log_group_data_protection=log_group_data_protection,
|
|
3617
|
+
metric_namespace=metric_namespace,
|
|
3618
|
+
metric_service_name=metric_service_name,
|
|
3619
|
+
)
|
|
3620
|
+
|
|
3621
|
+
return typing.cast(None, jsii.invoke(self, "init", [scope, props]))
|
|
3622
|
+
|
|
3623
|
+
|
|
3624
|
+
@jsii.data_type(
|
|
3625
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.QueuedS3AdapterProps",
|
|
3626
|
+
jsii_struct_bases=[],
|
|
3627
|
+
name_mapping={
|
|
3628
|
+
"bucket": "bucket",
|
|
3629
|
+
"dlq_max_receive_count": "dlqMaxReceiveCount",
|
|
3630
|
+
"failed_prefix": "failedPrefix",
|
|
3631
|
+
"processed_prefix": "processedPrefix",
|
|
3632
|
+
"queue_visibility_timeout": "queueVisibilityTimeout",
|
|
3633
|
+
"raw_prefix": "rawPrefix",
|
|
3634
|
+
},
|
|
3635
|
+
)
|
|
3636
|
+
class QueuedS3AdapterProps:
|
|
3637
|
+
def __init__(
|
|
3638
|
+
self,
|
|
3639
|
+
*,
|
|
3640
|
+
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3641
|
+
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3642
|
+
failed_prefix: typing.Optional[builtins.str] = None,
|
|
3643
|
+
processed_prefix: typing.Optional[builtins.str] = None,
|
|
3644
|
+
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3645
|
+
raw_prefix: typing.Optional[builtins.str] = None,
|
|
3646
|
+
) -> None:
|
|
3647
|
+
'''(experimental) Props for the Queued S3 Adapter.
|
|
3648
|
+
|
|
3649
|
+
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy. Default: create a new bucket
|
|
3650
|
+
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
3651
|
+
:param failed_prefix: (experimental) S3 prefix where the files that failed processing would be stored. Default: "failed/"
|
|
3652
|
+
:param processed_prefix: (experimental) S3 prefix where the processed files would be stored. Default: "processed/"
|
|
3653
|
+
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
3654
|
+
:param raw_prefix: (experimental) S3 prefix where the raw files would be stored. This serves as the trigger point for processing Default: "raw/"
|
|
3655
|
+
|
|
3656
|
+
:stability: experimental
|
|
3657
|
+
'''
|
|
3658
|
+
if __debug__:
|
|
3659
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c2db7ec0d4b3e93062e1f20f29f9821e5a0fd526ecf05f9ccaa6db663fb1e8de)
|
|
3660
|
+
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
3661
|
+
check_type(argname="argument dlq_max_receive_count", value=dlq_max_receive_count, expected_type=type_hints["dlq_max_receive_count"])
|
|
3662
|
+
check_type(argname="argument failed_prefix", value=failed_prefix, expected_type=type_hints["failed_prefix"])
|
|
3663
|
+
check_type(argname="argument processed_prefix", value=processed_prefix, expected_type=type_hints["processed_prefix"])
|
|
3664
|
+
check_type(argname="argument queue_visibility_timeout", value=queue_visibility_timeout, expected_type=type_hints["queue_visibility_timeout"])
|
|
3665
|
+
check_type(argname="argument raw_prefix", value=raw_prefix, expected_type=type_hints["raw_prefix"])
|
|
3666
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
3667
|
+
if bucket is not None:
|
|
3668
|
+
self._values["bucket"] = bucket
|
|
3669
|
+
if dlq_max_receive_count is not None:
|
|
3670
|
+
self._values["dlq_max_receive_count"] = dlq_max_receive_count
|
|
3671
|
+
if failed_prefix is not None:
|
|
3672
|
+
self._values["failed_prefix"] = failed_prefix
|
|
3673
|
+
if processed_prefix is not None:
|
|
3674
|
+
self._values["processed_prefix"] = processed_prefix
|
|
3675
|
+
if queue_visibility_timeout is not None:
|
|
3676
|
+
self._values["queue_visibility_timeout"] = queue_visibility_timeout
|
|
3677
|
+
if raw_prefix is not None:
|
|
3678
|
+
self._values["raw_prefix"] = raw_prefix
|
|
3679
|
+
|
|
3680
|
+
@builtins.property
|
|
3681
|
+
def bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
3682
|
+
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
3683
|
+
|
|
3684
|
+
If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
3685
|
+
|
|
3686
|
+
:default: create a new bucket
|
|
3687
|
+
|
|
3688
|
+
:stability: experimental
|
|
3689
|
+
'''
|
|
3690
|
+
result = self._values.get("bucket")
|
|
3691
|
+
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
3692
|
+
|
|
3693
|
+
@builtins.property
|
|
3694
|
+
def dlq_max_receive_count(self) -> typing.Optional[jsii.Number]:
|
|
3695
|
+
'''(experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue.
|
|
3696
|
+
|
|
3697
|
+
:default: 5
|
|
3698
|
+
|
|
3699
|
+
:stability: experimental
|
|
3700
|
+
'''
|
|
3701
|
+
result = self._values.get("dlq_max_receive_count")
|
|
3702
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3703
|
+
|
|
3704
|
+
@builtins.property
|
|
3705
|
+
def failed_prefix(self) -> typing.Optional[builtins.str]:
|
|
3706
|
+
'''(experimental) S3 prefix where the files that failed processing would be stored.
|
|
3707
|
+
|
|
3708
|
+
:default: "failed/"
|
|
3709
|
+
|
|
3710
|
+
:stability: experimental
|
|
3711
|
+
'''
|
|
3712
|
+
result = self._values.get("failed_prefix")
|
|
3713
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3714
|
+
|
|
3715
|
+
@builtins.property
|
|
3716
|
+
def processed_prefix(self) -> typing.Optional[builtins.str]:
|
|
3717
|
+
'''(experimental) S3 prefix where the processed files would be stored.
|
|
3718
|
+
|
|
3719
|
+
:default: "processed/"
|
|
3720
|
+
|
|
3721
|
+
:stability: experimental
|
|
3722
|
+
'''
|
|
3723
|
+
result = self._values.get("processed_prefix")
|
|
3724
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3725
|
+
|
|
3726
|
+
@builtins.property
|
|
3727
|
+
def queue_visibility_timeout(self) -> typing.Optional[_aws_cdk_ceddda9d.Duration]:
|
|
3728
|
+
'''(experimental) SQS queue visibility timeout for processing messages.
|
|
3729
|
+
|
|
3730
|
+
Should be longer than expected processing time to prevent duplicate processing.
|
|
3731
|
+
|
|
3732
|
+
:default: Duration.seconds(300)
|
|
3733
|
+
|
|
3734
|
+
:stability: experimental
|
|
3735
|
+
'''
|
|
3736
|
+
result = self._values.get("queue_visibility_timeout")
|
|
3737
|
+
return typing.cast(typing.Optional[_aws_cdk_ceddda9d.Duration], result)
|
|
3738
|
+
|
|
3739
|
+
@builtins.property
|
|
3740
|
+
def raw_prefix(self) -> typing.Optional[builtins.str]:
|
|
3741
|
+
'''(experimental) S3 prefix where the raw files would be stored.
|
|
3742
|
+
|
|
3743
|
+
This serves as the trigger point for processing
|
|
3744
|
+
|
|
3745
|
+
:default: "raw/"
|
|
3746
|
+
|
|
3747
|
+
:stability: experimental
|
|
3748
|
+
'''
|
|
3749
|
+
result = self._values.get("raw_prefix")
|
|
3750
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
3751
|
+
|
|
3752
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
3753
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
3754
|
+
|
|
3755
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
3756
|
+
return not (rhs == self)
|
|
3757
|
+
|
|
3758
|
+
def __repr__(self) -> str:
|
|
3759
|
+
return "QueuedS3AdapterProps(%s)" % ", ".join(
|
|
3760
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
3761
|
+
)
|
|
3762
|
+
|
|
3763
|
+
|
|
3764
|
+
@jsii.implements(_aws_cdk_ceddda9d.IPropertyInjector)
|
|
3765
|
+
class StateMachineObservabilityPropertyInjector(
|
|
3766
|
+
metaclass=jsii.JSIIMeta,
|
|
3767
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.StateMachineObservabilityPropertyInjector",
|
|
3032
3768
|
):
|
|
3033
3769
|
'''
|
|
3034
3770
|
:stability: experimental
|
|
@@ -3136,14 +3872,12 @@ class BaseDocumentProcessing(
|
|
|
3136
3872
|
scope: _constructs_77d1e7e8.Construct,
|
|
3137
3873
|
id: builtins.str,
|
|
3138
3874
|
*,
|
|
3139
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3140
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3141
3875
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3142
3876
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3143
3877
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3144
3878
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
3879
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3145
3880
|
network: typing.Optional[Network] = None,
|
|
3146
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3147
3881
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3148
3882
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3149
3883
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -3157,14 +3891,12 @@ class BaseDocumentProcessing(
|
|
|
3157
3891
|
|
|
3158
3892
|
:param scope: - The scope in which to define this construct.
|
|
3159
3893
|
:param id: - The scoped construct ID. Must be unique within the scope.
|
|
3160
|
-
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
3161
|
-
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
3162
3894
|
: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.
|
|
3163
3895
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3164
3896
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3165
3897
|
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
3898
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
3166
3899
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
3167
|
-
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
3168
3900
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3169
3901
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3170
3902
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
@@ -3178,14 +3910,12 @@ class BaseDocumentProcessing(
|
|
|
3178
3910
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3179
3911
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3180
3912
|
props = BaseDocumentProcessingProps(
|
|
3181
|
-
bucket=bucket,
|
|
3182
|
-
dlq_max_receive_count=dlq_max_receive_count,
|
|
3183
3913
|
document_processing_table=document_processing_table,
|
|
3184
3914
|
enable_observability=enable_observability,
|
|
3185
3915
|
encryption_key=encryption_key,
|
|
3186
3916
|
eventbridge_broker=eventbridge_broker,
|
|
3917
|
+
ingress_adapter=ingress_adapter,
|
|
3187
3918
|
network=network,
|
|
3188
|
-
queue_visibility_timeout=queue_visibility_timeout,
|
|
3189
3919
|
removal_policy=removal_policy,
|
|
3190
3920
|
workflow_timeout=workflow_timeout,
|
|
3191
3921
|
log_group_data_protection=log_group_data_protection,
|
|
@@ -3242,21 +3972,6 @@ class BaseDocumentProcessing(
|
|
|
3242
3972
|
check_type(argname="argument state_machine_id", value=state_machine_id, expected_type=type_hints["state_machine_id"])
|
|
3243
3973
|
return typing.cast(_aws_cdk_aws_stepfunctions_ceddda9d.StateMachine, jsii.invoke(self, "handleStateMachineCreation", [state_machine_id]))
|
|
3244
3974
|
|
|
3245
|
-
@jsii.member(jsii_name="handleWorkflowTrigger")
|
|
3246
|
-
def _handle_workflow_trigger(
|
|
3247
|
-
self,
|
|
3248
|
-
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
3249
|
-
) -> None:
|
|
3250
|
-
'''
|
|
3251
|
-
:param state_machine: -
|
|
3252
|
-
|
|
3253
|
-
:stability: experimental
|
|
3254
|
-
'''
|
|
3255
|
-
if __debug__:
|
|
3256
|
-
type_hints = typing.get_type_hints(_typecheckingstub__51565b317b75c58d9a9fb26bd3a0b7c471bf8844bfd0cc94dd43d1850d7ab957)
|
|
3257
|
-
check_type(argname="argument state_machine", value=state_machine, expected_type=type_hints["state_machine"])
|
|
3258
|
-
return typing.cast(None, jsii.invoke(self, "handleWorkflowTrigger", [state_machine]))
|
|
3259
|
-
|
|
3260
3975
|
@jsii.member(jsii_name="metrics")
|
|
3261
3976
|
def metrics(self) -> typing.List[_aws_cdk_aws_cloudwatch_ceddda9d.IMetric]:
|
|
3262
3977
|
'''
|
|
@@ -3296,24 +4011,6 @@ class BaseDocumentProcessing(
|
|
|
3296
4011
|
'''
|
|
3297
4012
|
...
|
|
3298
4013
|
|
|
3299
|
-
@builtins.property
|
|
3300
|
-
@jsii.member(jsii_name="bucket")
|
|
3301
|
-
def bucket(self) -> _aws_cdk_aws_s3_ceddda9d.Bucket:
|
|
3302
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
3303
|
-
|
|
3304
|
-
:stability: experimental
|
|
3305
|
-
'''
|
|
3306
|
-
return typing.cast(_aws_cdk_aws_s3_ceddda9d.Bucket, jsii.get(self, "bucket"))
|
|
3307
|
-
|
|
3308
|
-
@builtins.property
|
|
3309
|
-
@jsii.member(jsii_name="deadLetterQueue")
|
|
3310
|
-
def dead_letter_queue(self) -> _aws_cdk_aws_sqs_ceddda9d.Queue:
|
|
3311
|
-
'''(experimental) Dead letter queue.
|
|
3312
|
-
|
|
3313
|
-
:stability: experimental
|
|
3314
|
-
'''
|
|
3315
|
-
return typing.cast(_aws_cdk_aws_sqs_ceddda9d.Queue, jsii.get(self, "deadLetterQueue"))
|
|
3316
|
-
|
|
3317
4014
|
@builtins.property
|
|
3318
4015
|
@jsii.member(jsii_name="documentProcessingTable")
|
|
3319
4016
|
def document_processing_table(self) -> _aws_cdk_aws_dynamodb_ceddda9d.Table:
|
|
@@ -3332,6 +4029,15 @@ class BaseDocumentProcessing(
|
|
|
3332
4029
|
'''
|
|
3333
4030
|
return typing.cast(_aws_cdk_aws_kms_ceddda9d.Key, jsii.get(self, "encryptionKey"))
|
|
3334
4031
|
|
|
4032
|
+
@builtins.property
|
|
4033
|
+
@jsii.member(jsii_name="ingressAdapter")
|
|
4034
|
+
def ingress_adapter(self) -> IAdapter:
|
|
4035
|
+
'''(experimental) Ingress adapter, responsible for triggering workflow.
|
|
4036
|
+
|
|
4037
|
+
:stability: experimental
|
|
4038
|
+
'''
|
|
4039
|
+
return typing.cast(IAdapter, jsii.get(self, "ingressAdapter"))
|
|
4040
|
+
|
|
3335
4041
|
@builtins.property
|
|
3336
4042
|
@jsii.member(jsii_name="logGroupDataProtection")
|
|
3337
4043
|
def log_group_data_protection(self) -> LogGroupDataProtectionProps:
|
|
@@ -3361,24 +4067,6 @@ class BaseDocumentProcessing(
|
|
|
3361
4067
|
'''
|
|
3362
4068
|
return typing.cast(builtins.str, jsii.get(self, "metricServiceName"))
|
|
3363
4069
|
|
|
3364
|
-
@builtins.property
|
|
3365
|
-
@jsii.member(jsii_name="queue")
|
|
3366
|
-
def queue(self) -> _aws_cdk_aws_sqs_ceddda9d.Queue:
|
|
3367
|
-
'''(experimental) SQS queue for reliable message processing with dead letter queue support.
|
|
3368
|
-
|
|
3369
|
-
:stability: experimental
|
|
3370
|
-
'''
|
|
3371
|
-
return typing.cast(_aws_cdk_aws_sqs_ceddda9d.Queue, jsii.get(self, "queue"))
|
|
3372
|
-
|
|
3373
|
-
@builtins.property
|
|
3374
|
-
@jsii.member(jsii_name="bucketEncryptionKey")
|
|
3375
|
-
def bucket_encryption_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
3376
|
-
'''(experimental) Encryption key used by the DocumentProcessingBucket.
|
|
3377
|
-
|
|
3378
|
-
:stability: experimental
|
|
3379
|
-
'''
|
|
3380
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "bucketEncryptionKey"))
|
|
3381
|
-
|
|
3382
4070
|
|
|
3383
4071
|
class _BaseDocumentProcessingProxy(BaseDocumentProcessing):
|
|
3384
4072
|
@jsii.member(jsii_name="classificationStep")
|
|
@@ -3452,14 +4140,12 @@ typing.cast(typing.Any, BaseDocumentProcessing).__jsii_proxy_class__ = lambda :
|
|
|
3452
4140
|
"log_group_data_protection": "logGroupDataProtection",
|
|
3453
4141
|
"metric_namespace": "metricNamespace",
|
|
3454
4142
|
"metric_service_name": "metricServiceName",
|
|
3455
|
-
"bucket": "bucket",
|
|
3456
|
-
"dlq_max_receive_count": "dlqMaxReceiveCount",
|
|
3457
4143
|
"document_processing_table": "documentProcessingTable",
|
|
3458
4144
|
"enable_observability": "enableObservability",
|
|
3459
4145
|
"encryption_key": "encryptionKey",
|
|
3460
4146
|
"eventbridge_broker": "eventbridgeBroker",
|
|
4147
|
+
"ingress_adapter": "ingressAdapter",
|
|
3461
4148
|
"network": "network",
|
|
3462
|
-
"queue_visibility_timeout": "queueVisibilityTimeout",
|
|
3463
4149
|
"removal_policy": "removalPolicy",
|
|
3464
4150
|
"workflow_timeout": "workflowTimeout",
|
|
3465
4151
|
},
|
|
@@ -3471,14 +4157,12 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3471
4157
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3472
4158
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
3473
4159
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
3474
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3475
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3476
4160
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3477
4161
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3478
4162
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3479
4163
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
4164
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3480
4165
|
network: typing.Optional[Network] = None,
|
|
3481
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3482
4166
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3483
4167
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3484
4168
|
) -> None:
|
|
@@ -3487,14 +4171,12 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3487
4171
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
3488
4172
|
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
3489
4173
|
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
3490
|
-
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
3491
|
-
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
3492
4174
|
: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.
|
|
3493
4175
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3494
4176
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3495
4177
|
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
4178
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
3496
4179
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
3497
|
-
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
3498
4180
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3499
4181
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3500
4182
|
|
|
@@ -3507,14 +4189,12 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3507
4189
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
3508
4190
|
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
3509
4191
|
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
3510
|
-
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
3511
|
-
check_type(argname="argument dlq_max_receive_count", value=dlq_max_receive_count, expected_type=type_hints["dlq_max_receive_count"])
|
|
3512
4192
|
check_type(argname="argument document_processing_table", value=document_processing_table, expected_type=type_hints["document_processing_table"])
|
|
3513
4193
|
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
3514
4194
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
3515
4195
|
check_type(argname="argument eventbridge_broker", value=eventbridge_broker, expected_type=type_hints["eventbridge_broker"])
|
|
4196
|
+
check_type(argname="argument ingress_adapter", value=ingress_adapter, expected_type=type_hints["ingress_adapter"])
|
|
3516
4197
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
3517
|
-
check_type(argname="argument queue_visibility_timeout", value=queue_visibility_timeout, expected_type=type_hints["queue_visibility_timeout"])
|
|
3518
4198
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
3519
4199
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
3520
4200
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
@@ -3524,10 +4204,6 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3524
4204
|
self._values["metric_namespace"] = metric_namespace
|
|
3525
4205
|
if metric_service_name is not None:
|
|
3526
4206
|
self._values["metric_service_name"] = metric_service_name
|
|
3527
|
-
if bucket is not None:
|
|
3528
|
-
self._values["bucket"] = bucket
|
|
3529
|
-
if dlq_max_receive_count is not None:
|
|
3530
|
-
self._values["dlq_max_receive_count"] = dlq_max_receive_count
|
|
3531
4207
|
if document_processing_table is not None:
|
|
3532
4208
|
self._values["document_processing_table"] = document_processing_table
|
|
3533
4209
|
if enable_observability is not None:
|
|
@@ -3536,10 +4212,10 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3536
4212
|
self._values["encryption_key"] = encryption_key
|
|
3537
4213
|
if eventbridge_broker is not None:
|
|
3538
4214
|
self._values["eventbridge_broker"] = eventbridge_broker
|
|
4215
|
+
if ingress_adapter is not None:
|
|
4216
|
+
self._values["ingress_adapter"] = ingress_adapter
|
|
3539
4217
|
if network is not None:
|
|
3540
4218
|
self._values["network"] = network
|
|
3541
|
-
if queue_visibility_timeout is not None:
|
|
3542
|
-
self._values["queue_visibility_timeout"] = queue_visibility_timeout
|
|
3543
4219
|
if removal_policy is not None:
|
|
3544
4220
|
self._values["removal_policy"] = removal_policy
|
|
3545
4221
|
if workflow_timeout is not None:
|
|
@@ -3578,28 +4254,6 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3578
4254
|
result = self._values.get("metric_service_name")
|
|
3579
4255
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
3580
4256
|
|
|
3581
|
-
@builtins.property
|
|
3582
|
-
def bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
3583
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
3584
|
-
|
|
3585
|
-
If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
3586
|
-
|
|
3587
|
-
:stability: experimental
|
|
3588
|
-
'''
|
|
3589
|
-
result = self._values.get("bucket")
|
|
3590
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
3591
|
-
|
|
3592
|
-
@builtins.property
|
|
3593
|
-
def dlq_max_receive_count(self) -> typing.Optional[jsii.Number]:
|
|
3594
|
-
'''(experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue.
|
|
3595
|
-
|
|
3596
|
-
:default: 5
|
|
3597
|
-
|
|
3598
|
-
:stability: experimental
|
|
3599
|
-
'''
|
|
3600
|
-
result = self._values.get("dlq_max_receive_count")
|
|
3601
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3602
|
-
|
|
3603
4257
|
@builtins.property
|
|
3604
4258
|
def document_processing_table(
|
|
3605
4259
|
self,
|
|
@@ -3647,28 +4301,26 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3647
4301
|
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
3648
4302
|
|
|
3649
4303
|
@builtins.property
|
|
3650
|
-
def
|
|
3651
|
-
'''(experimental)
|
|
4304
|
+
def ingress_adapter(self) -> typing.Optional[IAdapter]:
|
|
4305
|
+
'''(experimental) Adapter that defines how the document processing workflow is triggered.
|
|
3652
4306
|
|
|
3653
|
-
:default:
|
|
4307
|
+
:default: QueuedS3Adapter
|
|
3654
4308
|
|
|
3655
4309
|
:stability: experimental
|
|
3656
4310
|
'''
|
|
3657
|
-
result = self._values.get("
|
|
3658
|
-
return typing.cast(typing.Optional[
|
|
4311
|
+
result = self._values.get("ingress_adapter")
|
|
4312
|
+
return typing.cast(typing.Optional[IAdapter], result)
|
|
3659
4313
|
|
|
3660
4314
|
@builtins.property
|
|
3661
|
-
def
|
|
3662
|
-
'''(experimental)
|
|
3663
|
-
|
|
3664
|
-
Should be longer than expected processing time to prevent duplicate processing.
|
|
4315
|
+
def network(self) -> typing.Optional[Network]:
|
|
4316
|
+
'''(experimental) Resources that can run inside a VPC will follow the provided network configuration.
|
|
3665
4317
|
|
|
3666
|
-
:default:
|
|
4318
|
+
:default: resources will run outside of a VPC
|
|
3667
4319
|
|
|
3668
4320
|
:stability: experimental
|
|
3669
4321
|
'''
|
|
3670
|
-
result = self._values.get("
|
|
3671
|
-
return typing.cast(typing.Optional[
|
|
4322
|
+
result = self._values.get("network")
|
|
4323
|
+
return typing.cast(typing.Optional[Network], result)
|
|
3672
4324
|
|
|
3673
4325
|
@builtins.property
|
|
3674
4326
|
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
@@ -3770,14 +4422,12 @@ class BedrockDocumentProcessing(
|
|
|
3770
4422
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
3771
4423
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3772
4424
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
3773
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3774
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3775
4425
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3776
4426
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3777
4427
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3778
4428
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
4429
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3779
4430
|
network: typing.Optional[Network] = None,
|
|
3780
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3781
4431
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3782
4432
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3783
4433
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -3801,14 +4451,12 @@ class BedrockDocumentProcessing(
|
|
|
3801
4451
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
3802
4452
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
3803
4453
|
: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
|
|
3804
|
-
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
3805
|
-
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
3806
4454
|
: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.
|
|
3807
4455
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3808
4456
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3809
4457
|
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
4458
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
3810
4459
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
3811
|
-
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
3812
4460
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3813
4461
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3814
4462
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
@@ -3831,14 +4479,12 @@ class BedrockDocumentProcessing(
|
|
|
3831
4479
|
processing_prompt=processing_prompt,
|
|
3832
4480
|
step_timeouts=step_timeouts,
|
|
3833
4481
|
use_cross_region_inference=use_cross_region_inference,
|
|
3834
|
-
bucket=bucket,
|
|
3835
|
-
dlq_max_receive_count=dlq_max_receive_count,
|
|
3836
4482
|
document_processing_table=document_processing_table,
|
|
3837
4483
|
enable_observability=enable_observability,
|
|
3838
4484
|
encryption_key=encryption_key,
|
|
3839
4485
|
eventbridge_broker=eventbridge_broker,
|
|
4486
|
+
ingress_adapter=ingress_adapter,
|
|
3840
4487
|
network=network,
|
|
3841
|
-
queue_visibility_timeout=queue_visibility_timeout,
|
|
3842
4488
|
removal_policy=removal_policy,
|
|
3843
4489
|
workflow_timeout=workflow_timeout,
|
|
3844
4490
|
log_group_data_protection=log_group_data_protection,
|
|
@@ -4001,14 +4647,12 @@ class BedrockDocumentProcessing(
|
|
|
4001
4647
|
"log_group_data_protection": "logGroupDataProtection",
|
|
4002
4648
|
"metric_namespace": "metricNamespace",
|
|
4003
4649
|
"metric_service_name": "metricServiceName",
|
|
4004
|
-
"bucket": "bucket",
|
|
4005
|
-
"dlq_max_receive_count": "dlqMaxReceiveCount",
|
|
4006
4650
|
"document_processing_table": "documentProcessingTable",
|
|
4007
4651
|
"enable_observability": "enableObservability",
|
|
4008
4652
|
"encryption_key": "encryptionKey",
|
|
4009
4653
|
"eventbridge_broker": "eventbridgeBroker",
|
|
4654
|
+
"ingress_adapter": "ingressAdapter",
|
|
4010
4655
|
"network": "network",
|
|
4011
|
-
"queue_visibility_timeout": "queueVisibilityTimeout",
|
|
4012
4656
|
"removal_policy": "removalPolicy",
|
|
4013
4657
|
"workflow_timeout": "workflowTimeout",
|
|
4014
4658
|
"classification_model_id": "classificationModelId",
|
|
@@ -4029,14 +4673,12 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4029
4673
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4030
4674
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
4031
4675
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
4032
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
4033
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
4034
4676
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4035
4677
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4036
4678
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4037
4679
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
4680
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
4038
4681
|
network: typing.Optional[Network] = None,
|
|
4039
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4040
4682
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4041
4683
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4042
4684
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -4056,14 +4698,12 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4056
4698
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
4057
4699
|
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
4058
4700
|
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
4059
|
-
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
4060
|
-
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
4061
4701
|
: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.
|
|
4062
4702
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
4063
4703
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
4064
4704
|
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
4705
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
4065
4706
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
4066
|
-
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
4067
4707
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
4068
4708
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
4069
4709
|
:param classification_model_id: (experimental) Bedrock foundation model for document classification step. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
@@ -4085,14 +4725,12 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4085
4725
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
4086
4726
|
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
4087
4727
|
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
4088
|
-
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
4089
|
-
check_type(argname="argument dlq_max_receive_count", value=dlq_max_receive_count, expected_type=type_hints["dlq_max_receive_count"])
|
|
4090
4728
|
check_type(argname="argument document_processing_table", value=document_processing_table, expected_type=type_hints["document_processing_table"])
|
|
4091
4729
|
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
4092
4730
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
4093
4731
|
check_type(argname="argument eventbridge_broker", value=eventbridge_broker, expected_type=type_hints["eventbridge_broker"])
|
|
4732
|
+
check_type(argname="argument ingress_adapter", value=ingress_adapter, expected_type=type_hints["ingress_adapter"])
|
|
4094
4733
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
4095
|
-
check_type(argname="argument queue_visibility_timeout", value=queue_visibility_timeout, expected_type=type_hints["queue_visibility_timeout"])
|
|
4096
4734
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
4097
4735
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
4098
4736
|
check_type(argname="argument classification_model_id", value=classification_model_id, expected_type=type_hints["classification_model_id"])
|
|
@@ -4111,10 +4749,6 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4111
4749
|
self._values["metric_namespace"] = metric_namespace
|
|
4112
4750
|
if metric_service_name is not None:
|
|
4113
4751
|
self._values["metric_service_name"] = metric_service_name
|
|
4114
|
-
if bucket is not None:
|
|
4115
|
-
self._values["bucket"] = bucket
|
|
4116
|
-
if dlq_max_receive_count is not None:
|
|
4117
|
-
self._values["dlq_max_receive_count"] = dlq_max_receive_count
|
|
4118
4752
|
if document_processing_table is not None:
|
|
4119
4753
|
self._values["document_processing_table"] = document_processing_table
|
|
4120
4754
|
if enable_observability is not None:
|
|
@@ -4123,10 +4757,10 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4123
4757
|
self._values["encryption_key"] = encryption_key
|
|
4124
4758
|
if eventbridge_broker is not None:
|
|
4125
4759
|
self._values["eventbridge_broker"] = eventbridge_broker
|
|
4760
|
+
if ingress_adapter is not None:
|
|
4761
|
+
self._values["ingress_adapter"] = ingress_adapter
|
|
4126
4762
|
if network is not None:
|
|
4127
4763
|
self._values["network"] = network
|
|
4128
|
-
if queue_visibility_timeout is not None:
|
|
4129
|
-
self._values["queue_visibility_timeout"] = queue_visibility_timeout
|
|
4130
4764
|
if removal_policy is not None:
|
|
4131
4765
|
self._values["removal_policy"] = removal_policy
|
|
4132
4766
|
if workflow_timeout is not None:
|
|
@@ -4183,28 +4817,6 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4183
4817
|
result = self._values.get("metric_service_name")
|
|
4184
4818
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
4185
4819
|
|
|
4186
|
-
@builtins.property
|
|
4187
|
-
def bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
4188
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
4189
|
-
|
|
4190
|
-
If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
4191
|
-
|
|
4192
|
-
:stability: experimental
|
|
4193
|
-
'''
|
|
4194
|
-
result = self._values.get("bucket")
|
|
4195
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
4196
|
-
|
|
4197
|
-
@builtins.property
|
|
4198
|
-
def dlq_max_receive_count(self) -> typing.Optional[jsii.Number]:
|
|
4199
|
-
'''(experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue.
|
|
4200
|
-
|
|
4201
|
-
:default: 5
|
|
4202
|
-
|
|
4203
|
-
:stability: experimental
|
|
4204
|
-
'''
|
|
4205
|
-
result = self._values.get("dlq_max_receive_count")
|
|
4206
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4207
|
-
|
|
4208
4820
|
@builtins.property
|
|
4209
4821
|
def document_processing_table(
|
|
4210
4822
|
self,
|
|
@@ -4252,28 +4864,26 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4252
4864
|
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
4253
4865
|
|
|
4254
4866
|
@builtins.property
|
|
4255
|
-
def
|
|
4256
|
-
'''(experimental)
|
|
4867
|
+
def ingress_adapter(self) -> typing.Optional[IAdapter]:
|
|
4868
|
+
'''(experimental) Adapter that defines how the document processing workflow is triggered.
|
|
4257
4869
|
|
|
4258
|
-
:default:
|
|
4870
|
+
:default: QueuedS3Adapter
|
|
4259
4871
|
|
|
4260
4872
|
:stability: experimental
|
|
4261
4873
|
'''
|
|
4262
|
-
result = self._values.get("
|
|
4263
|
-
return typing.cast(typing.Optional[
|
|
4874
|
+
result = self._values.get("ingress_adapter")
|
|
4875
|
+
return typing.cast(typing.Optional[IAdapter], result)
|
|
4264
4876
|
|
|
4265
4877
|
@builtins.property
|
|
4266
|
-
def
|
|
4267
|
-
'''(experimental)
|
|
4268
|
-
|
|
4269
|
-
Should be longer than expected processing time to prevent duplicate processing.
|
|
4878
|
+
def network(self) -> typing.Optional[Network]:
|
|
4879
|
+
'''(experimental) Resources that can run inside a VPC will follow the provided network configuration.
|
|
4270
4880
|
|
|
4271
|
-
:default:
|
|
4881
|
+
:default: resources will run outside of a VPC
|
|
4272
4882
|
|
|
4273
4883
|
:stability: experimental
|
|
4274
4884
|
'''
|
|
4275
|
-
result = self._values.get("
|
|
4276
|
-
return typing.cast(typing.Optional[
|
|
4885
|
+
result = self._values.get("network")
|
|
4886
|
+
return typing.cast(typing.Optional[Network], result)
|
|
4277
4887
|
|
|
4278
4888
|
@builtins.property
|
|
4279
4889
|
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
@@ -4450,14 +5060,12 @@ class AgenticDocumentProcessing(
|
|
|
4450
5060
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
4451
5061
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4452
5062
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
4453
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
4454
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
4455
5063
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4456
5064
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4457
5065
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4458
5066
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
5067
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
4459
5068
|
network: typing.Optional[Network] = None,
|
|
4460
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4461
5069
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4462
5070
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4463
5071
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -4477,14 +5085,12 @@ class AgenticDocumentProcessing(
|
|
|
4477
5085
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
4478
5086
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
4479
5087
|
: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
|
|
4480
|
-
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
4481
|
-
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
4482
5088
|
: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.
|
|
4483
5089
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
4484
5090
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
4485
5091
|
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
5092
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
4486
5093
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
4487
|
-
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
4488
5094
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
4489
5095
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
4490
5096
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
@@ -4508,14 +5114,12 @@ class AgenticDocumentProcessing(
|
|
|
4508
5114
|
processing_prompt=processing_prompt,
|
|
4509
5115
|
step_timeouts=step_timeouts,
|
|
4510
5116
|
use_cross_region_inference=use_cross_region_inference,
|
|
4511
|
-
bucket=bucket,
|
|
4512
|
-
dlq_max_receive_count=dlq_max_receive_count,
|
|
4513
5117
|
document_processing_table=document_processing_table,
|
|
4514
5118
|
enable_observability=enable_observability,
|
|
4515
5119
|
encryption_key=encryption_key,
|
|
4516
5120
|
eventbridge_broker=eventbridge_broker,
|
|
5121
|
+
ingress_adapter=ingress_adapter,
|
|
4517
5122
|
network=network,
|
|
4518
|
-
queue_visibility_timeout=queue_visibility_timeout,
|
|
4519
5123
|
removal_policy=removal_policy,
|
|
4520
5124
|
workflow_timeout=workflow_timeout,
|
|
4521
5125
|
log_group_data_protection=log_group_data_protection,
|
|
@@ -4547,14 +5151,12 @@ class AgenticDocumentProcessing(
|
|
|
4547
5151
|
"log_group_data_protection": "logGroupDataProtection",
|
|
4548
5152
|
"metric_namespace": "metricNamespace",
|
|
4549
5153
|
"metric_service_name": "metricServiceName",
|
|
4550
|
-
"bucket": "bucket",
|
|
4551
|
-
"dlq_max_receive_count": "dlqMaxReceiveCount",
|
|
4552
5154
|
"document_processing_table": "documentProcessingTable",
|
|
4553
5155
|
"enable_observability": "enableObservability",
|
|
4554
5156
|
"encryption_key": "encryptionKey",
|
|
4555
5157
|
"eventbridge_broker": "eventbridgeBroker",
|
|
5158
|
+
"ingress_adapter": "ingressAdapter",
|
|
4556
5159
|
"network": "network",
|
|
4557
|
-
"queue_visibility_timeout": "queueVisibilityTimeout",
|
|
4558
5160
|
"removal_policy": "removalPolicy",
|
|
4559
5161
|
"workflow_timeout": "workflowTimeout",
|
|
4560
5162
|
"classification_model_id": "classificationModelId",
|
|
@@ -4576,14 +5178,12 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4576
5178
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4577
5179
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
4578
5180
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
4579
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
4580
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
4581
5181
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4582
5182
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4583
5183
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4584
5184
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
5185
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
4585
5186
|
network: typing.Optional[Network] = None,
|
|
4586
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4587
5187
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4588
5188
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4589
5189
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -4601,14 +5201,12 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4601
5201
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
4602
5202
|
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
4603
5203
|
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
4604
|
-
:param bucket: (experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/). If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
4605
|
-
:param dlq_max_receive_count: (experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue. Default: 5
|
|
4606
5204
|
: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.
|
|
4607
5205
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
4608
5206
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
4609
5207
|
:param eventbridge_broker: (experimental) Optional EventBridge broker for publishing custom events during processing. If not provided, no custom events will be sent out.
|
|
5208
|
+
:param ingress_adapter: (experimental) Adapter that defines how the document processing workflow is triggered. Default: QueuedS3Adapter
|
|
4610
5209
|
:param network: (experimental) Resources that can run inside a VPC will follow the provided network configuration. Default: resources will run outside of a VPC
|
|
4611
|
-
:param queue_visibility_timeout: (experimental) SQS queue visibility timeout for processing messages. Should be longer than expected processing time to prevent duplicate processing. Default: Duration.seconds(300)
|
|
4612
5210
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
4613
5211
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
4614
5212
|
:param classification_model_id: (experimental) Bedrock foundation model for document classification step. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
@@ -4633,14 +5231,12 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4633
5231
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
4634
5232
|
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
4635
5233
|
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
4636
|
-
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
4637
|
-
check_type(argname="argument dlq_max_receive_count", value=dlq_max_receive_count, expected_type=type_hints["dlq_max_receive_count"])
|
|
4638
5234
|
check_type(argname="argument document_processing_table", value=document_processing_table, expected_type=type_hints["document_processing_table"])
|
|
4639
5235
|
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
4640
5236
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
4641
5237
|
check_type(argname="argument eventbridge_broker", value=eventbridge_broker, expected_type=type_hints["eventbridge_broker"])
|
|
5238
|
+
check_type(argname="argument ingress_adapter", value=ingress_adapter, expected_type=type_hints["ingress_adapter"])
|
|
4642
5239
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
4643
|
-
check_type(argname="argument queue_visibility_timeout", value=queue_visibility_timeout, expected_type=type_hints["queue_visibility_timeout"])
|
|
4644
5240
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
4645
5241
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
4646
5242
|
check_type(argname="argument classification_model_id", value=classification_model_id, expected_type=type_hints["classification_model_id"])
|
|
@@ -4660,10 +5256,6 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4660
5256
|
self._values["metric_namespace"] = metric_namespace
|
|
4661
5257
|
if metric_service_name is not None:
|
|
4662
5258
|
self._values["metric_service_name"] = metric_service_name
|
|
4663
|
-
if bucket is not None:
|
|
4664
|
-
self._values["bucket"] = bucket
|
|
4665
|
-
if dlq_max_receive_count is not None:
|
|
4666
|
-
self._values["dlq_max_receive_count"] = dlq_max_receive_count
|
|
4667
5259
|
if document_processing_table is not None:
|
|
4668
5260
|
self._values["document_processing_table"] = document_processing_table
|
|
4669
5261
|
if enable_observability is not None:
|
|
@@ -4672,10 +5264,10 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4672
5264
|
self._values["encryption_key"] = encryption_key
|
|
4673
5265
|
if eventbridge_broker is not None:
|
|
4674
5266
|
self._values["eventbridge_broker"] = eventbridge_broker
|
|
5267
|
+
if ingress_adapter is not None:
|
|
5268
|
+
self._values["ingress_adapter"] = ingress_adapter
|
|
4675
5269
|
if network is not None:
|
|
4676
5270
|
self._values["network"] = network
|
|
4677
|
-
if queue_visibility_timeout is not None:
|
|
4678
|
-
self._values["queue_visibility_timeout"] = queue_visibility_timeout
|
|
4679
5271
|
if removal_policy is not None:
|
|
4680
5272
|
self._values["removal_policy"] = removal_policy
|
|
4681
5273
|
if workflow_timeout is not None:
|
|
@@ -4734,28 +5326,6 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4734
5326
|
result = self._values.get("metric_service_name")
|
|
4735
5327
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
4736
5328
|
|
|
4737
|
-
@builtins.property
|
|
4738
|
-
def bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
4739
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
4740
|
-
|
|
4741
|
-
If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
4742
|
-
|
|
4743
|
-
:stability: experimental
|
|
4744
|
-
'''
|
|
4745
|
-
result = self._values.get("bucket")
|
|
4746
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
4747
|
-
|
|
4748
|
-
@builtins.property
|
|
4749
|
-
def dlq_max_receive_count(self) -> typing.Optional[jsii.Number]:
|
|
4750
|
-
'''(experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue.
|
|
4751
|
-
|
|
4752
|
-
:default: 5
|
|
4753
|
-
|
|
4754
|
-
:stability: experimental
|
|
4755
|
-
'''
|
|
4756
|
-
result = self._values.get("dlq_max_receive_count")
|
|
4757
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4758
|
-
|
|
4759
5329
|
@builtins.property
|
|
4760
5330
|
def document_processing_table(
|
|
4761
5331
|
self,
|
|
@@ -4803,28 +5373,26 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4803
5373
|
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
4804
5374
|
|
|
4805
5375
|
@builtins.property
|
|
4806
|
-
def
|
|
4807
|
-
'''(experimental)
|
|
5376
|
+
def ingress_adapter(self) -> typing.Optional[IAdapter]:
|
|
5377
|
+
'''(experimental) Adapter that defines how the document processing workflow is triggered.
|
|
4808
5378
|
|
|
4809
|
-
:default:
|
|
5379
|
+
:default: QueuedS3Adapter
|
|
4810
5380
|
|
|
4811
5381
|
:stability: experimental
|
|
4812
5382
|
'''
|
|
4813
|
-
result = self._values.get("
|
|
4814
|
-
return typing.cast(typing.Optional[
|
|
5383
|
+
result = self._values.get("ingress_adapter")
|
|
5384
|
+
return typing.cast(typing.Optional[IAdapter], result)
|
|
4815
5385
|
|
|
4816
5386
|
@builtins.property
|
|
4817
|
-
def
|
|
4818
|
-
'''(experimental)
|
|
4819
|
-
|
|
4820
|
-
Should be longer than expected processing time to prevent duplicate processing.
|
|
5387
|
+
def network(self) -> typing.Optional[Network]:
|
|
5388
|
+
'''(experimental) Resources that can run inside a VPC will follow the provided network configuration.
|
|
4821
5389
|
|
|
4822
|
-
:default:
|
|
5390
|
+
:default: resources will run outside of a VPC
|
|
4823
5391
|
|
|
4824
5392
|
:stability: experimental
|
|
4825
5393
|
'''
|
|
4826
|
-
result = self._values.get("
|
|
4827
|
-
return typing.cast(typing.Optional[
|
|
5394
|
+
result = self._values.get("network")
|
|
5395
|
+
return typing.cast(typing.Optional[Network], result)
|
|
4828
5396
|
|
|
4829
5397
|
@builtins.property
|
|
4830
5398
|
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
@@ -5003,14 +5571,16 @@ __all__ = [
|
|
|
5003
5571
|
"DataLoaderProps",
|
|
5004
5572
|
"DatabaseConfig",
|
|
5005
5573
|
"DatabaseEngine",
|
|
5574
|
+
"DefaultDocumentProcessingConfig",
|
|
5575
|
+
"DefaultObservabilityConfig",
|
|
5006
5576
|
"DefaultRuntimes",
|
|
5007
|
-
"DocumentProcessingPrefix",
|
|
5008
5577
|
"EventbridgeBroker",
|
|
5009
5578
|
"EventbridgeBrokerProps",
|
|
5010
5579
|
"FileInput",
|
|
5011
5580
|
"FileType",
|
|
5012
5581
|
"Frontend",
|
|
5013
5582
|
"FrontendProps",
|
|
5583
|
+
"IAdapter",
|
|
5014
5584
|
"IObservable",
|
|
5015
5585
|
"LambdaIamUtils",
|
|
5016
5586
|
"LambdaIamUtilsStackInfo",
|
|
@@ -5022,6 +5592,8 @@ __all__ = [
|
|
|
5022
5592
|
"NetworkProps",
|
|
5023
5593
|
"ObservableProps",
|
|
5024
5594
|
"PowertoolsConfig",
|
|
5595
|
+
"QueuedS3Adapter",
|
|
5596
|
+
"QueuedS3AdapterProps",
|
|
5025
5597
|
"StateMachineObservabilityPropertyInjector",
|
|
5026
5598
|
]
|
|
5027
5599
|
|
|
@@ -5077,6 +5649,7 @@ def _typecheckingstub__e1a82500ee072f393cd9a2ada2f9a3434219c7a51186f26fbba3061bd
|
|
|
5077
5649
|
*,
|
|
5078
5650
|
agent_system_prompt: typing.Optional[builtins.str] = None,
|
|
5079
5651
|
lambda_layers: typing.Optional[typing.Sequence[_aws_cdk_aws_lambda_ceddda9d.LayerVersion]] = None,
|
|
5652
|
+
tools_bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5080
5653
|
tools_location: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5081
5654
|
) -> None:
|
|
5082
5655
|
"""Type checking stubs"""
|
|
@@ -5220,6 +5793,62 @@ def _typecheckingstub__2648a6f2c6f02177f5b324264b7de549aa23b0c1d93c8d6cccbc307a8
|
|
|
5220
5793
|
"""Type checking stubs"""
|
|
5221
5794
|
pass
|
|
5222
5795
|
|
|
5796
|
+
def _typecheckingstub__5998f6c7e16512d92cd00097e77d737333304685208eb36a522c156f8378a9e7(
|
|
5797
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5798
|
+
) -> None:
|
|
5799
|
+
"""Type checking stubs"""
|
|
5800
|
+
pass
|
|
5801
|
+
|
|
5802
|
+
def _typecheckingstub__b61e74ddd8982f4b30ae59307c9fb3adaff26122ddc7f5faabc2cc8e1e2da034(
|
|
5803
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5804
|
+
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
5805
|
+
*,
|
|
5806
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5807
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5808
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5809
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
5810
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5811
|
+
network: typing.Optional[Network] = None,
|
|
5812
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5813
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5814
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5815
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5816
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5817
|
+
) -> None:
|
|
5818
|
+
"""Type checking stubs"""
|
|
5819
|
+
pass
|
|
5820
|
+
|
|
5821
|
+
def _typecheckingstub__cd0aad7a5879633fca8d89cbf92e8f5a13e31615116036f29a82a58c1bb4727d(
|
|
5822
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5823
|
+
) -> None:
|
|
5824
|
+
"""Type checking stubs"""
|
|
5825
|
+
pass
|
|
5826
|
+
|
|
5827
|
+
def _typecheckingstub__82a45114a0ff76d4b9d091edd6674d4e762dc5ca19631d61579cf1aa47e30b5e(
|
|
5828
|
+
additional_iam_actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5829
|
+
narrow_actions: typing.Optional[builtins.bool] = None,
|
|
5830
|
+
) -> None:
|
|
5831
|
+
"""Type checking stubs"""
|
|
5832
|
+
pass
|
|
5833
|
+
|
|
5834
|
+
def _typecheckingstub__17f7e7f35ea8e49cf6ded248435aa1e1dcf416e61c549f3e7b74baad3ac399e7(
|
|
5835
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5836
|
+
*,
|
|
5837
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5838
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5839
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5840
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
5841
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5842
|
+
network: typing.Optional[Network] = None,
|
|
5843
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5844
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5845
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5846
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5847
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5848
|
+
) -> None:
|
|
5849
|
+
"""Type checking stubs"""
|
|
5850
|
+
pass
|
|
5851
|
+
|
|
5223
5852
|
def _typecheckingstub__8fea74c9846ad0c5bdddcbfe10063247cb7bcf58aac91e0be80d1226246784e4(
|
|
5224
5853
|
table_arn: builtins.str,
|
|
5225
5854
|
actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -5297,6 +5926,7 @@ def _typecheckingstub__47564dc2777638ca33ba53983ac385b2dd8b03133d66569da912ae1ce
|
|
|
5297
5926
|
function_name: builtins.str,
|
|
5298
5927
|
region: builtins.str,
|
|
5299
5928
|
scope: _constructs_77d1e7e8.Construct,
|
|
5929
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5300
5930
|
log_group_name: typing.Optional[builtins.str] = None,
|
|
5301
5931
|
) -> None:
|
|
5302
5932
|
"""Type checking stubs"""
|
|
@@ -5382,6 +6012,74 @@ def _typecheckingstub__e065c545d4fce5c4fc2579c3efea8203f50b6d3c8b39aa1595ea3577d
|
|
|
5382
6012
|
"""Type checking stubs"""
|
|
5383
6013
|
pass
|
|
5384
6014
|
|
|
6015
|
+
def _typecheckingstub__b95daf862a9819daa9b25cecfc08214dc429ef07ac6de3920b5dea59e01616eb(
|
|
6016
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6017
|
+
) -> None:
|
|
6018
|
+
"""Type checking stubs"""
|
|
6019
|
+
pass
|
|
6020
|
+
|
|
6021
|
+
def _typecheckingstub__fb0e9adf74054c1b0a1974cab45642af57cb1651ef8052310a0229dae1eac178(
|
|
6022
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6023
|
+
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
6024
|
+
*,
|
|
6025
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
6026
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6027
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
6028
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6029
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
6030
|
+
network: typing.Optional[Network] = None,
|
|
6031
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6032
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6033
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6034
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
6035
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
6036
|
+
) -> None:
|
|
6037
|
+
"""Type checking stubs"""
|
|
6038
|
+
pass
|
|
6039
|
+
|
|
6040
|
+
def _typecheckingstub__76aa2fd577ace3b2507bf11a33f4d039ae5ac0af0d5d3edede30c4515a1a0986(
|
|
6041
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6042
|
+
) -> None:
|
|
6043
|
+
"""Type checking stubs"""
|
|
6044
|
+
pass
|
|
6045
|
+
|
|
6046
|
+
def _typecheckingstub__308867c51abfbbc08d0fba9125db9b86eddda969dc95de8546e6f8cb242ee8a9(
|
|
6047
|
+
additional_iam_actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
6048
|
+
narrow_actions: typing.Optional[builtins.bool] = None,
|
|
6049
|
+
) -> None:
|
|
6050
|
+
"""Type checking stubs"""
|
|
6051
|
+
pass
|
|
6052
|
+
|
|
6053
|
+
def _typecheckingstub__3fe79d0c4a3a771012bc95cea6a690155ea89fa70073f87564e65aad5cdfdb64(
|
|
6054
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
6055
|
+
*,
|
|
6056
|
+
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
6057
|
+
enable_observability: typing.Optional[builtins.bool] = None,
|
|
6058
|
+
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
6059
|
+
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6060
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
6061
|
+
network: typing.Optional[Network] = None,
|
|
6062
|
+
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
6063
|
+
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6064
|
+
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
6065
|
+
metric_namespace: typing.Optional[builtins.str] = None,
|
|
6066
|
+
metric_service_name: typing.Optional[builtins.str] = None,
|
|
6067
|
+
) -> None:
|
|
6068
|
+
"""Type checking stubs"""
|
|
6069
|
+
pass
|
|
6070
|
+
|
|
6071
|
+
def _typecheckingstub__c2db7ec0d4b3e93062e1f20f29f9821e5a0fd526ecf05f9ccaa6db663fb1e8de(
|
|
6072
|
+
*,
|
|
6073
|
+
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
6074
|
+
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
6075
|
+
failed_prefix: typing.Optional[builtins.str] = None,
|
|
6076
|
+
processed_prefix: typing.Optional[builtins.str] = None,
|
|
6077
|
+
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
6078
|
+
raw_prefix: typing.Optional[builtins.str] = None,
|
|
6079
|
+
) -> None:
|
|
6080
|
+
"""Type checking stubs"""
|
|
6081
|
+
pass
|
|
6082
|
+
|
|
5385
6083
|
def _typecheckingstub__011b55520774139b52c951d9cc59273f686e377b5415ee42a57650da571d43e7(
|
|
5386
6084
|
original_props: typing.Any,
|
|
5387
6085
|
*,
|
|
@@ -5395,14 +6093,12 @@ def _typecheckingstub__117c249a26f3e7532983afc9123fadff3e20effcc69408df0f45a03eb
|
|
|
5395
6093
|
scope: _constructs_77d1e7e8.Construct,
|
|
5396
6094
|
id: builtins.str,
|
|
5397
6095
|
*,
|
|
5398
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5399
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5400
6096
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5401
6097
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5402
6098
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5403
6099
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6100
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5404
6101
|
network: typing.Optional[Network] = None,
|
|
5405
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5406
6102
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5407
6103
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5408
6104
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -5418,25 +6114,17 @@ def _typecheckingstub__900aa9de379313a2a9a3e24a2901f803dec0a30dde90b7255d9f180e2
|
|
|
5418
6114
|
"""Type checking stubs"""
|
|
5419
6115
|
pass
|
|
5420
6116
|
|
|
5421
|
-
def _typecheckingstub__51565b317b75c58d9a9fb26bd3a0b7c471bf8844bfd0cc94dd43d1850d7ab957(
|
|
5422
|
-
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
5423
|
-
) -> None:
|
|
5424
|
-
"""Type checking stubs"""
|
|
5425
|
-
pass
|
|
5426
|
-
|
|
5427
6117
|
def _typecheckingstub__75e07bce24d48571be58cad69f751b10a17a738fdb9db601acdc689ff1e6da22(
|
|
5428
6118
|
*,
|
|
5429
6119
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5430
6120
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5431
6121
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5432
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5433
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5434
6122
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5435
6123
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5436
6124
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5437
6125
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6126
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5438
6127
|
network: typing.Optional[Network] = None,
|
|
5439
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5440
6128
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5441
6129
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5442
6130
|
) -> None:
|
|
@@ -5456,14 +6144,12 @@ def _typecheckingstub__7393f9c6b2af93f7d8668b32cec54ba8c77259644ab01f57b3fbd50c7
|
|
|
5456
6144
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
5457
6145
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5458
6146
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
5459
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5460
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5461
6147
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5462
6148
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5463
6149
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5464
6150
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6151
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5465
6152
|
network: typing.Optional[Network] = None,
|
|
5466
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5467
6153
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5468
6154
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5469
6155
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -5485,14 +6171,12 @@ def _typecheckingstub__9606a6418d69bde20176ec33b27eaa22c0e0cdb6b105d382e9d038566
|
|
|
5485
6171
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5486
6172
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5487
6173
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5488
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5489
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5490
6174
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5491
6175
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5492
6176
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5493
6177
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6178
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5494
6179
|
network: typing.Optional[Network] = None,
|
|
5495
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5496
6180
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5497
6181
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5498
6182
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -5522,14 +6206,12 @@ def _typecheckingstub__b7f396236f637ec7234d81b355cf773497392b537455f3d888c4b7170
|
|
|
5522
6206
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
5523
6207
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5524
6208
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
5525
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5526
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5527
6209
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5528
6210
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5529
6211
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5530
6212
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6213
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5531
6214
|
network: typing.Optional[Network] = None,
|
|
5532
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5533
6215
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5534
6216
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5535
6217
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -5544,14 +6226,12 @@ def _typecheckingstub__da9ccab0035a06d18b5aa3f2de69201b3bbd6e30f7707a291977a0e4f
|
|
|
5544
6226
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5545
6227
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5546
6228
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5547
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5548
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5549
6229
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5550
6230
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5551
6231
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5552
6232
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6233
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5553
6234
|
network: typing.Optional[Network] = None,
|
|
5554
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5555
6235
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5556
6236
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5557
6237
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -5567,3 +6247,6 @@ def _typecheckingstub__da9ccab0035a06d18b5aa3f2de69201b3bbd6e30f7707a291977a0e4f
|
|
|
5567
6247
|
) -> None:
|
|
5568
6248
|
"""Type checking stubs"""
|
|
5569
6249
|
pass
|
|
6250
|
+
|
|
6251
|
+
for cls in [IAdapter, IObservable]:
|
|
6252
|
+
typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
|