appmod-catalog-blueprints 1.0.1__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 +1064 -413
- 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.1.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.1.jsii.tgz +0 -0
- appmod_catalog_blueprints-1.0.1.dist-info/RECORD +0 -9
- {appmod_catalog_blueprints-1.0.1.dist-info → appmod_catalog_blueprints-1.1.0.dist-info}/LICENSE +0 -0
- {appmod_catalog_blueprints-1.0.1.dist-info → appmod_catalog_blueprints-1.1.0.dist-info}/WHEEL +0 -0
- {appmod_catalog_blueprints-1.0.1.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,154 +1971,473 @@ 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,
|
|
2082
2443
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
@@ -3056,40 +3417,384 @@ class PowertoolsConfig(
|
|
|
3056
3417
|
return typing.cast(typing.Mapping[builtins.str, builtins.str], jsii.sinvoke(cls, "generateDefaultLambdaConfig", [enable_observability, metrics_namespace, service_name]))
|
|
3057
3418
|
|
|
3058
3419
|
|
|
3059
|
-
@jsii.implements(
|
|
3060
|
-
class
|
|
3420
|
+
@jsii.implements(IAdapter)
|
|
3421
|
+
class QueuedS3Adapter(
|
|
3061
3422
|
metaclass=jsii.JSIIMeta,
|
|
3062
|
-
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.
|
|
3423
|
+
jsii_type="@cdklabs/cdk-appmod-catalog-blueprints.QueuedS3Adapter",
|
|
3063
3424
|
):
|
|
3064
|
-
'''
|
|
3425
|
+
'''(experimental) This adapter allows the intelligent document processing workflow to be triggered by files that are uploaded into a S3 Bucket.
|
|
3426
|
+
|
|
3065
3427
|
:stability: experimental
|
|
3066
3428
|
'''
|
|
3067
3429
|
|
|
3068
3430
|
def __init__(
|
|
3069
3431
|
self,
|
|
3070
3432
|
*,
|
|
3071
|
-
|
|
3072
|
-
|
|
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,
|
|
3073
3439
|
) -> None:
|
|
3074
3440
|
'''
|
|
3075
|
-
:param
|
|
3076
|
-
:param
|
|
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/"
|
|
3077
3447
|
|
|
3078
3448
|
:stability: experimental
|
|
3079
3449
|
'''
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
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,
|
|
3083
3457
|
)
|
|
3084
3458
|
|
|
3085
|
-
jsii.create(self.__class__, self, [
|
|
3459
|
+
jsii.create(self.__class__, self, [adapter_props])
|
|
3086
3460
|
|
|
3087
|
-
@jsii.member(jsii_name="
|
|
3088
|
-
def
|
|
3461
|
+
@jsii.member(jsii_name="createFailedChain")
|
|
3462
|
+
def create_failed_chain(
|
|
3089
3463
|
self,
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
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",
|
|
3768
|
+
):
|
|
3769
|
+
'''
|
|
3770
|
+
:stability: experimental
|
|
3771
|
+
'''
|
|
3772
|
+
|
|
3773
|
+
def __init__(
|
|
3774
|
+
self,
|
|
3775
|
+
*,
|
|
3776
|
+
data_protection_identifiers: typing.Optional[typing.Sequence[_aws_cdk_aws_logs_ceddda9d.DataIdentifier]] = None,
|
|
3777
|
+
log_group_encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3778
|
+
) -> None:
|
|
3779
|
+
'''
|
|
3780
|
+
:param data_protection_identifiers: (experimental) List of DataIdentifiers that would be used as part of the Data Protection Policy that would be created for the log group. Default: Data Protection Policy won't be enabled
|
|
3781
|
+
:param log_group_encryption_key: (experimental) Encryption key that would be used to encrypt the relevant log group. Default: a new KMS key would automatically be created
|
|
3782
|
+
|
|
3783
|
+
:stability: experimental
|
|
3784
|
+
'''
|
|
3785
|
+
log_group_data_protection = LogGroupDataProtectionProps(
|
|
3786
|
+
data_protection_identifiers=data_protection_identifiers,
|
|
3787
|
+
log_group_encryption_key=log_group_encryption_key,
|
|
3788
|
+
)
|
|
3789
|
+
|
|
3790
|
+
jsii.create(self.__class__, self, [log_group_data_protection])
|
|
3791
|
+
|
|
3792
|
+
@jsii.member(jsii_name="inject")
|
|
3793
|
+
def inject(
|
|
3794
|
+
self,
|
|
3795
|
+
original_props: typing.Any,
|
|
3796
|
+
*,
|
|
3797
|
+
id: builtins.str,
|
|
3093
3798
|
scope: _constructs_77d1e7e8.Construct,
|
|
3094
3799
|
) -> typing.Any:
|
|
3095
3800
|
'''(experimental) The injector to be applied to the constructor properties of the Construct.
|
|
@@ -3167,14 +3872,12 @@ class BaseDocumentProcessing(
|
|
|
3167
3872
|
scope: _constructs_77d1e7e8.Construct,
|
|
3168
3873
|
id: builtins.str,
|
|
3169
3874
|
*,
|
|
3170
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3171
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3172
3875
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3173
3876
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3174
3877
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3175
3878
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
3879
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3176
3880
|
network: typing.Optional[Network] = None,
|
|
3177
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3178
3881
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3179
3882
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3180
3883
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -3188,14 +3891,12 @@ class BaseDocumentProcessing(
|
|
|
3188
3891
|
|
|
3189
3892
|
:param scope: - The scope in which to define this construct.
|
|
3190
3893
|
:param id: - The scoped construct ID. Must be unique within the scope.
|
|
3191
|
-
: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.
|
|
3192
|
-
: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
|
|
3193
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.
|
|
3194
3895
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3195
3896
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3196
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
|
|
3197
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
|
|
3198
|
-
: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)
|
|
3199
3900
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3200
3901
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3201
3902
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
@@ -3209,14 +3910,12 @@ class BaseDocumentProcessing(
|
|
|
3209
3910
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
3210
3911
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
3211
3912
|
props = BaseDocumentProcessingProps(
|
|
3212
|
-
bucket=bucket,
|
|
3213
|
-
dlq_max_receive_count=dlq_max_receive_count,
|
|
3214
3913
|
document_processing_table=document_processing_table,
|
|
3215
3914
|
enable_observability=enable_observability,
|
|
3216
3915
|
encryption_key=encryption_key,
|
|
3217
3916
|
eventbridge_broker=eventbridge_broker,
|
|
3917
|
+
ingress_adapter=ingress_adapter,
|
|
3218
3918
|
network=network,
|
|
3219
|
-
queue_visibility_timeout=queue_visibility_timeout,
|
|
3220
3919
|
removal_policy=removal_policy,
|
|
3221
3920
|
workflow_timeout=workflow_timeout,
|
|
3222
3921
|
log_group_data_protection=log_group_data_protection,
|
|
@@ -3273,21 +3972,6 @@ class BaseDocumentProcessing(
|
|
|
3273
3972
|
check_type(argname="argument state_machine_id", value=state_machine_id, expected_type=type_hints["state_machine_id"])
|
|
3274
3973
|
return typing.cast(_aws_cdk_aws_stepfunctions_ceddda9d.StateMachine, jsii.invoke(self, "handleStateMachineCreation", [state_machine_id]))
|
|
3275
3974
|
|
|
3276
|
-
@jsii.member(jsii_name="handleWorkflowTrigger")
|
|
3277
|
-
def _handle_workflow_trigger(
|
|
3278
|
-
self,
|
|
3279
|
-
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
3280
|
-
) -> None:
|
|
3281
|
-
'''
|
|
3282
|
-
:param state_machine: -
|
|
3283
|
-
|
|
3284
|
-
:stability: experimental
|
|
3285
|
-
'''
|
|
3286
|
-
if __debug__:
|
|
3287
|
-
type_hints = typing.get_type_hints(_typecheckingstub__51565b317b75c58d9a9fb26bd3a0b7c471bf8844bfd0cc94dd43d1850d7ab957)
|
|
3288
|
-
check_type(argname="argument state_machine", value=state_machine, expected_type=type_hints["state_machine"])
|
|
3289
|
-
return typing.cast(None, jsii.invoke(self, "handleWorkflowTrigger", [state_machine]))
|
|
3290
|
-
|
|
3291
3975
|
@jsii.member(jsii_name="metrics")
|
|
3292
3976
|
def metrics(self) -> typing.List[_aws_cdk_aws_cloudwatch_ceddda9d.IMetric]:
|
|
3293
3977
|
'''
|
|
@@ -3327,24 +4011,6 @@ class BaseDocumentProcessing(
|
|
|
3327
4011
|
'''
|
|
3328
4012
|
...
|
|
3329
4013
|
|
|
3330
|
-
@builtins.property
|
|
3331
|
-
@jsii.member(jsii_name="bucket")
|
|
3332
|
-
def bucket(self) -> _aws_cdk_aws_s3_ceddda9d.Bucket:
|
|
3333
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
3334
|
-
|
|
3335
|
-
:stability: experimental
|
|
3336
|
-
'''
|
|
3337
|
-
return typing.cast(_aws_cdk_aws_s3_ceddda9d.Bucket, jsii.get(self, "bucket"))
|
|
3338
|
-
|
|
3339
|
-
@builtins.property
|
|
3340
|
-
@jsii.member(jsii_name="deadLetterQueue")
|
|
3341
|
-
def dead_letter_queue(self) -> _aws_cdk_aws_sqs_ceddda9d.Queue:
|
|
3342
|
-
'''(experimental) Dead letter queue.
|
|
3343
|
-
|
|
3344
|
-
:stability: experimental
|
|
3345
|
-
'''
|
|
3346
|
-
return typing.cast(_aws_cdk_aws_sqs_ceddda9d.Queue, jsii.get(self, "deadLetterQueue"))
|
|
3347
|
-
|
|
3348
4014
|
@builtins.property
|
|
3349
4015
|
@jsii.member(jsii_name="documentProcessingTable")
|
|
3350
4016
|
def document_processing_table(self) -> _aws_cdk_aws_dynamodb_ceddda9d.Table:
|
|
@@ -3363,6 +4029,15 @@ class BaseDocumentProcessing(
|
|
|
3363
4029
|
'''
|
|
3364
4030
|
return typing.cast(_aws_cdk_aws_kms_ceddda9d.Key, jsii.get(self, "encryptionKey"))
|
|
3365
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
|
+
|
|
3366
4041
|
@builtins.property
|
|
3367
4042
|
@jsii.member(jsii_name="logGroupDataProtection")
|
|
3368
4043
|
def log_group_data_protection(self) -> LogGroupDataProtectionProps:
|
|
@@ -3392,24 +4067,6 @@ class BaseDocumentProcessing(
|
|
|
3392
4067
|
'''
|
|
3393
4068
|
return typing.cast(builtins.str, jsii.get(self, "metricServiceName"))
|
|
3394
4069
|
|
|
3395
|
-
@builtins.property
|
|
3396
|
-
@jsii.member(jsii_name="queue")
|
|
3397
|
-
def queue(self) -> _aws_cdk_aws_sqs_ceddda9d.Queue:
|
|
3398
|
-
'''(experimental) SQS queue for reliable message processing with dead letter queue support.
|
|
3399
|
-
|
|
3400
|
-
:stability: experimental
|
|
3401
|
-
'''
|
|
3402
|
-
return typing.cast(_aws_cdk_aws_sqs_ceddda9d.Queue, jsii.get(self, "queue"))
|
|
3403
|
-
|
|
3404
|
-
@builtins.property
|
|
3405
|
-
@jsii.member(jsii_name="bucketEncryptionKey")
|
|
3406
|
-
def bucket_encryption_key(self) -> typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey]:
|
|
3407
|
-
'''(experimental) Encryption key used by the DocumentProcessingBucket.
|
|
3408
|
-
|
|
3409
|
-
:stability: experimental
|
|
3410
|
-
'''
|
|
3411
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_kms_ceddda9d.IKey], jsii.get(self, "bucketEncryptionKey"))
|
|
3412
|
-
|
|
3413
4070
|
|
|
3414
4071
|
class _BaseDocumentProcessingProxy(BaseDocumentProcessing):
|
|
3415
4072
|
@jsii.member(jsii_name="classificationStep")
|
|
@@ -3483,14 +4140,12 @@ typing.cast(typing.Any, BaseDocumentProcessing).__jsii_proxy_class__ = lambda :
|
|
|
3483
4140
|
"log_group_data_protection": "logGroupDataProtection",
|
|
3484
4141
|
"metric_namespace": "metricNamespace",
|
|
3485
4142
|
"metric_service_name": "metricServiceName",
|
|
3486
|
-
"bucket": "bucket",
|
|
3487
|
-
"dlq_max_receive_count": "dlqMaxReceiveCount",
|
|
3488
4143
|
"document_processing_table": "documentProcessingTable",
|
|
3489
4144
|
"enable_observability": "enableObservability",
|
|
3490
4145
|
"encryption_key": "encryptionKey",
|
|
3491
4146
|
"eventbridge_broker": "eventbridgeBroker",
|
|
4147
|
+
"ingress_adapter": "ingressAdapter",
|
|
3492
4148
|
"network": "network",
|
|
3493
|
-
"queue_visibility_timeout": "queueVisibilityTimeout",
|
|
3494
4149
|
"removal_policy": "removalPolicy",
|
|
3495
4150
|
"workflow_timeout": "workflowTimeout",
|
|
3496
4151
|
},
|
|
@@ -3502,14 +4157,12 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3502
4157
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
3503
4158
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
3504
4159
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
3505
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3506
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3507
4160
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3508
4161
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3509
4162
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3510
4163
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
4164
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3511
4165
|
network: typing.Optional[Network] = None,
|
|
3512
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3513
4166
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3514
4167
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3515
4168
|
) -> None:
|
|
@@ -3518,14 +4171,12 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3518
4171
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
3519
4172
|
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
3520
4173
|
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
3521
|
-
: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.
|
|
3522
|
-
: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
|
|
3523
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.
|
|
3524
4175
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3525
4176
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3526
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
|
|
3527
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
|
|
3528
|
-
: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)
|
|
3529
4180
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3530
4181
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3531
4182
|
|
|
@@ -3538,14 +4189,12 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3538
4189
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
3539
4190
|
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
3540
4191
|
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
3541
|
-
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
3542
|
-
check_type(argname="argument dlq_max_receive_count", value=dlq_max_receive_count, expected_type=type_hints["dlq_max_receive_count"])
|
|
3543
4192
|
check_type(argname="argument document_processing_table", value=document_processing_table, expected_type=type_hints["document_processing_table"])
|
|
3544
4193
|
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
3545
4194
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
3546
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"])
|
|
3547
4197
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
3548
|
-
check_type(argname="argument queue_visibility_timeout", value=queue_visibility_timeout, expected_type=type_hints["queue_visibility_timeout"])
|
|
3549
4198
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
3550
4199
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
3551
4200
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
@@ -3555,10 +4204,6 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3555
4204
|
self._values["metric_namespace"] = metric_namespace
|
|
3556
4205
|
if metric_service_name is not None:
|
|
3557
4206
|
self._values["metric_service_name"] = metric_service_name
|
|
3558
|
-
if bucket is not None:
|
|
3559
|
-
self._values["bucket"] = bucket
|
|
3560
|
-
if dlq_max_receive_count is not None:
|
|
3561
|
-
self._values["dlq_max_receive_count"] = dlq_max_receive_count
|
|
3562
4207
|
if document_processing_table is not None:
|
|
3563
4208
|
self._values["document_processing_table"] = document_processing_table
|
|
3564
4209
|
if enable_observability is not None:
|
|
@@ -3567,10 +4212,10 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3567
4212
|
self._values["encryption_key"] = encryption_key
|
|
3568
4213
|
if eventbridge_broker is not None:
|
|
3569
4214
|
self._values["eventbridge_broker"] = eventbridge_broker
|
|
4215
|
+
if ingress_adapter is not None:
|
|
4216
|
+
self._values["ingress_adapter"] = ingress_adapter
|
|
3570
4217
|
if network is not None:
|
|
3571
4218
|
self._values["network"] = network
|
|
3572
|
-
if queue_visibility_timeout is not None:
|
|
3573
|
-
self._values["queue_visibility_timeout"] = queue_visibility_timeout
|
|
3574
4219
|
if removal_policy is not None:
|
|
3575
4220
|
self._values["removal_policy"] = removal_policy
|
|
3576
4221
|
if workflow_timeout is not None:
|
|
@@ -3609,28 +4254,6 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3609
4254
|
result = self._values.get("metric_service_name")
|
|
3610
4255
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
3611
4256
|
|
|
3612
|
-
@builtins.property
|
|
3613
|
-
def bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
3614
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
3615
|
-
|
|
3616
|
-
If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
3617
|
-
|
|
3618
|
-
:stability: experimental
|
|
3619
|
-
'''
|
|
3620
|
-
result = self._values.get("bucket")
|
|
3621
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
3622
|
-
|
|
3623
|
-
@builtins.property
|
|
3624
|
-
def dlq_max_receive_count(self) -> typing.Optional[jsii.Number]:
|
|
3625
|
-
'''(experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue.
|
|
3626
|
-
|
|
3627
|
-
:default: 5
|
|
3628
|
-
|
|
3629
|
-
:stability: experimental
|
|
3630
|
-
'''
|
|
3631
|
-
result = self._values.get("dlq_max_receive_count")
|
|
3632
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
3633
|
-
|
|
3634
4257
|
@builtins.property
|
|
3635
4258
|
def document_processing_table(
|
|
3636
4259
|
self,
|
|
@@ -3678,28 +4301,26 @@ class BaseDocumentProcessingProps(ObservableProps):
|
|
|
3678
4301
|
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
3679
4302
|
|
|
3680
4303
|
@builtins.property
|
|
3681
|
-
def
|
|
3682
|
-
'''(experimental)
|
|
4304
|
+
def ingress_adapter(self) -> typing.Optional[IAdapter]:
|
|
4305
|
+
'''(experimental) Adapter that defines how the document processing workflow is triggered.
|
|
3683
4306
|
|
|
3684
|
-
:default:
|
|
4307
|
+
:default: QueuedS3Adapter
|
|
3685
4308
|
|
|
3686
4309
|
:stability: experimental
|
|
3687
4310
|
'''
|
|
3688
|
-
result = self._values.get("
|
|
3689
|
-
return typing.cast(typing.Optional[
|
|
4311
|
+
result = self._values.get("ingress_adapter")
|
|
4312
|
+
return typing.cast(typing.Optional[IAdapter], result)
|
|
3690
4313
|
|
|
3691
4314
|
@builtins.property
|
|
3692
|
-
def
|
|
3693
|
-
'''(experimental)
|
|
3694
|
-
|
|
3695
|
-
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.
|
|
3696
4317
|
|
|
3697
|
-
:default:
|
|
4318
|
+
:default: resources will run outside of a VPC
|
|
3698
4319
|
|
|
3699
4320
|
:stability: experimental
|
|
3700
4321
|
'''
|
|
3701
|
-
result = self._values.get("
|
|
3702
|
-
return typing.cast(typing.Optional[
|
|
4322
|
+
result = self._values.get("network")
|
|
4323
|
+
return typing.cast(typing.Optional[Network], result)
|
|
3703
4324
|
|
|
3704
4325
|
@builtins.property
|
|
3705
4326
|
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
@@ -3801,14 +4422,12 @@ class BedrockDocumentProcessing(
|
|
|
3801
4422
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
3802
4423
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3803
4424
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
3804
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
3805
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
3806
4425
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
3807
4426
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
3808
4427
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
3809
4428
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
4429
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
3810
4430
|
network: typing.Optional[Network] = None,
|
|
3811
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3812
4431
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
3813
4432
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
3814
4433
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -3832,14 +4451,12 @@ class BedrockDocumentProcessing(
|
|
|
3832
4451
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
3833
4452
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
3834
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
|
|
3835
|
-
: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.
|
|
3836
|
-
: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
|
|
3837
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.
|
|
3838
4455
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
3839
4456
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
3840
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
|
|
3841
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
|
|
3842
|
-
: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)
|
|
3843
4460
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
3844
4461
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
3845
4462
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
@@ -3862,14 +4479,12 @@ class BedrockDocumentProcessing(
|
|
|
3862
4479
|
processing_prompt=processing_prompt,
|
|
3863
4480
|
step_timeouts=step_timeouts,
|
|
3864
4481
|
use_cross_region_inference=use_cross_region_inference,
|
|
3865
|
-
bucket=bucket,
|
|
3866
|
-
dlq_max_receive_count=dlq_max_receive_count,
|
|
3867
4482
|
document_processing_table=document_processing_table,
|
|
3868
4483
|
enable_observability=enable_observability,
|
|
3869
4484
|
encryption_key=encryption_key,
|
|
3870
4485
|
eventbridge_broker=eventbridge_broker,
|
|
4486
|
+
ingress_adapter=ingress_adapter,
|
|
3871
4487
|
network=network,
|
|
3872
|
-
queue_visibility_timeout=queue_visibility_timeout,
|
|
3873
4488
|
removal_policy=removal_policy,
|
|
3874
4489
|
workflow_timeout=workflow_timeout,
|
|
3875
4490
|
log_group_data_protection=log_group_data_protection,
|
|
@@ -4032,14 +4647,12 @@ class BedrockDocumentProcessing(
|
|
|
4032
4647
|
"log_group_data_protection": "logGroupDataProtection",
|
|
4033
4648
|
"metric_namespace": "metricNamespace",
|
|
4034
4649
|
"metric_service_name": "metricServiceName",
|
|
4035
|
-
"bucket": "bucket",
|
|
4036
|
-
"dlq_max_receive_count": "dlqMaxReceiveCount",
|
|
4037
4650
|
"document_processing_table": "documentProcessingTable",
|
|
4038
4651
|
"enable_observability": "enableObservability",
|
|
4039
4652
|
"encryption_key": "encryptionKey",
|
|
4040
4653
|
"eventbridge_broker": "eventbridgeBroker",
|
|
4654
|
+
"ingress_adapter": "ingressAdapter",
|
|
4041
4655
|
"network": "network",
|
|
4042
|
-
"queue_visibility_timeout": "queueVisibilityTimeout",
|
|
4043
4656
|
"removal_policy": "removalPolicy",
|
|
4044
4657
|
"workflow_timeout": "workflowTimeout",
|
|
4045
4658
|
"classification_model_id": "classificationModelId",
|
|
@@ -4060,14 +4673,12 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4060
4673
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4061
4674
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
4062
4675
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
4063
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
4064
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
4065
4676
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4066
4677
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4067
4678
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4068
4679
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
4680
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
4069
4681
|
network: typing.Optional[Network] = None,
|
|
4070
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4071
4682
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4072
4683
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4073
4684
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -4087,14 +4698,12 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4087
4698
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
4088
4699
|
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
4089
4700
|
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
4090
|
-
: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.
|
|
4091
|
-
: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
|
|
4092
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.
|
|
4093
4702
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
4094
4703
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
4095
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
|
|
4096
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
|
|
4097
|
-
: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)
|
|
4098
4707
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
4099
4708
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
4100
4709
|
:param classification_model_id: (experimental) Bedrock foundation model for document classification step. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
@@ -4116,14 +4725,12 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4116
4725
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
4117
4726
|
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
4118
4727
|
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
4119
|
-
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
4120
|
-
check_type(argname="argument dlq_max_receive_count", value=dlq_max_receive_count, expected_type=type_hints["dlq_max_receive_count"])
|
|
4121
4728
|
check_type(argname="argument document_processing_table", value=document_processing_table, expected_type=type_hints["document_processing_table"])
|
|
4122
4729
|
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
4123
4730
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
4124
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"])
|
|
4125
4733
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
4126
|
-
check_type(argname="argument queue_visibility_timeout", value=queue_visibility_timeout, expected_type=type_hints["queue_visibility_timeout"])
|
|
4127
4734
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
4128
4735
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
4129
4736
|
check_type(argname="argument classification_model_id", value=classification_model_id, expected_type=type_hints["classification_model_id"])
|
|
@@ -4142,10 +4749,6 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4142
4749
|
self._values["metric_namespace"] = metric_namespace
|
|
4143
4750
|
if metric_service_name is not None:
|
|
4144
4751
|
self._values["metric_service_name"] = metric_service_name
|
|
4145
|
-
if bucket is not None:
|
|
4146
|
-
self._values["bucket"] = bucket
|
|
4147
|
-
if dlq_max_receive_count is not None:
|
|
4148
|
-
self._values["dlq_max_receive_count"] = dlq_max_receive_count
|
|
4149
4752
|
if document_processing_table is not None:
|
|
4150
4753
|
self._values["document_processing_table"] = document_processing_table
|
|
4151
4754
|
if enable_observability is not None:
|
|
@@ -4154,10 +4757,10 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4154
4757
|
self._values["encryption_key"] = encryption_key
|
|
4155
4758
|
if eventbridge_broker is not None:
|
|
4156
4759
|
self._values["eventbridge_broker"] = eventbridge_broker
|
|
4760
|
+
if ingress_adapter is not None:
|
|
4761
|
+
self._values["ingress_adapter"] = ingress_adapter
|
|
4157
4762
|
if network is not None:
|
|
4158
4763
|
self._values["network"] = network
|
|
4159
|
-
if queue_visibility_timeout is not None:
|
|
4160
|
-
self._values["queue_visibility_timeout"] = queue_visibility_timeout
|
|
4161
4764
|
if removal_policy is not None:
|
|
4162
4765
|
self._values["removal_policy"] = removal_policy
|
|
4163
4766
|
if workflow_timeout is not None:
|
|
@@ -4214,28 +4817,6 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4214
4817
|
result = self._values.get("metric_service_name")
|
|
4215
4818
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
4216
4819
|
|
|
4217
|
-
@builtins.property
|
|
4218
|
-
def bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
4219
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
4220
|
-
|
|
4221
|
-
If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
4222
|
-
|
|
4223
|
-
:stability: experimental
|
|
4224
|
-
'''
|
|
4225
|
-
result = self._values.get("bucket")
|
|
4226
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
4227
|
-
|
|
4228
|
-
@builtins.property
|
|
4229
|
-
def dlq_max_receive_count(self) -> typing.Optional[jsii.Number]:
|
|
4230
|
-
'''(experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue.
|
|
4231
|
-
|
|
4232
|
-
:default: 5
|
|
4233
|
-
|
|
4234
|
-
:stability: experimental
|
|
4235
|
-
'''
|
|
4236
|
-
result = self._values.get("dlq_max_receive_count")
|
|
4237
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4238
|
-
|
|
4239
4820
|
@builtins.property
|
|
4240
4821
|
def document_processing_table(
|
|
4241
4822
|
self,
|
|
@@ -4283,28 +4864,26 @@ class BedrockDocumentProcessingProps(BaseDocumentProcessingProps):
|
|
|
4283
4864
|
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
4284
4865
|
|
|
4285
4866
|
@builtins.property
|
|
4286
|
-
def
|
|
4287
|
-
'''(experimental)
|
|
4867
|
+
def ingress_adapter(self) -> typing.Optional[IAdapter]:
|
|
4868
|
+
'''(experimental) Adapter that defines how the document processing workflow is triggered.
|
|
4288
4869
|
|
|
4289
|
-
:default:
|
|
4870
|
+
:default: QueuedS3Adapter
|
|
4290
4871
|
|
|
4291
4872
|
:stability: experimental
|
|
4292
4873
|
'''
|
|
4293
|
-
result = self._values.get("
|
|
4294
|
-
return typing.cast(typing.Optional[
|
|
4874
|
+
result = self._values.get("ingress_adapter")
|
|
4875
|
+
return typing.cast(typing.Optional[IAdapter], result)
|
|
4295
4876
|
|
|
4296
4877
|
@builtins.property
|
|
4297
|
-
def
|
|
4298
|
-
'''(experimental)
|
|
4299
|
-
|
|
4300
|
-
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.
|
|
4301
4880
|
|
|
4302
|
-
:default:
|
|
4881
|
+
:default: resources will run outside of a VPC
|
|
4303
4882
|
|
|
4304
4883
|
:stability: experimental
|
|
4305
4884
|
'''
|
|
4306
|
-
result = self._values.get("
|
|
4307
|
-
return typing.cast(typing.Optional[
|
|
4885
|
+
result = self._values.get("network")
|
|
4886
|
+
return typing.cast(typing.Optional[Network], result)
|
|
4308
4887
|
|
|
4309
4888
|
@builtins.property
|
|
4310
4889
|
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
@@ -4481,14 +5060,12 @@ class AgenticDocumentProcessing(
|
|
|
4481
5060
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
4482
5061
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4483
5062
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
4484
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
4485
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
4486
5063
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4487
5064
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4488
5065
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4489
5066
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
5067
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
4490
5068
|
network: typing.Optional[Network] = None,
|
|
4491
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4492
5069
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4493
5070
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4494
5071
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -4508,14 +5085,12 @@ class AgenticDocumentProcessing(
|
|
|
4508
5085
|
:param processing_prompt: (experimental) Custom prompt template for document extraction. Must include placeholder for document content and classification result. Default: DEFAULT_EXTRACTION_PROMPT
|
|
4509
5086
|
:param step_timeouts: (experimental) Timeout for individual Step Functions tasks (classification, extraction, etc.). Default: Duration.minutes(5)
|
|
4510
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
|
|
4511
|
-
: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.
|
|
4512
|
-
: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
|
|
4513
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.
|
|
4514
5089
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
4515
5090
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
4516
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
|
|
4517
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
|
|
4518
|
-
: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)
|
|
4519
5094
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
4520
5095
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
4521
5096
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
@@ -4539,14 +5114,12 @@ class AgenticDocumentProcessing(
|
|
|
4539
5114
|
processing_prompt=processing_prompt,
|
|
4540
5115
|
step_timeouts=step_timeouts,
|
|
4541
5116
|
use_cross_region_inference=use_cross_region_inference,
|
|
4542
|
-
bucket=bucket,
|
|
4543
|
-
dlq_max_receive_count=dlq_max_receive_count,
|
|
4544
5117
|
document_processing_table=document_processing_table,
|
|
4545
5118
|
enable_observability=enable_observability,
|
|
4546
5119
|
encryption_key=encryption_key,
|
|
4547
5120
|
eventbridge_broker=eventbridge_broker,
|
|
5121
|
+
ingress_adapter=ingress_adapter,
|
|
4548
5122
|
network=network,
|
|
4549
|
-
queue_visibility_timeout=queue_visibility_timeout,
|
|
4550
5123
|
removal_policy=removal_policy,
|
|
4551
5124
|
workflow_timeout=workflow_timeout,
|
|
4552
5125
|
log_group_data_protection=log_group_data_protection,
|
|
@@ -4578,14 +5151,12 @@ class AgenticDocumentProcessing(
|
|
|
4578
5151
|
"log_group_data_protection": "logGroupDataProtection",
|
|
4579
5152
|
"metric_namespace": "metricNamespace",
|
|
4580
5153
|
"metric_service_name": "metricServiceName",
|
|
4581
|
-
"bucket": "bucket",
|
|
4582
|
-
"dlq_max_receive_count": "dlqMaxReceiveCount",
|
|
4583
5154
|
"document_processing_table": "documentProcessingTable",
|
|
4584
5155
|
"enable_observability": "enableObservability",
|
|
4585
5156
|
"encryption_key": "encryptionKey",
|
|
4586
5157
|
"eventbridge_broker": "eventbridgeBroker",
|
|
5158
|
+
"ingress_adapter": "ingressAdapter",
|
|
4587
5159
|
"network": "network",
|
|
4588
|
-
"queue_visibility_timeout": "queueVisibilityTimeout",
|
|
4589
5160
|
"removal_policy": "removalPolicy",
|
|
4590
5161
|
"workflow_timeout": "workflowTimeout",
|
|
4591
5162
|
"classification_model_id": "classificationModelId",
|
|
@@ -4607,14 +5178,12 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4607
5178
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
4608
5179
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
4609
5180
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
4610
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
4611
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
4612
5181
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
4613
5182
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
4614
5183
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
4615
5184
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
5185
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
4616
5186
|
network: typing.Optional[Network] = None,
|
|
4617
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4618
5187
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
4619
5188
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
4620
5189
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -4632,14 +5201,12 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4632
5201
|
:param log_group_data_protection: (experimental) Data protection related configuration. Default: a new KMS key would be generated
|
|
4633
5202
|
:param metric_namespace: (experimental) Business metric namespace. Default: would be defined per use case
|
|
4634
5203
|
:param metric_service_name: (experimental) Business metric service name dimension. Default: would be defined per use case
|
|
4635
|
-
: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.
|
|
4636
|
-
: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
|
|
4637
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.
|
|
4638
5205
|
:param enable_observability: (experimental) Enable logging and tracing for all supporting resource. Default: false
|
|
4639
5206
|
:param encryption_key: (experimental) KMS key to be used. Default: A new key would be created
|
|
4640
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
|
|
4641
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
|
|
4642
|
-
: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)
|
|
4643
5210
|
:param removal_policy: (experimental) Removal policy for created resources (bucket, table, queue). Default: RemovalPolicy.DESTROY
|
|
4644
5211
|
:param workflow_timeout: (experimental) Maximum execution time for the Step Functions workflow. Default: Duration.minutes(30)
|
|
4645
5212
|
:param classification_model_id: (experimental) Bedrock foundation model for document classification step. Default: FoundationModelIdentifier.ANTHROPIC_CLAUDE_3_7_SONNET_20250219_V1_0
|
|
@@ -4664,14 +5231,12 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4664
5231
|
check_type(argname="argument log_group_data_protection", value=log_group_data_protection, expected_type=type_hints["log_group_data_protection"])
|
|
4665
5232
|
check_type(argname="argument metric_namespace", value=metric_namespace, expected_type=type_hints["metric_namespace"])
|
|
4666
5233
|
check_type(argname="argument metric_service_name", value=metric_service_name, expected_type=type_hints["metric_service_name"])
|
|
4667
|
-
check_type(argname="argument bucket", value=bucket, expected_type=type_hints["bucket"])
|
|
4668
|
-
check_type(argname="argument dlq_max_receive_count", value=dlq_max_receive_count, expected_type=type_hints["dlq_max_receive_count"])
|
|
4669
5234
|
check_type(argname="argument document_processing_table", value=document_processing_table, expected_type=type_hints["document_processing_table"])
|
|
4670
5235
|
check_type(argname="argument enable_observability", value=enable_observability, expected_type=type_hints["enable_observability"])
|
|
4671
5236
|
check_type(argname="argument encryption_key", value=encryption_key, expected_type=type_hints["encryption_key"])
|
|
4672
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"])
|
|
4673
5239
|
check_type(argname="argument network", value=network, expected_type=type_hints["network"])
|
|
4674
|
-
check_type(argname="argument queue_visibility_timeout", value=queue_visibility_timeout, expected_type=type_hints["queue_visibility_timeout"])
|
|
4675
5240
|
check_type(argname="argument removal_policy", value=removal_policy, expected_type=type_hints["removal_policy"])
|
|
4676
5241
|
check_type(argname="argument workflow_timeout", value=workflow_timeout, expected_type=type_hints["workflow_timeout"])
|
|
4677
5242
|
check_type(argname="argument classification_model_id", value=classification_model_id, expected_type=type_hints["classification_model_id"])
|
|
@@ -4691,10 +5256,6 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4691
5256
|
self._values["metric_namespace"] = metric_namespace
|
|
4692
5257
|
if metric_service_name is not None:
|
|
4693
5258
|
self._values["metric_service_name"] = metric_service_name
|
|
4694
|
-
if bucket is not None:
|
|
4695
|
-
self._values["bucket"] = bucket
|
|
4696
|
-
if dlq_max_receive_count is not None:
|
|
4697
|
-
self._values["dlq_max_receive_count"] = dlq_max_receive_count
|
|
4698
5259
|
if document_processing_table is not None:
|
|
4699
5260
|
self._values["document_processing_table"] = document_processing_table
|
|
4700
5261
|
if enable_observability is not None:
|
|
@@ -4703,10 +5264,10 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4703
5264
|
self._values["encryption_key"] = encryption_key
|
|
4704
5265
|
if eventbridge_broker is not None:
|
|
4705
5266
|
self._values["eventbridge_broker"] = eventbridge_broker
|
|
5267
|
+
if ingress_adapter is not None:
|
|
5268
|
+
self._values["ingress_adapter"] = ingress_adapter
|
|
4706
5269
|
if network is not None:
|
|
4707
5270
|
self._values["network"] = network
|
|
4708
|
-
if queue_visibility_timeout is not None:
|
|
4709
|
-
self._values["queue_visibility_timeout"] = queue_visibility_timeout
|
|
4710
5271
|
if removal_policy is not None:
|
|
4711
5272
|
self._values["removal_policy"] = removal_policy
|
|
4712
5273
|
if workflow_timeout is not None:
|
|
@@ -4765,28 +5326,6 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4765
5326
|
result = self._values.get("metric_service_name")
|
|
4766
5327
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
4767
5328
|
|
|
4768
|
-
@builtins.property
|
|
4769
|
-
def bucket(self) -> typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket]:
|
|
4770
|
-
'''(experimental) S3 bucket for document storage with organized prefixes (raw/, processed/, failed/).
|
|
4771
|
-
|
|
4772
|
-
If not provided, a new bucket will be created with auto-delete enabled based on removalPolicy.
|
|
4773
|
-
|
|
4774
|
-
:stability: experimental
|
|
4775
|
-
'''
|
|
4776
|
-
result = self._values.get("bucket")
|
|
4777
|
-
return typing.cast(typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket], result)
|
|
4778
|
-
|
|
4779
|
-
@builtins.property
|
|
4780
|
-
def dlq_max_receive_count(self) -> typing.Optional[jsii.Number]:
|
|
4781
|
-
'''(experimental) The number of times a message can be unsuccessfully dequeued before being moved to the dead-letter queue.
|
|
4782
|
-
|
|
4783
|
-
:default: 5
|
|
4784
|
-
|
|
4785
|
-
:stability: experimental
|
|
4786
|
-
'''
|
|
4787
|
-
result = self._values.get("dlq_max_receive_count")
|
|
4788
|
-
return typing.cast(typing.Optional[jsii.Number], result)
|
|
4789
|
-
|
|
4790
5329
|
@builtins.property
|
|
4791
5330
|
def document_processing_table(
|
|
4792
5331
|
self,
|
|
@@ -4834,28 +5373,26 @@ class AgenticDocumentProcessingProps(BedrockDocumentProcessingProps):
|
|
|
4834
5373
|
return typing.cast(typing.Optional[EventbridgeBroker], result)
|
|
4835
5374
|
|
|
4836
5375
|
@builtins.property
|
|
4837
|
-
def
|
|
4838
|
-
'''(experimental)
|
|
5376
|
+
def ingress_adapter(self) -> typing.Optional[IAdapter]:
|
|
5377
|
+
'''(experimental) Adapter that defines how the document processing workflow is triggered.
|
|
4839
5378
|
|
|
4840
|
-
:default:
|
|
5379
|
+
:default: QueuedS3Adapter
|
|
4841
5380
|
|
|
4842
5381
|
:stability: experimental
|
|
4843
5382
|
'''
|
|
4844
|
-
result = self._values.get("
|
|
4845
|
-
return typing.cast(typing.Optional[
|
|
5383
|
+
result = self._values.get("ingress_adapter")
|
|
5384
|
+
return typing.cast(typing.Optional[IAdapter], result)
|
|
4846
5385
|
|
|
4847
5386
|
@builtins.property
|
|
4848
|
-
def
|
|
4849
|
-
'''(experimental)
|
|
4850
|
-
|
|
4851
|
-
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.
|
|
4852
5389
|
|
|
4853
|
-
:default:
|
|
5390
|
+
:default: resources will run outside of a VPC
|
|
4854
5391
|
|
|
4855
5392
|
:stability: experimental
|
|
4856
5393
|
'''
|
|
4857
|
-
result = self._values.get("
|
|
4858
|
-
return typing.cast(typing.Optional[
|
|
5394
|
+
result = self._values.get("network")
|
|
5395
|
+
return typing.cast(typing.Optional[Network], result)
|
|
4859
5396
|
|
|
4860
5397
|
@builtins.property
|
|
4861
5398
|
def removal_policy(self) -> typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy]:
|
|
@@ -5034,14 +5571,16 @@ __all__ = [
|
|
|
5034
5571
|
"DataLoaderProps",
|
|
5035
5572
|
"DatabaseConfig",
|
|
5036
5573
|
"DatabaseEngine",
|
|
5574
|
+
"DefaultDocumentProcessingConfig",
|
|
5575
|
+
"DefaultObservabilityConfig",
|
|
5037
5576
|
"DefaultRuntimes",
|
|
5038
|
-
"DocumentProcessingPrefix",
|
|
5039
5577
|
"EventbridgeBroker",
|
|
5040
5578
|
"EventbridgeBrokerProps",
|
|
5041
5579
|
"FileInput",
|
|
5042
5580
|
"FileType",
|
|
5043
5581
|
"Frontend",
|
|
5044
5582
|
"FrontendProps",
|
|
5583
|
+
"IAdapter",
|
|
5045
5584
|
"IObservable",
|
|
5046
5585
|
"LambdaIamUtils",
|
|
5047
5586
|
"LambdaIamUtilsStackInfo",
|
|
@@ -5053,6 +5592,8 @@ __all__ = [
|
|
|
5053
5592
|
"NetworkProps",
|
|
5054
5593
|
"ObservableProps",
|
|
5055
5594
|
"PowertoolsConfig",
|
|
5595
|
+
"QueuedS3Adapter",
|
|
5596
|
+
"QueuedS3AdapterProps",
|
|
5056
5597
|
"StateMachineObservabilityPropertyInjector",
|
|
5057
5598
|
]
|
|
5058
5599
|
|
|
@@ -5108,6 +5649,7 @@ def _typecheckingstub__e1a82500ee072f393cd9a2ada2f9a3434219c7a51186f26fbba3061bd
|
|
|
5108
5649
|
*,
|
|
5109
5650
|
agent_system_prompt: typing.Optional[builtins.str] = None,
|
|
5110
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,
|
|
5111
5653
|
tools_location: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
5112
5654
|
) -> None:
|
|
5113
5655
|
"""Type checking stubs"""
|
|
@@ -5251,6 +5793,62 @@ def _typecheckingstub__2648a6f2c6f02177f5b324264b7de549aa23b0c1d93c8d6cccbc307a8
|
|
|
5251
5793
|
"""Type checking stubs"""
|
|
5252
5794
|
pass
|
|
5253
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
|
+
|
|
5254
5852
|
def _typecheckingstub__8fea74c9846ad0c5bdddcbfe10063247cb7bcf58aac91e0be80d1226246784e4(
|
|
5255
5853
|
table_arn: builtins.str,
|
|
5256
5854
|
actions: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
@@ -5414,6 +6012,74 @@ def _typecheckingstub__e065c545d4fce5c4fc2579c3efea8203f50b6d3c8b39aa1595ea3577d
|
|
|
5414
6012
|
"""Type checking stubs"""
|
|
5415
6013
|
pass
|
|
5416
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
|
+
|
|
5417
6083
|
def _typecheckingstub__011b55520774139b52c951d9cc59273f686e377b5415ee42a57650da571d43e7(
|
|
5418
6084
|
original_props: typing.Any,
|
|
5419
6085
|
*,
|
|
@@ -5427,14 +6093,12 @@ def _typecheckingstub__117c249a26f3e7532983afc9123fadff3e20effcc69408df0f45a03eb
|
|
|
5427
6093
|
scope: _constructs_77d1e7e8.Construct,
|
|
5428
6094
|
id: builtins.str,
|
|
5429
6095
|
*,
|
|
5430
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5431
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5432
6096
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5433
6097
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5434
6098
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5435
6099
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6100
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5436
6101
|
network: typing.Optional[Network] = None,
|
|
5437
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5438
6102
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5439
6103
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5440
6104
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -5450,25 +6114,17 @@ def _typecheckingstub__900aa9de379313a2a9a3e24a2901f803dec0a30dde90b7255d9f180e2
|
|
|
5450
6114
|
"""Type checking stubs"""
|
|
5451
6115
|
pass
|
|
5452
6116
|
|
|
5453
|
-
def _typecheckingstub__51565b317b75c58d9a9fb26bd3a0b7c471bf8844bfd0cc94dd43d1850d7ab957(
|
|
5454
|
-
state_machine: _aws_cdk_aws_stepfunctions_ceddda9d.StateMachine,
|
|
5455
|
-
) -> None:
|
|
5456
|
-
"""Type checking stubs"""
|
|
5457
|
-
pass
|
|
5458
|
-
|
|
5459
6117
|
def _typecheckingstub__75e07bce24d48571be58cad69f751b10a17a738fdb9db601acdc689ff1e6da22(
|
|
5460
6118
|
*,
|
|
5461
6119
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5462
6120
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5463
6121
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5464
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5465
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5466
6122
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5467
6123
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5468
6124
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5469
6125
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6126
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5470
6127
|
network: typing.Optional[Network] = None,
|
|
5471
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5472
6128
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5473
6129
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5474
6130
|
) -> None:
|
|
@@ -5488,14 +6144,12 @@ def _typecheckingstub__7393f9c6b2af93f7d8668b32cec54ba8c77259644ab01f57b3fbd50c7
|
|
|
5488
6144
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
5489
6145
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5490
6146
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
5491
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5492
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5493
6147
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5494
6148
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5495
6149
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5496
6150
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6151
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5497
6152
|
network: typing.Optional[Network] = None,
|
|
5498
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5499
6153
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5500
6154
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5501
6155
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -5517,14 +6171,12 @@ def _typecheckingstub__9606a6418d69bde20176ec33b27eaa22c0e0cdb6b105d382e9d038566
|
|
|
5517
6171
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5518
6172
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5519
6173
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5520
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5521
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5522
6174
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5523
6175
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5524
6176
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5525
6177
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6178
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5526
6179
|
network: typing.Optional[Network] = None,
|
|
5527
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5528
6180
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5529
6181
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5530
6182
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -5554,14 +6206,12 @@ def _typecheckingstub__b7f396236f637ec7234d81b355cf773497392b537455f3d888c4b7170
|
|
|
5554
6206
|
processing_prompt: typing.Optional[builtins.str] = None,
|
|
5555
6207
|
step_timeouts: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5556
6208
|
use_cross_region_inference: typing.Optional[builtins.bool] = None,
|
|
5557
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5558
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5559
6209
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5560
6210
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5561
6211
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5562
6212
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6213
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5563
6214
|
network: typing.Optional[Network] = None,
|
|
5564
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5565
6215
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5566
6216
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5567
6217
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
@@ -5576,14 +6226,12 @@ def _typecheckingstub__da9ccab0035a06d18b5aa3f2de69201b3bbd6e30f7707a291977a0e4f
|
|
|
5576
6226
|
log_group_data_protection: typing.Optional[typing.Union[LogGroupDataProtectionProps, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
5577
6227
|
metric_namespace: typing.Optional[builtins.str] = None,
|
|
5578
6228
|
metric_service_name: typing.Optional[builtins.str] = None,
|
|
5579
|
-
bucket: typing.Optional[_aws_cdk_aws_s3_ceddda9d.Bucket] = None,
|
|
5580
|
-
dlq_max_receive_count: typing.Optional[jsii.Number] = None,
|
|
5581
6229
|
document_processing_table: typing.Optional[_aws_cdk_aws_dynamodb_ceddda9d.Table] = None,
|
|
5582
6230
|
enable_observability: typing.Optional[builtins.bool] = None,
|
|
5583
6231
|
encryption_key: typing.Optional[_aws_cdk_aws_kms_ceddda9d.Key] = None,
|
|
5584
6232
|
eventbridge_broker: typing.Optional[EventbridgeBroker] = None,
|
|
6233
|
+
ingress_adapter: typing.Optional[IAdapter] = None,
|
|
5585
6234
|
network: typing.Optional[Network] = None,
|
|
5586
|
-
queue_visibility_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5587
6235
|
removal_policy: typing.Optional[_aws_cdk_ceddda9d.RemovalPolicy] = None,
|
|
5588
6236
|
workflow_timeout: typing.Optional[_aws_cdk_ceddda9d.Duration] = None,
|
|
5589
6237
|
classification_model_id: typing.Optional[_aws_cdk_aws_bedrock_ceddda9d.FoundationModelIdentifier] = None,
|
|
@@ -5599,3 +6247,6 @@ def _typecheckingstub__da9ccab0035a06d18b5aa3f2de69201b3bbd6e30f7707a291977a0e4f
|
|
|
5599
6247
|
) -> None:
|
|
5600
6248
|
"""Type checking stubs"""
|
|
5601
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__'])
|