{ "author": { "name": "Shu-Jeng Hsieh", "roles": [ "author" ], "url": "https://fantasticsie.medium.com/" }, "bundled": { "aws-sdk": "^2.1691.0", "esbuild": "^0.24.0" }, "dependencies": { "aws-cdk-lib": "^2.27.0", "constructs": "^10.0.5" }, "dependencyClosure": { "@aws-cdk/asset-awscli-v1": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.AwsCliV1", "packageId": "Amazon.CDK.Asset.AwsCliV1" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-awscli-go", "packageName": "awscliv1" }, "java": { "maven": { "artifactId": "cdk-asset-awscli-v1", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.awscli.v1" }, "js": { "npm": "@aws-cdk/asset-awscli-v1" }, "python": { "distName": "aws-cdk.asset-awscli-v1", "module": "aws_cdk.asset_awscli_v1" } } }, "@aws-cdk/asset-kubectl-v20": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.KubectlV20", "packageId": "Amazon.CDK.Asset.KubectlV20" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-kubectl-go", "packageName": "kubectlv20" }, "java": { "maven": { "artifactId": "cdk-asset-kubectl-v20", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.kubectl.v20" }, "js": { "npm": "@aws-cdk/asset-kubectl-v20" }, "python": { "distName": "aws-cdk.asset-kubectl-v20", "module": "aws_cdk.asset_kubectl_v20" } } }, "@aws-cdk/asset-node-proxy-agent-v6": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.NodeProxyAgentV6", "packageId": "Amazon.CDK.Asset.NodeProxyAgentV6" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-node-proxy-agent-go", "packageName": "nodeproxyagentv6" }, "java": { "maven": { "artifactId": "cdk-asset-node-proxy-agent-v6", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.v6" }, "js": { "npm": "@aws-cdk/asset-node-proxy-agent-v6" }, "python": { "distName": "aws-cdk.asset-node-proxy-agent-v6", "module": "aws_cdk.asset_node_proxy_agent_v6" } } }, "@aws-cdk/cloud-assembly-schema": { "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png", "namespace": "Amazon.CDK.CloudAssembly.Schema", "packageId": "Amazon.CDK.CloudAssembly.Schema" }, "go": { "moduleName": "github.com/cdklabs/cloud-assembly-schema-go" }, "java": { "maven": { "artifactId": "cdk-cloud-assembly-schema", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cloudassembly.schema" }, "js": { "npm": "@aws-cdk/cloud-assembly-schema" }, "python": { "classifiers": [ "Framework :: AWS CDK", "Framework :: AWS CDK :: 2" ], "distName": "aws-cdk.cloud-assembly-schema", "module": "aws_cdk.cloud_assembly_schema" } } }, "aws-cdk-lib": { "submodules": { "aws-cdk-lib.alexa_ask": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Alexa.Ask" }, "java": { "package": "software.amazon.awscdk.alexa.ask" }, "python": { "module": "aws_cdk.alexa_ask" } } }, "aws-cdk-lib.assertions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Assertions" }, "java": { "package": "software.amazon.awscdk.assertions" }, "python": { "module": "aws_cdk.assertions" } } }, "aws-cdk-lib.assets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Assets" }, "java": { "package": "software.amazon.awscdk.assets" }, "python": { "module": "aws_cdk.assets" } } }, "aws-cdk-lib.aws_accessanalyzer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AccessAnalyzer" }, "java": { "package": "software.amazon.awscdk.services.accessanalyzer" }, "python": { "module": "aws_cdk.aws_accessanalyzer" } } }, "aws-cdk-lib.aws_acmpca": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ACMPCA" }, "java": { "package": "software.amazon.awscdk.services.acmpca" }, "python": { "module": "aws_cdk.aws_acmpca" } } }, "aws-cdk-lib.aws_amazonmq": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AmazonMQ" }, "java": { "package": "software.amazon.awscdk.services.amazonmq" }, "python": { "module": "aws_cdk.aws_amazonmq" } } }, "aws-cdk-lib.aws_amplify": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Amplify" }, "java": { "package": "software.amazon.awscdk.services.amplify" }, "python": { "module": "aws_cdk.aws_amplify" } } }, "aws-cdk-lib.aws_amplifyuibuilder": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AmplifyUIBuilder" }, "java": { "package": "software.amazon.awscdk.services.amplifyuibuilder" }, "python": { "module": "aws_cdk.aws_amplifyuibuilder" } } }, "aws-cdk-lib.aws_apigateway": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.APIGateway" }, "java": { "package": "software.amazon.awscdk.services.apigateway" }, "python": { "module": "aws_cdk.aws_apigateway" } } }, "aws-cdk-lib.aws_apigatewayv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Apigatewayv2" }, "java": { "package": "software.amazon.awscdk.services.apigatewayv2" }, "python": { "module": "aws_cdk.aws_apigatewayv2" } } }, "aws-cdk-lib.aws_apigatewayv2_authorizers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AwsApigatewayv2Authorizers" }, "java": { "package": "software.amazon.awscdk.aws_apigatewayv2_authorizers" }, "python": { "module": "aws_cdk.aws_apigatewayv2_authorizers" } } }, "aws-cdk-lib.aws_apigatewayv2_integrations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AwsApigatewayv2Integrations" }, "java": { "package": "software.amazon.awscdk.aws_apigatewayv2_integrations" }, "python": { "module": "aws_cdk.aws_apigatewayv2_integrations" } } }, "aws-cdk-lib.aws_appconfig": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppConfig" }, "java": { "package": "software.amazon.awscdk.services.appconfig" }, "python": { "module": "aws_cdk.aws_appconfig" } } }, "aws-cdk-lib.aws_appflow": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppFlow" }, "java": { "package": "software.amazon.awscdk.services.appflow" }, "python": { "module": "aws_cdk.aws_appflow" } } }, "aws-cdk-lib.aws_appintegrations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppIntegrations" }, "java": { "package": "software.amazon.awscdk.services.appintegrations" }, "python": { "module": "aws_cdk.aws_appintegrations" } } }, "aws-cdk-lib.aws_applicationautoscaling": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ApplicationAutoScaling" }, "java": { "package": "software.amazon.awscdk.services.applicationautoscaling" }, "python": { "module": "aws_cdk.aws_applicationautoscaling" } } }, "aws-cdk-lib.aws_applicationinsights": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ApplicationInsights" }, "java": { "package": "software.amazon.awscdk.services.applicationinsights" }, "python": { "module": "aws_cdk.aws_applicationinsights" } } }, "aws-cdk-lib.aws_applicationsignals": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.ApplicationSignals" }, "java": { "package": "software.amazon.awscdk.services.applicationsignals" }, "python": { "module": "aws_cdk.aws_applicationsignals" } } }, "aws-cdk-lib.aws_appmesh": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppMesh" }, "java": { "package": "software.amazon.awscdk.services.appmesh" }, "python": { "module": "aws_cdk.aws_appmesh" } } }, "aws-cdk-lib.aws_apprunner": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppRunner" }, "java": { "package": "software.amazon.awscdk.services.apprunner" }, "python": { "module": "aws_cdk.aws_apprunner" } } }, "aws-cdk-lib.aws_appstream": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppStream" }, "java": { "package": "software.amazon.awscdk.services.appstream" }, "python": { "module": "aws_cdk.aws_appstream" } } }, "aws-cdk-lib.aws_appsync": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AppSync" }, "java": { "package": "software.amazon.awscdk.services.appsync" }, "python": { "module": "aws_cdk.aws_appsync" } } }, "aws-cdk-lib.aws_apptest": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.AppTest" }, "java": { "package": "software.amazon.awscdk.services.apptest" }, "python": { "module": "aws_cdk.aws_apptest" } } }, "aws-cdk-lib.aws_aps": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.APS" }, "java": { "package": "software.amazon.awscdk.services.aps" }, "python": { "module": "aws_cdk.aws_aps" } } }, "aws-cdk-lib.aws_arczonalshift": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.ARCZonalShift" }, "java": { "package": "software.amazon.awscdk.services.arczonalshift" }, "python": { "module": "aws_cdk.aws_arczonalshift" } } }, "aws-cdk-lib.aws_athena": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Athena" }, "java": { "package": "software.amazon.awscdk.services.athena" }, "python": { "module": "aws_cdk.aws_athena" } } }, "aws-cdk-lib.aws_auditmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AuditManager" }, "java": { "package": "software.amazon.awscdk.services.auditmanager" }, "python": { "module": "aws_cdk.aws_auditmanager" } } }, "aws-cdk-lib.aws_autoscaling": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScaling" }, "java": { "package": "software.amazon.awscdk.services.autoscaling" }, "python": { "module": "aws_cdk.aws_autoscaling" } } }, "aws-cdk-lib.aws_autoscaling_common": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScaling.Common" }, "java": { "package": "software.amazon.awscdk.services.autoscaling.common" }, "python": { "module": "aws_cdk.aws_autoscaling_common" } } }, "aws-cdk-lib.aws_autoscaling_hooktargets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScaling.HookTargets" }, "java": { "package": "software.amazon.awscdk.services.autoscaling.hooktargets" }, "python": { "module": "aws_cdk.aws_autoscaling_hooktargets" } } }, "aws-cdk-lib.aws_autoscalingplans": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.AutoScalingPlans" }, "java": { "package": "software.amazon.awscdk.services.autoscalingplans" }, "python": { "module": "aws_cdk.aws_autoscalingplans" } } }, "aws-cdk-lib.aws_b2bi": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.B2BI" }, "java": { "package": "software.amazon.awscdk.services.b2bi" }, "python": { "module": "aws_cdk.aws_b2bi" } } }, "aws-cdk-lib.aws_backup": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Backup" }, "java": { "package": "software.amazon.awscdk.services.backup" }, "python": { "module": "aws_cdk.aws_backup" } } }, "aws-cdk-lib.aws_backupgateway": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.BackupGateway" }, "java": { "package": "software.amazon.awscdk.services.backupgateway" }, "python": { "module": "aws_cdk.aws_backupgateway" } } }, "aws-cdk-lib.aws_batch": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Batch" }, "java": { "package": "software.amazon.awscdk.services.batch" }, "python": { "module": "aws_cdk.aws_batch" } } }, "aws-cdk-lib.aws_bcmdataexports": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.BCMDataExports" }, "java": { "package": "software.amazon.awscdk.services.bcmdataexports" }, "python": { "module": "aws_cdk.aws_bcmdataexports" } } }, "aws-cdk-lib.aws_bedrock": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Bedrock" }, "java": { "package": "software.amazon.awscdk.services.bedrock" }, "python": { "module": "aws_cdk.aws_bedrock" } } }, "aws-cdk-lib.aws_billingconductor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.BillingConductor" }, "java": { "package": "software.amazon.awscdk.services.billingconductor" }, "python": { "module": "aws_cdk.aws_billingconductor" } } }, "aws-cdk-lib.aws_budgets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Budgets" }, "java": { "package": "software.amazon.awscdk.services.budgets" }, "python": { "module": "aws_cdk.aws_budgets" } } }, "aws-cdk-lib.aws_cassandra": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Cassandra" }, "java": { "package": "software.amazon.awscdk.services.cassandra" }, "python": { "module": "aws_cdk.aws_cassandra" } } }, "aws-cdk-lib.aws_ce": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CE" }, "java": { "package": "software.amazon.awscdk.services.ce" }, "python": { "module": "aws_cdk.aws_ce" } } }, "aws-cdk-lib.aws_certificatemanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CertificateManager" }, "java": { "package": "software.amazon.awscdk.services.certificatemanager" }, "python": { "module": "aws_cdk.aws_certificatemanager" } } }, "aws-cdk-lib.aws_chatbot": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Chatbot" }, "java": { "package": "software.amazon.awscdk.services.chatbot" }, "python": { "module": "aws_cdk.aws_chatbot" } } }, "aws-cdk-lib.aws_cleanrooms": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.CleanRooms" }, "java": { "package": "software.amazon.awscdk.services.cleanrooms" }, "python": { "module": "aws_cdk.aws_cleanrooms" } } }, "aws-cdk-lib.aws_cleanroomsml": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.CleanRoomsML" }, "java": { "package": "software.amazon.awscdk.services.cleanroomsml" }, "python": { "module": "aws_cdk.aws_cleanroomsml" } } }, "aws-cdk-lib.aws_cloud9": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Cloud9" }, "java": { "package": "software.amazon.awscdk.services.cloud9" }, "python": { "module": "aws_cdk.aws_cloud9" } } }, "aws-cdk-lib.aws_cloudformation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudFormation" }, "java": { "package": "software.amazon.awscdk.services.cloudformation" }, "python": { "module": "aws_cdk.aws_cloudformation" } } }, "aws-cdk-lib.aws_cloudfront": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudFront" }, "java": { "package": "software.amazon.awscdk.services.cloudfront" }, "python": { "module": "aws_cdk.aws_cloudfront" } } }, "aws-cdk-lib.aws_cloudfront.experimental": {}, "aws-cdk-lib.aws_cloudfront_origins": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudFront.Origins" }, "java": { "package": "software.amazon.awscdk.services.cloudfront.origins" }, "python": { "module": "aws_cdk.aws_cloudfront_origins" } } }, "aws-cdk-lib.aws_cloudtrail": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudTrail" }, "java": { "package": "software.amazon.awscdk.services.cloudtrail" }, "python": { "module": "aws_cdk.aws_cloudtrail" } } }, "aws-cdk-lib.aws_cloudwatch": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudWatch" }, "java": { "package": "software.amazon.awscdk.services.cloudwatch" }, "python": { "module": "aws_cdk.aws_cloudwatch" } } }, "aws-cdk-lib.aws_cloudwatch_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CloudWatch.Actions" }, "java": { "package": "software.amazon.awscdk.services.cloudwatch.actions" }, "python": { "module": "aws_cdk.aws_cloudwatch_actions" } } }, "aws-cdk-lib.aws_codeartifact": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeArtifact" }, "java": { "package": "software.amazon.awscdk.services.codeartifact" }, "python": { "module": "aws_cdk.aws_codeartifact" } } }, "aws-cdk-lib.aws_codebuild": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeBuild" }, "java": { "package": "software.amazon.awscdk.services.codebuild" }, "python": { "module": "aws_cdk.aws_codebuild" } } }, "aws-cdk-lib.aws_codecommit": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeCommit" }, "java": { "package": "software.amazon.awscdk.services.codecommit" }, "python": { "module": "aws_cdk.aws_codecommit" } } }, "aws-cdk-lib.aws_codeconnections": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.CodeConnections" }, "java": { "package": "software.amazon.awscdk.services.codeconnections" }, "python": { "module": "aws_cdk.aws_codeconnections" } } }, "aws-cdk-lib.aws_codedeploy": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeDeploy" }, "java": { "package": "software.amazon.awscdk.services.codedeploy" }, "python": { "module": "aws_cdk.aws_codedeploy" } } }, "aws-cdk-lib.aws_codeguruprofiler": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeGuruProfiler" }, "java": { "package": "software.amazon.awscdk.services.codeguruprofiler" }, "python": { "module": "aws_cdk.aws_codeguruprofiler" } } }, "aws-cdk-lib.aws_codegurureviewer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeGuruReviewer" }, "java": { "package": "software.amazon.awscdk.services.codegurureviewer" }, "python": { "module": "aws_cdk.aws_codegurureviewer" } } }, "aws-cdk-lib.aws_codepipeline": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodePipeline" }, "java": { "package": "software.amazon.awscdk.services.codepipeline" }, "python": { "module": "aws_cdk.aws_codepipeline" } } }, "aws-cdk-lib.aws_codepipeline_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodePipeline.Actions" }, "java": { "package": "software.amazon.awscdk.services.codepipeline.actions" }, "python": { "module": "aws_cdk.aws_codepipeline_actions" } } }, "aws-cdk-lib.aws_codestar": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Codestar" }, "java": { "package": "software.amazon.awscdk.services.codestar" }, "python": { "module": "aws_cdk.aws_codestar" } } }, "aws-cdk-lib.aws_codestarconnections": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeStarConnections" }, "java": { "package": "software.amazon.awscdk.services.codestarconnections" }, "python": { "module": "aws_cdk.aws_codestarconnections" } } }, "aws-cdk-lib.aws_codestarnotifications": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeStarNotifications" }, "java": { "package": "software.amazon.awscdk.services.codestarnotifications" }, "python": { "module": "aws_cdk.aws_codestarnotifications" } } }, "aws-cdk-lib.aws_cognito": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Cognito" }, "java": { "package": "software.amazon.awscdk.services.cognito" }, "python": { "module": "aws_cdk.aws_cognito" } } }, "aws-cdk-lib.aws_comprehend": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Comprehend" }, "java": { "package": "software.amazon.awscdk.services.comprehend" }, "python": { "module": "aws_cdk.aws_comprehend" } } }, "aws-cdk-lib.aws_config": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Config" }, "java": { "package": "software.amazon.awscdk.services.config" }, "python": { "module": "aws_cdk.aws_config" } } }, "aws-cdk-lib.aws_connect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Connect" }, "java": { "package": "software.amazon.awscdk.services.connect" }, "python": { "module": "aws_cdk.aws_connect" } } }, "aws-cdk-lib.aws_connectcampaigns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ConnectCampaigns" }, "java": { "package": "software.amazon.awscdk.services.connectcampaigns" }, "python": { "module": "aws_cdk.aws_connectcampaigns" } } }, "aws-cdk-lib.aws_controltower": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ControlTower" }, "java": { "package": "software.amazon.awscdk.services.controltower" }, "python": { "module": "aws_cdk.aws_controltower" } } }, "aws-cdk-lib.aws_cur": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CUR" }, "java": { "package": "software.amazon.awscdk.services.cur" }, "python": { "module": "aws_cdk.aws_cur" } } }, "aws-cdk-lib.aws_customerprofiles": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CustomerProfiles" }, "java": { "package": "software.amazon.awscdk.services.customerprofiles" }, "python": { "module": "aws_cdk.aws_customerprofiles" } } }, "aws-cdk-lib.aws_databrew": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataBrew" }, "java": { "package": "software.amazon.awscdk.services.databrew" }, "python": { "module": "aws_cdk.aws_databrew" } } }, "aws-cdk-lib.aws_datapipeline": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataPipeline" }, "java": { "package": "software.amazon.awscdk.services.datapipeline" }, "python": { "module": "aws_cdk.aws_datapipeline" } } }, "aws-cdk-lib.aws_datasync": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataSync" }, "java": { "package": "software.amazon.awscdk.services.datasync" }, "python": { "module": "aws_cdk.aws_datasync" } } }, "aws-cdk-lib.aws_datazone": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.DataZone" }, "java": { "package": "software.amazon.awscdk.services.datazone" }, "python": { "module": "aws_cdk.aws_datazone" } } }, "aws-cdk-lib.aws_dax": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DAX" }, "java": { "package": "software.amazon.awscdk.services.dax" }, "python": { "module": "aws_cdk.aws_dax" } } }, "aws-cdk-lib.aws_deadline": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Deadline" }, "java": { "package": "software.amazon.awscdk.services.deadline" }, "python": { "module": "aws_cdk.aws_deadline" } } }, "aws-cdk-lib.aws_detective": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Detective" }, "java": { "package": "software.amazon.awscdk.services.detective" }, "python": { "module": "aws_cdk.aws_detective" } } }, "aws-cdk-lib.aws_devicefarm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DeviceFarm" }, "java": { "package": "software.amazon.awscdk.services.devicefarm" }, "python": { "module": "aws_cdk.aws_devicefarm" } } }, "aws-cdk-lib.aws_devopsguru": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DevOpsGuru" }, "java": { "package": "software.amazon.awscdk.services.devopsguru" }, "python": { "module": "aws_cdk.aws_devopsguru" } } }, "aws-cdk-lib.aws_directoryservice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DirectoryService" }, "java": { "package": "software.amazon.awscdk.services.directoryservice" }, "python": { "module": "aws_cdk.aws_directoryservice" } } }, "aws-cdk-lib.aws_dlm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DLM" }, "java": { "package": "software.amazon.awscdk.services.dlm" }, "python": { "module": "aws_cdk.aws_dlm" } } }, "aws-cdk-lib.aws_dms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DMS" }, "java": { "package": "software.amazon.awscdk.services.dms" }, "python": { "module": "aws_cdk.aws_dms" } } }, "aws-cdk-lib.aws_docdb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DocDB" }, "java": { "package": "software.amazon.awscdk.services.docdb" }, "python": { "module": "aws_cdk.aws_docdb" } } }, "aws-cdk-lib.aws_docdbelastic": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DocDBElastic" }, "java": { "package": "software.amazon.awscdk.services.docdbelastic" }, "python": { "module": "aws_cdk.aws_docdbelastic" } } }, "aws-cdk-lib.aws_dynamodb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DynamoDB" }, "java": { "package": "software.amazon.awscdk.services.dynamodb" }, "python": { "module": "aws_cdk.aws_dynamodb" } } }, "aws-cdk-lib.aws_ec2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EC2" }, "java": { "package": "software.amazon.awscdk.services.ec2" }, "python": { "module": "aws_cdk.aws_ec2" } } }, "aws-cdk-lib.aws_ecr": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECR" }, "java": { "package": "software.amazon.awscdk.services.ecr" }, "python": { "module": "aws_cdk.aws_ecr" } } }, "aws-cdk-lib.aws_ecr_assets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Ecr.Assets" }, "java": { "package": "software.amazon.awscdk.services.ecr.assets" }, "python": { "module": "aws_cdk.aws_ecr_assets" } } }, "aws-cdk-lib.aws_ecs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECS" }, "java": { "package": "software.amazon.awscdk.services.ecs" }, "python": { "module": "aws_cdk.aws_ecs" } } }, "aws-cdk-lib.aws_ecs_patterns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECS.Patterns" }, "java": { "package": "software.amazon.awscdk.services.ecs.patterns" }, "python": { "module": "aws_cdk.aws_ecs_patterns" } } }, "aws-cdk-lib.aws_efs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EFS" }, "java": { "package": "software.amazon.awscdk.services.efs" }, "python": { "module": "aws_cdk.aws_efs" } } }, "aws-cdk-lib.aws_eks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EKS" }, "java": { "package": "software.amazon.awscdk.services.eks" }, "python": { "module": "aws_cdk.aws_eks" } } }, "aws-cdk-lib.aws_elasticache": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElastiCache" }, "java": { "package": "software.amazon.awscdk.services.elasticache" }, "python": { "module": "aws_cdk.aws_elasticache" } } }, "aws-cdk-lib.aws_elasticbeanstalk": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticBeanstalk" }, "java": { "package": "software.amazon.awscdk.services.elasticbeanstalk" }, "python": { "module": "aws_cdk.aws_elasticbeanstalk" } } }, "aws-cdk-lib.aws_elasticloadbalancing": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancing" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancing" }, "python": { "module": "aws_cdk.aws_elasticloadbalancing" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Actions" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2.actions" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2_actions" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Targets" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2.targets" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2_targets" } } }, "aws-cdk-lib.aws_elasticsearch": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Elasticsearch" }, "java": { "package": "software.amazon.awscdk.services.elasticsearch" }, "python": { "module": "aws_cdk.aws_elasticsearch" } } }, "aws-cdk-lib.aws_emr": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMR" }, "java": { "package": "software.amazon.awscdk.services.emr" }, "python": { "module": "aws_cdk.aws_emr" } } }, "aws-cdk-lib.aws_emrcontainers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMRContainers" }, "java": { "package": "software.amazon.awscdk.services.emrcontainers" }, "python": { "module": "aws_cdk.aws_emrcontainers" } } }, "aws-cdk-lib.aws_emrserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMRServerless" }, "java": { "package": "software.amazon.awscdk.services.emrserverless" }, "python": { "module": "aws_cdk.aws_emrserverless" } } }, "aws-cdk-lib.aws_entityresolution": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.EntityResolution" }, "java": { "package": "software.amazon.awscdk.services.entityresolution" }, "python": { "module": "aws_cdk.aws_entityresolution" } } }, "aws-cdk-lib.aws_events": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Events" }, "java": { "package": "software.amazon.awscdk.services.events" }, "python": { "module": "aws_cdk.aws_events" } } }, "aws-cdk-lib.aws_events_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Events.Targets" }, "java": { "package": "software.amazon.awscdk.services.events.targets" }, "python": { "module": "aws_cdk.aws_events_targets" } } }, "aws-cdk-lib.aws_eventschemas": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EventSchemas" }, "java": { "package": "software.amazon.awscdk.services.eventschemas" }, "python": { "module": "aws_cdk.aws_eventschemas" } } }, "aws-cdk-lib.aws_evidently": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Evidently" }, "java": { "package": "software.amazon.awscdk.services.evidently" }, "python": { "module": "aws_cdk.aws_evidently" } } }, "aws-cdk-lib.aws_finspace": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FinSpace" }, "java": { "package": "software.amazon.awscdk.services.finspace" }, "python": { "module": "aws_cdk.aws_finspace" } } }, "aws-cdk-lib.aws_fis": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FIS" }, "java": { "package": "software.amazon.awscdk.services.fis" }, "python": { "module": "aws_cdk.aws_fis" } } }, "aws-cdk-lib.aws_fms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FMS" }, "java": { "package": "software.amazon.awscdk.services.fms" }, "python": { "module": "aws_cdk.aws_fms" } } }, "aws-cdk-lib.aws_forecast": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Forecast" }, "java": { "package": "software.amazon.awscdk.services.forecast" }, "python": { "module": "aws_cdk.aws_forecast" } } }, "aws-cdk-lib.aws_frauddetector": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FraudDetector" }, "java": { "package": "software.amazon.awscdk.services.frauddetector" }, "python": { "module": "aws_cdk.aws_frauddetector" } } }, "aws-cdk-lib.aws_fsx": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FSx" }, "java": { "package": "software.amazon.awscdk.services.fsx" }, "python": { "module": "aws_cdk.aws_fsx" } } }, "aws-cdk-lib.aws_gamelift": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GameLift" }, "java": { "package": "software.amazon.awscdk.services.gamelift" }, "python": { "module": "aws_cdk.aws_gamelift" } } }, "aws-cdk-lib.aws_globalaccelerator": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GlobalAccelerator" }, "java": { "package": "software.amazon.awscdk.services.globalaccelerator" }, "python": { "module": "aws_cdk.aws_globalaccelerator" } } }, "aws-cdk-lib.aws_globalaccelerator_endpoints": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GlobalAccelerator.Endpoints" }, "java": { "package": "software.amazon.awscdk.services.globalaccelerator.endpoints" }, "python": { "module": "aws_cdk.aws_globalaccelerator_endpoints" } } }, "aws-cdk-lib.aws_glue": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Glue" }, "java": { "package": "software.amazon.awscdk.services.glue" }, "python": { "module": "aws_cdk.aws_glue" } } }, "aws-cdk-lib.aws_grafana": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Grafana" }, "java": { "package": "software.amazon.awscdk.services.grafana" }, "python": { "module": "aws_cdk.aws_grafana" } } }, "aws-cdk-lib.aws_greengrass": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Greengrass" }, "java": { "package": "software.amazon.awscdk.services.greengrass" }, "python": { "module": "aws_cdk.aws_greengrass" } } }, "aws-cdk-lib.aws_greengrassv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GreengrassV2" }, "java": { "package": "software.amazon.awscdk.services.greengrassv2" }, "python": { "module": "aws_cdk.aws_greengrassv2" } } }, "aws-cdk-lib.aws_groundstation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GroundStation" }, "java": { "package": "software.amazon.awscdk.services.groundstation" }, "python": { "module": "aws_cdk.aws_groundstation" } } }, "aws-cdk-lib.aws_guardduty": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GuardDuty" }, "java": { "package": "software.amazon.awscdk.services.guardduty" }, "python": { "module": "aws_cdk.aws_guardduty" } } }, "aws-cdk-lib.aws_healthimaging": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.HealthImaging" }, "java": { "package": "software.amazon.awscdk.services.healthimaging" }, "python": { "module": "aws_cdk.aws_healthimaging" } } }, "aws-cdk-lib.aws_healthlake": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.HealthLake" }, "java": { "package": "software.amazon.awscdk.services.healthlake" }, "python": { "module": "aws_cdk.aws_healthlake" } } }, "aws-cdk-lib.aws_iam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IAM" }, "java": { "package": "software.amazon.awscdk.services.iam" }, "python": { "module": "aws_cdk.aws_iam" } } }, "aws-cdk-lib.aws_identitystore": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IdentityStore" }, "java": { "package": "software.amazon.awscdk.services.identitystore" }, "python": { "module": "aws_cdk.aws_identitystore" } } }, "aws-cdk-lib.aws_imagebuilder": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ImageBuilder" }, "java": { "package": "software.amazon.awscdk.services.imagebuilder" }, "python": { "module": "aws_cdk.aws_imagebuilder" } } }, "aws-cdk-lib.aws_inspector": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Inspector" }, "java": { "package": "software.amazon.awscdk.services.inspector" }, "python": { "module": "aws_cdk.aws_inspector" } } }, "aws-cdk-lib.aws_inspectorv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.InspectorV2" }, "java": { "package": "software.amazon.awscdk.services.inspectorv2" }, "python": { "module": "aws_cdk.aws_inspectorv2" } } }, "aws-cdk-lib.aws_internetmonitor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.InternetMonitor" }, "java": { "package": "software.amazon.awscdk.services.internetmonitor" }, "python": { "module": "aws_cdk.aws_internetmonitor" } } }, "aws-cdk-lib.aws_iot": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoT" }, "java": { "package": "software.amazon.awscdk.services.iot" }, "python": { "module": "aws_cdk.aws_iot" } } }, "aws-cdk-lib.aws_iot1click": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoT1Click" }, "java": { "package": "software.amazon.awscdk.services.iot1click" }, "python": { "module": "aws_cdk.aws_iot1click" } } }, "aws-cdk-lib.aws_iotanalytics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTAnalytics" }, "java": { "package": "software.amazon.awscdk.services.iotanalytics" }, "python": { "module": "aws_cdk.aws_iotanalytics" } } }, "aws-cdk-lib.aws_iotcoredeviceadvisor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTCoreDeviceAdvisor" }, "java": { "package": "software.amazon.awscdk.services.iotcoredeviceadvisor" }, "python": { "module": "aws_cdk.aws_iotcoredeviceadvisor" } } }, "aws-cdk-lib.aws_iotevents": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTEvents" }, "java": { "package": "software.amazon.awscdk.services.iotevents" }, "python": { "module": "aws_cdk.aws_iotevents" } } }, "aws-cdk-lib.aws_iotfleethub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTFleetHub" }, "java": { "package": "software.amazon.awscdk.services.iotfleethub" }, "python": { "module": "aws_cdk.aws_iotfleethub" } } }, "aws-cdk-lib.aws_iotfleetwise": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTFleetWise" }, "java": { "package": "software.amazon.awscdk.services.iotfleetwise" }, "python": { "module": "aws_cdk.aws_iotfleetwise" } } }, "aws-cdk-lib.aws_iotsitewise": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTSiteWise" }, "java": { "package": "software.amazon.awscdk.services.iotsitewise" }, "python": { "module": "aws_cdk.aws_iotsitewise" } } }, "aws-cdk-lib.aws_iotthingsgraph": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTThingsGraph" }, "java": { "package": "software.amazon.awscdk.services.iotthingsgraph" }, "python": { "module": "aws_cdk.aws_iotthingsgraph" } } }, "aws-cdk-lib.aws_iottwinmaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTTwinMaker" }, "java": { "package": "software.amazon.awscdk.services.iottwinmaker" }, "python": { "module": "aws_cdk.aws_iottwinmaker" } } }, "aws-cdk-lib.aws_iotwireless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTWireless" }, "java": { "package": "software.amazon.awscdk.services.iotwireless" }, "python": { "module": "aws_cdk.aws_iotwireless" } } }, "aws-cdk-lib.aws_ivs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Ivs" }, "java": { "package": "software.amazon.awscdk.services.ivs" }, "python": { "module": "aws_cdk.aws_ivs" } } }, "aws-cdk-lib.aws_ivschat": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IVSChat" }, "java": { "package": "software.amazon.awscdk.services.ivschat" }, "python": { "module": "aws_cdk.aws_ivschat" } } }, "aws-cdk-lib.aws_kafkaconnect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KafkaConnect" }, "java": { "package": "software.amazon.awscdk.services.kafkaconnect" }, "python": { "module": "aws_cdk.aws_kafkaconnect" } } }, "aws-cdk-lib.aws_kendra": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Kendra" }, "java": { "package": "software.amazon.awscdk.services.kendra" }, "python": { "module": "aws_cdk.aws_kendra" } } }, "aws-cdk-lib.aws_kendraranking": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KendraRanking" }, "java": { "package": "software.amazon.awscdk.services.kendraranking" }, "python": { "module": "aws_cdk.aws_kendraranking" } } }, "aws-cdk-lib.aws_kinesis": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Kinesis" }, "java": { "package": "software.amazon.awscdk.services.kinesis" }, "python": { "module": "aws_cdk.aws_kinesis" } } }, "aws-cdk-lib.aws_kinesisanalytics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisAnalytics" }, "java": { "package": "software.amazon.awscdk.services.kinesisanalytics" }, "python": { "module": "aws_cdk.aws_kinesisanalytics" } } }, "aws-cdk-lib.aws_kinesisanalyticsv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisAnalyticsV2" }, "java": { "package": "software.amazon.awscdk.services.kinesisanalyticsv2" }, "python": { "module": "aws_cdk.aws_kinesisanalyticsv2" } } }, "aws-cdk-lib.aws_kinesisfirehose": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisFirehose" }, "java": { "package": "software.amazon.awscdk.services.kinesisfirehose" }, "python": { "module": "aws_cdk.aws_kinesisfirehose" } } }, "aws-cdk-lib.aws_kinesisvideo": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisVideo" }, "java": { "package": "software.amazon.awscdk.services.kinesisvideo" }, "python": { "module": "aws_cdk.aws_kinesisvideo" } } }, "aws-cdk-lib.aws_kms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KMS" }, "java": { "package": "software.amazon.awscdk.services.kms" }, "python": { "module": "aws_cdk.aws_kms" } } }, "aws-cdk-lib.aws_lakeformation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LakeFormation" }, "java": { "package": "software.amazon.awscdk.services.lakeformation" }, "python": { "module": "aws_cdk.aws_lakeformation" } } }, "aws-cdk-lib.aws_lambda": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda" }, "java": { "package": "software.amazon.awscdk.services.lambda" }, "python": { "module": "aws_cdk.aws_lambda" } } }, "aws-cdk-lib.aws_lambda_destinations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.Destinations" }, "java": { "package": "software.amazon.awscdk.services.lambda.destinations" }, "python": { "module": "aws_cdk.aws_lambda_destinations" } } }, "aws-cdk-lib.aws_lambda_event_sources": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.EventSources" }, "java": { "package": "software.amazon.awscdk.services.lambda.eventsources" }, "python": { "module": "aws_cdk.aws_lambda_event_sources" } } }, "aws-cdk-lib.aws_lambda_nodejs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.Nodejs" }, "java": { "package": "software.amazon.awscdk.services.lambda.nodejs" }, "python": { "module": "aws_cdk.aws_lambda_nodejs" } } }, "aws-cdk-lib.aws_launchwizard": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.LaunchWizard" }, "java": { "package": "software.amazon.awscdk.services.launchwizard" }, "python": { "module": "aws_cdk.aws_launchwizard" } } }, "aws-cdk-lib.aws_lex": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lex" }, "java": { "package": "software.amazon.awscdk.services.lex" }, "python": { "module": "aws_cdk.aws_lex" } } }, "aws-cdk-lib.aws_licensemanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LicenseManager" }, "java": { "package": "software.amazon.awscdk.services.licensemanager" }, "python": { "module": "aws_cdk.aws_licensemanager" } } }, "aws-cdk-lib.aws_lightsail": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lightsail" }, "java": { "package": "software.amazon.awscdk.services.lightsail" }, "python": { "module": "aws_cdk.aws_lightsail" } } }, "aws-cdk-lib.aws_location": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Location" }, "java": { "package": "software.amazon.awscdk.services.location" }, "python": { "module": "aws_cdk.aws_location" } } }, "aws-cdk-lib.aws_logs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Logs" }, "java": { "package": "software.amazon.awscdk.services.logs" }, "python": { "module": "aws_cdk.aws_logs" } } }, "aws-cdk-lib.aws_logs_destinations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Logs.Destinations" }, "java": { "package": "software.amazon.awscdk.services.logs.destinations" }, "python": { "module": "aws_cdk.aws_logs_destinations" } } }, "aws-cdk-lib.aws_lookoutequipment": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LookoutEquipment" }, "java": { "package": "software.amazon.awscdk.services.lookoutequipment" }, "python": { "module": "aws_cdk.aws_lookoutequipment" } } }, "aws-cdk-lib.aws_lookoutmetrics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LookoutMetrics" }, "java": { "package": "software.amazon.awscdk.services.lookoutmetrics" }, "python": { "module": "aws_cdk.aws_lookoutmetrics" } } }, "aws-cdk-lib.aws_lookoutvision": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LookoutVision" }, "java": { "package": "software.amazon.awscdk.services.lookoutvision" }, "python": { "module": "aws_cdk.aws_lookoutvision" } } }, "aws-cdk-lib.aws_m2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.M2" }, "java": { "package": "software.amazon.awscdk.services.m2" }, "python": { "module": "aws_cdk.aws_m2" } } }, "aws-cdk-lib.aws_macie": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Macie" }, "java": { "package": "software.amazon.awscdk.services.macie" }, "python": { "module": "aws_cdk.aws_macie" } } }, "aws-cdk-lib.aws_managedblockchain": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ManagedBlockchain" }, "java": { "package": "software.amazon.awscdk.services.managedblockchain" }, "python": { "module": "aws_cdk.aws_managedblockchain" } } }, "aws-cdk-lib.aws_mediaconnect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaConnect" }, "java": { "package": "software.amazon.awscdk.services.mediaconnect" }, "python": { "module": "aws_cdk.aws_mediaconnect" } } }, "aws-cdk-lib.aws_mediaconvert": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaConvert" }, "java": { "package": "software.amazon.awscdk.services.mediaconvert" }, "python": { "module": "aws_cdk.aws_mediaconvert" } } }, "aws-cdk-lib.aws_medialive": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaLive" }, "java": { "package": "software.amazon.awscdk.services.medialive" }, "python": { "module": "aws_cdk.aws_medialive" } } }, "aws-cdk-lib.aws_mediapackage": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaPackage" }, "java": { "package": "software.amazon.awscdk.services.mediapackage" }, "python": { "module": "aws_cdk.aws_mediapackage" } } }, "aws-cdk-lib.aws_mediapackagev2": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.MediaPackageV2" }, "java": { "package": "software.amazon.awscdk.services.mediapackagev2" }, "python": { "module": "aws_cdk.aws_mediapackagev2" } } }, "aws-cdk-lib.aws_mediastore": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaStore" }, "java": { "package": "software.amazon.awscdk.services.mediastore" }, "python": { "module": "aws_cdk.aws_mediastore" } } }, "aws-cdk-lib.aws_mediatailor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MediaTailor" }, "java": { "package": "software.amazon.awscdk.services.mediatailor" }, "python": { "module": "aws_cdk.aws_mediatailor" } } }, "aws-cdk-lib.aws_memorydb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MemoryDB" }, "java": { "package": "software.amazon.awscdk.services.memorydb" }, "python": { "module": "aws_cdk.aws_memorydb" } } }, "aws-cdk-lib.aws_msk": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MSK" }, "java": { "package": "software.amazon.awscdk.services.msk" }, "python": { "module": "aws_cdk.aws_msk" } } }, "aws-cdk-lib.aws_mwaa": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.MWAA" }, "java": { "package": "software.amazon.awscdk.services.mwaa" }, "python": { "module": "aws_cdk.aws_mwaa" } } }, "aws-cdk-lib.aws_neptune": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Neptune" }, "java": { "package": "software.amazon.awscdk.services.neptune" }, "python": { "module": "aws_cdk.aws_neptune" } } }, "aws-cdk-lib.aws_neptunegraph": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.NeptuneGraph" }, "java": { "package": "software.amazon.awscdk.services.neptunegraph" }, "python": { "module": "aws_cdk.aws_neptunegraph" } } }, "aws-cdk-lib.aws_networkfirewall": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NetworkFirewall" }, "java": { "package": "software.amazon.awscdk.services.networkfirewall" }, "python": { "module": "aws_cdk.aws_networkfirewall" } } }, "aws-cdk-lib.aws_networkmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NetworkManager" }, "java": { "package": "software.amazon.awscdk.services.networkmanager" }, "python": { "module": "aws_cdk.aws_networkmanager" } } }, "aws-cdk-lib.aws_nimblestudio": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NimbleStudio" }, "java": { "package": "software.amazon.awscdk.services.nimblestudio" }, "python": { "module": "aws_cdk.aws_nimblestudio" } } }, "aws-cdk-lib.aws_oam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Oam" }, "java": { "package": "software.amazon.awscdk.services.oam" }, "python": { "module": "aws_cdk.aws_oam" } } }, "aws-cdk-lib.aws_omics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Omics" }, "java": { "package": "software.amazon.awscdk.services.omics" }, "python": { "module": "aws_cdk.aws_omics" } } }, "aws-cdk-lib.aws_opensearchserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpenSearchServerless" }, "java": { "package": "software.amazon.awscdk.services.opensearchserverless" }, "python": { "module": "aws_cdk.aws_opensearchserverless" } } }, "aws-cdk-lib.aws_opensearchservice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpenSearchService" }, "java": { "package": "software.amazon.awscdk.services.opensearchservice" }, "python": { "module": "aws_cdk.aws_opensearchservice" } } }, "aws-cdk-lib.aws_opsworks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpsWorks" }, "java": { "package": "software.amazon.awscdk.services.opsworks" }, "python": { "module": "aws_cdk.aws_opsworks" } } }, "aws-cdk-lib.aws_opsworkscm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpsWorksCM" }, "java": { "package": "software.amazon.awscdk.services.opsworkscm" }, "python": { "module": "aws_cdk.aws_opsworkscm" } } }, "aws-cdk-lib.aws_organizations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Organizations" }, "java": { "package": "software.amazon.awscdk.services.organizations" }, "python": { "module": "aws_cdk.aws_organizations" } } }, "aws-cdk-lib.aws_osis": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.OSIS" }, "java": { "package": "software.amazon.awscdk.services.osis" }, "python": { "module": "aws_cdk.aws_osis" } } }, "aws-cdk-lib.aws_panorama": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Panorama" }, "java": { "package": "software.amazon.awscdk.services.panorama" }, "python": { "module": "aws_cdk.aws_panorama" } } }, "aws-cdk-lib.aws_paymentcryptography": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.PaymentCryptography" }, "java": { "package": "software.amazon.awscdk.services.paymentcryptography" }, "python": { "module": "aws_cdk.aws_paymentcryptography" } } }, "aws-cdk-lib.aws_pcaconnectorad": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.PCAConnectorAD" }, "java": { "package": "software.amazon.awscdk.services.pcaconnectorad" }, "python": { "module": "aws_cdk.aws_pcaconnectorad" } } }, "aws-cdk-lib.aws_pcaconnectorscep": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.PCAConnectorSCEP" }, "java": { "package": "software.amazon.awscdk.services.pcaconnectorscep" }, "python": { "module": "aws_cdk.aws_pcaconnectorscep" } } }, "aws-cdk-lib.aws_personalize": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Personalize" }, "java": { "package": "software.amazon.awscdk.services.personalize" }, "python": { "module": "aws_cdk.aws_personalize" } } }, "aws-cdk-lib.aws_pinpoint": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Pinpoint" }, "java": { "package": "software.amazon.awscdk.services.pinpoint" }, "python": { "module": "aws_cdk.aws_pinpoint" } } }, "aws-cdk-lib.aws_pinpointemail": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.PinpointEmail" }, "java": { "package": "software.amazon.awscdk.services.pinpointemail" }, "python": { "module": "aws_cdk.aws_pinpointemail" } } }, "aws-cdk-lib.aws_pipes": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Pipes" }, "java": { "package": "software.amazon.awscdk.services.pipes" }, "python": { "module": "aws_cdk.aws_pipes" } } }, "aws-cdk-lib.aws_proton": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Proton" }, "java": { "package": "software.amazon.awscdk.services.proton" }, "python": { "module": "aws_cdk.aws_proton" } } }, "aws-cdk-lib.aws_qbusiness": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.QBusiness" }, "java": { "package": "software.amazon.awscdk.services.qbusiness" }, "python": { "module": "aws_cdk.aws_qbusiness" } } }, "aws-cdk-lib.aws_qldb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.QLDB" }, "java": { "package": "software.amazon.awscdk.services.qldb" }, "python": { "module": "aws_cdk.aws_qldb" } } }, "aws-cdk-lib.aws_quicksight": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.QuickSight" }, "java": { "package": "software.amazon.awscdk.services.quicksight" }, "python": { "module": "aws_cdk.aws_quicksight" } } }, "aws-cdk-lib.aws_ram": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RAM" }, "java": { "package": "software.amazon.awscdk.services.ram" }, "python": { "module": "aws_cdk.aws_ram" } } }, "aws-cdk-lib.aws_rds": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RDS" }, "java": { "package": "software.amazon.awscdk.services.rds" }, "python": { "module": "aws_cdk.aws_rds" } } }, "aws-cdk-lib.aws_redshift": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Redshift" }, "java": { "package": "software.amazon.awscdk.services.redshift" }, "python": { "module": "aws_cdk.aws_redshift" } } }, "aws-cdk-lib.aws_redshiftserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RedshiftServerless" }, "java": { "package": "software.amazon.awscdk.services.redshiftserverless" }, "python": { "module": "aws_cdk.aws_redshiftserverless" } } }, "aws-cdk-lib.aws_refactorspaces": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RefactorSpaces" }, "java": { "package": "software.amazon.awscdk.services.refactorspaces" }, "python": { "module": "aws_cdk.aws_refactorspaces" } } }, "aws-cdk-lib.aws_rekognition": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Rekognition" }, "java": { "package": "software.amazon.awscdk.services.rekognition" }, "python": { "module": "aws_cdk.aws_rekognition" } } }, "aws-cdk-lib.aws_resiliencehub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResilienceHub" }, "java": { "package": "software.amazon.awscdk.services.resiliencehub" }, "python": { "module": "aws_cdk.aws_resiliencehub" } } }, "aws-cdk-lib.aws_resourceexplorer2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResourceExplorer2" }, "java": { "package": "software.amazon.awscdk.services.resourceexplorer2" }, "python": { "module": "aws_cdk.aws_resourceexplorer2" } } }, "aws-cdk-lib.aws_resourcegroups": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResourceGroups" }, "java": { "package": "software.amazon.awscdk.services.resourcegroups" }, "python": { "module": "aws_cdk.aws_resourcegroups" } } }, "aws-cdk-lib.aws_robomaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RoboMaker" }, "java": { "package": "software.amazon.awscdk.services.robomaker" }, "python": { "module": "aws_cdk.aws_robomaker" } } }, "aws-cdk-lib.aws_rolesanywhere": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RolesAnywhere" }, "java": { "package": "software.amazon.awscdk.services.rolesanywhere" }, "python": { "module": "aws_cdk.aws_rolesanywhere" } } }, "aws-cdk-lib.aws_route53": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53" }, "java": { "package": "software.amazon.awscdk.services.route53" }, "python": { "module": "aws_cdk.aws_route53" } } }, "aws-cdk-lib.aws_route53_patterns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53.Patterns" }, "java": { "package": "software.amazon.awscdk.services.route53.patterns" }, "python": { "module": "aws_cdk.aws_route53_patterns" } } }, "aws-cdk-lib.aws_route53_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53.Targets" }, "java": { "package": "software.amazon.awscdk.services.route53.targets" }, "python": { "module": "aws_cdk.aws_route53_targets" } } }, "aws-cdk-lib.aws_route53profiles": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Route53Profiles" }, "java": { "package": "software.amazon.awscdk.services.route53profiles" }, "python": { "module": "aws_cdk.aws_route53profiles" } } }, "aws-cdk-lib.aws_route53recoverycontrol": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53RecoveryControl" }, "java": { "package": "software.amazon.awscdk.services.route53recoverycontrol" }, "python": { "module": "aws_cdk.aws_route53recoverycontrol" } } }, "aws-cdk-lib.aws_route53recoveryreadiness": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53RecoveryReadiness" }, "java": { "package": "software.amazon.awscdk.services.route53recoveryreadiness" }, "python": { "module": "aws_cdk.aws_route53recoveryreadiness" } } }, "aws-cdk-lib.aws_route53resolver": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53Resolver" }, "java": { "package": "software.amazon.awscdk.services.route53resolver" }, "python": { "module": "aws_cdk.aws_route53resolver" } } }, "aws-cdk-lib.aws_rum": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RUM" }, "java": { "package": "software.amazon.awscdk.services.rum" }, "python": { "module": "aws_cdk.aws_rum" } } }, "aws-cdk-lib.aws_s3": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3" }, "java": { "package": "software.amazon.awscdk.services.s3" }, "python": { "module": "aws_cdk.aws_s3" } } }, "aws-cdk-lib.aws_s3_assets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3.Assets" }, "java": { "package": "software.amazon.awscdk.services.s3.assets" }, "python": { "module": "aws_cdk.aws_s3_assets" } } }, "aws-cdk-lib.aws_s3_deployment": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3.Deployment" }, "java": { "package": "software.amazon.awscdk.services.s3.deployment" }, "python": { "module": "aws_cdk.aws_s3_deployment" } } }, "aws-cdk-lib.aws_s3_notifications": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3.Notifications" }, "java": { "package": "software.amazon.awscdk.services.s3.notifications" }, "python": { "module": "aws_cdk.aws_s3_notifications" } } }, "aws-cdk-lib.aws_s3express": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.S3Express" }, "java": { "package": "software.amazon.awscdk.services.s3express" }, "python": { "module": "aws_cdk.aws_s3express" } } }, "aws-cdk-lib.aws_s3objectlambda": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3ObjectLambda" }, "java": { "package": "software.amazon.awscdk.services.s3objectlambda" }, "python": { "module": "aws_cdk.aws_s3objectlambda" } } }, "aws-cdk-lib.aws_s3outposts": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3Outposts" }, "java": { "package": "software.amazon.awscdk.services.s3outposts" }, "python": { "module": "aws_cdk.aws_s3outposts" } } }, "aws-cdk-lib.aws_sagemaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Sagemaker" }, "java": { "package": "software.amazon.awscdk.services.sagemaker" }, "python": { "module": "aws_cdk.aws_sagemaker" } } }, "aws-cdk-lib.aws_sam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SAM" }, "java": { "package": "software.amazon.awscdk.services.sam" }, "python": { "module": "aws_cdk.aws_sam" } } }, "aws-cdk-lib.aws_scheduler": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Scheduler" }, "java": { "package": "software.amazon.awscdk.services.scheduler" }, "python": { "module": "aws_cdk.aws_scheduler" } } }, "aws-cdk-lib.aws_sdb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SDB" }, "java": { "package": "software.amazon.awscdk.services.sdb" }, "python": { "module": "aws_cdk.aws_sdb" } } }, "aws-cdk-lib.aws_secretsmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SecretsManager" }, "java": { "package": "software.amazon.awscdk.services.secretsmanager" }, "python": { "module": "aws_cdk.aws_secretsmanager" } } }, "aws-cdk-lib.aws_securityhub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SecurityHub" }, "java": { "package": "software.amazon.awscdk.services.securityhub" }, "python": { "module": "aws_cdk.aws_securityhub" } } }, "aws-cdk-lib.aws_securitylake": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.SecurityLake" }, "java": { "package": "software.amazon.awscdk.services.securitylake" }, "python": { "module": "aws_cdk.aws_securitylake" } } }, "aws-cdk-lib.aws_servicecatalog": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Servicecatalog" }, "java": { "package": "software.amazon.awscdk.services.servicecatalog" }, "python": { "module": "aws_cdk.aws_servicecatalog" } } }, "aws-cdk-lib.aws_servicecatalogappregistry": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Servicecatalogappregistry" }, "java": { "package": "software.amazon.awscdk.services.servicecatalogappregistry" }, "python": { "module": "aws_cdk.aws_servicecatalogappregistry" } } }, "aws-cdk-lib.aws_servicediscovery": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ServiceDiscovery" }, "java": { "package": "software.amazon.awscdk.services.servicediscovery" }, "python": { "module": "aws_cdk.aws_servicediscovery" } } }, "aws-cdk-lib.aws_ses": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SES" }, "java": { "package": "software.amazon.awscdk.services.ses" }, "python": { "module": "aws_cdk.aws_ses" } } }, "aws-cdk-lib.aws_ses_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SES.Actions" }, "java": { "package": "software.amazon.awscdk.services.ses.actions" }, "python": { "module": "aws_cdk.aws_ses_actions" } } }, "aws-cdk-lib.aws_shield": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.Shield" }, "java": { "package": "software.amazon.awscdk.services.shield" }, "python": { "module": "aws_cdk.aws_shield" } } }, "aws-cdk-lib.aws_signer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Signer" }, "java": { "package": "software.amazon.awscdk.services.signer" }, "python": { "module": "aws_cdk.aws_signer" } } }, "aws-cdk-lib.aws_simspaceweaver": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SimSpaceWeaver" }, "java": { "package": "software.amazon.awscdk.services.simspaceweaver" }, "python": { "module": "aws_cdk.aws_simspaceweaver" } } }, "aws-cdk-lib.aws_sns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SNS" }, "java": { "package": "software.amazon.awscdk.services.sns" }, "python": { "module": "aws_cdk.aws_sns" } } }, "aws-cdk-lib.aws_sns_subscriptions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SNS.Subscriptions" }, "java": { "package": "software.amazon.awscdk.services.sns.subscriptions" }, "python": { "module": "aws_cdk.aws_sns_subscriptions" } } }, "aws-cdk-lib.aws_sqs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SQS" }, "java": { "package": "software.amazon.awscdk.services.sqs" }, "python": { "module": "aws_cdk.aws_sqs" } } }, "aws-cdk-lib.aws_ssm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSM" }, "java": { "package": "software.amazon.awscdk.services.ssm" }, "python": { "module": "aws_cdk.aws_ssm" } } }, "aws-cdk-lib.aws_ssmcontacts": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSMContacts" }, "java": { "package": "software.amazon.awscdk.services.ssmcontacts" }, "python": { "module": "aws_cdk.aws_ssmcontacts" } } }, "aws-cdk-lib.aws_ssmincidents": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSMIncidents" }, "java": { "package": "software.amazon.awscdk.services.ssmincidents" }, "python": { "module": "aws_cdk.aws_ssmincidents" } } }, "aws-cdk-lib.aws_ssmquicksetup": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.SSMQuickSetup" }, "java": { "package": "software.amazon.awscdk.services.ssmquicksetup" }, "python": { "module": "aws_cdk.aws_ssmquicksetup" } } }, "aws-cdk-lib.aws_sso": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSO" }, "java": { "package": "software.amazon.awscdk.services.sso" }, "python": { "module": "aws_cdk.aws_sso" } } }, "aws-cdk-lib.aws_stepfunctions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.StepFunctions" }, "java": { "package": "software.amazon.awscdk.services.stepfunctions" }, "python": { "module": "aws_cdk.aws_stepfunctions" } } }, "aws-cdk-lib.aws_stepfunctions_tasks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.StepFunctions.Tasks" }, "java": { "package": "software.amazon.awscdk.services.stepfunctions.tasks" }, "python": { "module": "aws_cdk.aws_stepfunctions_tasks" } } }, "aws-cdk-lib.aws_supportapp": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SupportApp" }, "java": { "package": "software.amazon.awscdk.services.supportapp" }, "python": { "module": "aws_cdk.aws_supportapp" } } }, "aws-cdk-lib.aws_synthetics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Synthetics" }, "java": { "package": "software.amazon.awscdk.services.synthetics" }, "python": { "module": "aws_cdk.aws_synthetics" } } }, "aws-cdk-lib.aws_systemsmanagersap": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SystemsManagerSAP" }, "java": { "package": "software.amazon.awscdk.services.systemsmanagersap" }, "python": { "module": "aws_cdk.aws_systemsmanagersap" } } }, "aws-cdk-lib.aws_timestream": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Timestream" }, "java": { "package": "software.amazon.awscdk.services.timestream" }, "python": { "module": "aws_cdk.aws_timestream" } } }, "aws-cdk-lib.aws_transfer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Transfer" }, "java": { "package": "software.amazon.awscdk.services.transfer" }, "python": { "module": "aws_cdk.aws_transfer" } } }, "aws-cdk-lib.aws_verifiedpermissions": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.VerifiedPermissions" }, "java": { "package": "software.amazon.awscdk.services.verifiedpermissions" }, "python": { "module": "aws_cdk.aws_verifiedpermissions" } } }, "aws-cdk-lib.aws_voiceid": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.VoiceID" }, "java": { "package": "software.amazon.awscdk.services.voiceid" }, "python": { "module": "aws_cdk.aws_voiceid" } } }, "aws-cdk-lib.aws_vpclattice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.VpcLattice" }, "java": { "package": "software.amazon.awscdk.services.vpclattice" }, "python": { "module": "aws_cdk.aws_vpclattice" } } }, "aws-cdk-lib.aws_waf": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WAF" }, "java": { "package": "software.amazon.awscdk.services.waf" }, "python": { "module": "aws_cdk.aws_waf" } } }, "aws-cdk-lib.aws_wafregional": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WAFRegional" }, "java": { "package": "software.amazon.awscdk.services.waf.regional" }, "python": { "module": "aws_cdk.aws_wafregional" } } }, "aws-cdk-lib.aws_wafv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WAFv2" }, "java": { "package": "software.amazon.awscdk.services.wafv2" }, "python": { "module": "aws_cdk.aws_wafv2" } } }, "aws-cdk-lib.aws_wisdom": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Wisdom" }, "java": { "package": "software.amazon.awscdk.services.wisdom" }, "python": { "module": "aws_cdk.aws_wisdom" } } }, "aws-cdk-lib.aws_workspaces": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.WorkSpaces" }, "java": { "package": "software.amazon.awscdk.services.workspaces" }, "python": { "module": "aws_cdk.aws_workspaces" } } }, "aws-cdk-lib.aws_workspacesthinclient": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.WorkSpacesThinClient" }, "java": { "package": "software.amazon.awscdk.services.workspacesthinclient" }, "python": { "module": "aws_cdk.aws_workspacesthinclient" } } }, "aws-cdk-lib.aws_workspacesweb": { "targets": { "dotnet": { "package": "Amazon.CDK.AWS.WorkSpacesWeb" }, "java": { "package": "software.amazon.awscdk.services.workspacesweb" }, "python": { "module": "aws_cdk.aws_workspacesweb" } } }, "aws-cdk-lib.aws_xray": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.XRay" }, "java": { "package": "software.amazon.awscdk.services.xray" }, "python": { "module": "aws_cdk.aws_xray" } } }, "aws-cdk-lib.cloud_assembly_schema": {}, "aws-cdk-lib.cloudformation_include": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CloudFormation.Include" }, "java": { "package": "software.amazon.awscdk.cloudformation.include" }, "python": { "module": "aws_cdk.cloudformation_include" } } }, "aws-cdk-lib.custom_resources": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CustomResources" }, "java": { "package": "software.amazon.awscdk.customresources" }, "python": { "module": "aws_cdk.custom_resources" } } }, "aws-cdk-lib.cx_api": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CXAPI" }, "java": { "package": "software.amazon.awscdk.cxapi" }, "python": { "module": "aws_cdk.cx_api" } } }, "aws-cdk-lib.lambda_layer_awscli": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.AwsCli" }, "java": { "package": "software.amazon.awscdk.lambdalayer.awscli" }, "python": { "module": "aws_cdk.lambda_layer_awscli" } } }, "aws-cdk-lib.lambda_layer_kubectl": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.Kubectl" }, "java": { "package": "software.amazon.awscdk.lambdalayer.kubectl" }, "python": { "module": "aws_cdk.lambda_layer_kubectl" } } }, "aws-cdk-lib.lambda_layer_node_proxy_agent": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.NodeProxyAgent" }, "java": { "package": "software.amazon.awscdk.lambda.layer.node.proxy.agent" }, "python": { "module": "aws_cdk.lambda_layer_node_proxy_agent" } } }, "aws-cdk-lib.pipelines": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Pipelines" }, "java": { "package": "software.amazon.awscdk.pipelines" }, "python": { "module": "aws_cdk.pipelines" } } }, "aws-cdk-lib.region_info": { "targets": { "dotnet": { "namespace": "Amazon.CDK.RegionInfo" }, "java": { "package": "software.amazon.awscdk.regioninfo" }, "python": { "module": "aws_cdk.region_info" } } }, "aws-cdk-lib.triggers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Triggers" }, "java": { "package": "software.amazon.awscdk.triggers" }, "python": { "module": "aws_cdk.triggers" } } } }, "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png", "namespace": "Amazon.CDK", "packageId": "Amazon.CDK.Lib" }, "go": { "moduleName": "github.com/aws/aws-cdk-go", "packageName": "awscdk" }, "java": { "maven": { "artifactId": "aws-cdk-lib", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk" }, "js": { "npm": "aws-cdk-lib" }, "python": { "distName": "aws-cdk-lib", "module": "aws_cdk" } } }, "constructs": { "targets": { "dotnet": { "namespace": "Constructs", "packageId": "Constructs" }, "go": { "moduleName": "github.com/aws/constructs-go" }, "java": { "maven": { "artifactId": "constructs", "groupId": "software.constructs" }, "package": "software.constructs" }, "js": { "npm": "constructs" }, "python": { "distName": "constructs", "module": "constructs" } } } }, "description": "A constrcut for PII and redaction scenarios with Amazon Comprehend and S3 Object Lambda", "docs": { "stability": "stable" }, "homepage": "https://github.com/HsiehShuJeng/cdk-comprehend-s3olap.git", "jsiiVersion": "5.4.36 (build 0893030)", "keywords": [ "AWS::S3ObjectLambda", "amazon-comprehhend", "aws-s3objectlambda", "aws-sam", "cdk", "lambda", "machine-learning", "pii", "s3", "scott.hsieh" ], "license": "Apache-2.0", "metadata": { "jsii": { "pacmak": { "hasDefaultInterfaces": true } }, "tscRootDir": "src" }, "name": "cdk-comprehend-s3olap", "readme": { "markdown": "# cdk-comprehend-s3olap\n[![License](https://img.shields.io/badge/License-Apache%202.0-green)](https://opensource.org/licenses/Apache-2.0) [![Release](https://github.com/HsiehShuJeng/cdk-comprehend-s3olap/actions/workflows/release.yml/badge.svg)](https://github.com/HsiehShuJeng/cdk-comprehend-s3olap/actions/workflows/release.yml) [![npm downloads](https://img.shields.io/npm/dt/cdk-comprehend-s3olap?label=npm%20downloads&style=plastic)](https://img.shields.io/npm/dt/cdk-comprehend-s3olap?label=npm%20downloads&style=plastic) [![pypi downloads](https://img.shields.io/pypi/dm/cdk-comprehend-s3olap?label=pypi%20downloads&style=plastic)](https://img.shields.io/pypi/dm/cdk-comprehend-s3olap?label=pypi%20downloads&style=plastic) [![NuGet downloads](https://img.shields.io/nuget/dt/Comprehend.S3olap?label=NuGet%20downloads&style=plastic)](https://img.shields.io/nuget/dt/Comprehend.S3olap?label=NuGet%20downloads&style=plastic) [![repo languages](https://img.shields.io/github/languages/count/HsiehShuJeng/cdk-comprehend-s3olap?label=repo%20languages&style=plastic)](https://img.shields.io/github/languages/count/HsiehShuJeng/cdk-comprehend-s3olap?label=repo%20languages&style=plastic)\n\n| npm (JS/TS) | PyPI (Python) | Maven (Java) | Go | NuGet |\n| --- | --- | --- | --- | --- |\n| [Link](https://www.npmjs.com/package/cdk-comprehend-s3olap) | [Link](https://pypi.org/project/cdk_comprehend_s3olap/) | [Link](https://search.maven.org/artifact/io.github.hsiehshujeng/cdk-comprehend-s3olap) | [Link](https://github.com/HsiehShuJeng/cdk-comprehend-s3olap-go) | [Link](https://www.nuget.org/packages/Comprehend.S3olap/) |\n\nThis construct creates the foundation for developers to explore the combination of Amazon S3 Object Lambda and Amazon Comprehend for PII scenarios and it is designed with flexibility, i.e, the developers could tweak arguments via CDK to see how AWS services work and behave.\n\n# Table of Contents\n- [Serverless Architecture](#serverless-architecture)\n - [Access Control](#access-control)\n - [Redaction](#rerfaction)\n- [Introduction](#introduction)\n- [Example](#example)\n - [Typescript](#typescript)\n - [Python](#python)\n - [Java](#java)\n - [C#](#c)\n- [Some Notes](#some-notes)\n\n# Serverless Architecture\n## Access Control\n**Data Flow**\n![image](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2021/05/07/1-2891.jpg)\n*Ram R. and Austin Q., 2021*\n**Arhictecture**\n![image](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2021/05/07/2-2891.jpg)\n*Ram R. and Austin Q., 2021*\n## Redaction\n![image](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2021/05/07/3-2891.jpg)\n*Ram R. and Austin Q., 2021*\n![image](https://d2908q01vomqb2.cloudfront.net/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59/2021/05/07/4-2891.jpg)\n*Ram R. and Austin Q., 2021*\n\n# Introduction\nThe architecture was introduced by **Ram Ramani** and **Austin Quam** and was posted on the AWS Blog as [*Protect PII using Amazon S3 Object Lambda to process and modify data during retrieval*](https://aws.amazon.com/tw/blogs/machine-learning/protect-pii-using-amazon-s3-object-lambda-to-process-and-modify-data-during-retrieval/).\nI converted the architecture into a CDK constrcut for 4 programming languages. With this construct, you could manage the properties of IAM roles, the Lambda functions with Amazon Comprehend, and few for the constrcut.\nBefore deploying the construct via the CDK, you could either places the text files, i.e., those for the access control case and redaction case, under a directory with a specific name as the following or just deploying directly yet you need to upload the text files onto the S3 buckets manually yourself. It's all your choie.\n```bash\n# For the access control case.\n$ cd ${ROOT_DIRECTORY_CDK_APPLICATION}\n$ mkdir -p files/access_control\n$ curl -o survey-results.txt https://raw.githubusercontent.com/aws-samples/amazon-comprehend-examples/master/s3_object_lambda_pii_protection_blog/access-control/survey-results.txt\n$ curl -o innocuous.txt https://raw.githubusercontent.com/aws-samples/amazon-comprehend-examples/master/s3_object_lambda_pii_protection_blog/access-control/innocuous.txt\n# For the redaction case.\n$ cd ${ROOT_DIRECTORY_CDK_APPLICATION}\n$ mkdir -p files/redaction\n$ curl -o transcript.txt https://raw.githubusercontent.com/aws-samples/amazon-comprehend-examples/master/s3_object_lambda_pii_protection_blog/redaction/transcript.txt\n```\n# Example\n## Typescript\nYou could also refer to [here](https://github.com/HsiehShuJeng/cdk-comprehend-s3olap/tree/main/src/demo/typescript).\n```bash\n$ cdk --init language typescript\n$ yarn add cdk-comprehend-s3olap\n```\n```typescript\nimport * as cdk from '@aws-cdk/core';\nimport { ComprehendS3olab } from 'cdk-comprehend-s3olap';\n\nclass TypescriptStack extends cdk.Stack {\n constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {\n super(scope, id, props);\n const s3olab = new ComprehendS3olab(this, 'PiiDemo', {\n adminRedactionLambdaConfig: {\n maskCharacter: ' ',\n unsupportedFileHandling: 'PASS',\n },\n billingRedactionLambdaConfig: {\n maskMode: 'REPLACE_WITH_PII_ENTITY_TYPE',\n piiEntityTypes: 'AGE,DRIVER_ID,IP_ADDRESS,MAC_ADDRESS,PASSPORT_NUMBER,PASSWORD,SSN',\n },\n cusrtSupportRedactionLambdaConfig: {\n maskMode: 'REPLACE_WITH_PII_ENTITY_TYPE',\n piiEntityTypes: ' BANK_ACCOUNT_NUMBER,BANK_ROUTING,CREDIT_DEBIT_CVV,CREDIT_DEBIT_EXPIRY,CREDIT_DEBIT_NUMBER,SSN',\n },\n });\n\n new cdk.CfnOutput(this, 'OPiiAccessControlLambdaArn', { value: s3olab.piiAccessConrtolLambdaArn });\n new cdk.CfnOutput(this, 'OAdminLambdaArn', { value: s3olab.adminLambdaArn });\n new cdk.CfnOutput(this, 'OBillingLambdaArn', { value: s3olab.billingLambdaArn });\n new cdk.CfnOutput(this, 'OCustomerSupportLambdaArn', { value: s3olab.customerSupportLambdaArn });\n new cdk.CfnOutput(this, 'OS3ObjectLambdaGeneralArn', { value: s3olab.s3objectLambdaAccessControlArn });\n new cdk.CfnOutput(this, 'OS3ObjectLambdaAdminArn', { value: s3olab.s3objectLambdaAdminArn });\n new cdk.CfnOutput(this, 'OS3ObjectLambdaBillingArn', { value: s3olab.s3objectLambdaBillingArn });\n new cdk.CfnOutput(this, 'OS3ObjectLambdaCustomerSupportArn', { value: s3olab.customerSupportLambdaArn });\n }\n}\n\nconst app = new cdk.App();\nnew TypescriptStack(app, 'TypescriptStack', {\n stackName: 'Comprehend-S3olap',\n});\n```\n## Python\nYou could also refer to [here](https://github.com/HsiehShuJeng/cdk-databrew-cicd/tree/main/src/demo/python).\n```bash\n# upgrading related Python packages\n$ python -m ensurepip --upgrade\n$ python -m pip install --upgrade pip\n$ python -m pip install --upgrade virtualenv\n# initialize a CDK Python project\n$ cdk init --language python\n# make packages installed locally instead of globally\n$ source .venv/bin/activate\n$ # add \"cdk-comprehend-s3olap==2.0.113\" into `setup.py`\n$ python -m pip install --upgrade -r requirements.txt\n```\nThe demonstration sample code of Python can be viewed via the Python tab of this package on the [Constrcut Hub](https://constructs.dev/).\n## Java\nYou could also refer to [here](https://github.com/HsiehShuJeng/cdk-comprehend-s3olap/tree/main/src/demo/java).\n```bash\n$ cdk init --language java\n$ mvn package # If you include the construct, you need to tweak the test case for Java in order to package with success via Maven.\n```xml\n.\n.\n\n UTF-8\n 2.72.1\n 2.0.113\n 5.7.1\n\n.\n.\n\n \n \n software.amazon.awscdk\n core\n ${cdk.version}\n \n \n io.github.hsiehshujeng\n cdk-comprehend-s3olap\n ${constrcut.verion}\n \n .\n .\n .\n\n```\n```java\npackage com.myorg;\n\nimport software.amazon.awscdk.core.CfnOutput;\nimport software.amazon.awscdk.core.CfnOutputProps;\nimport software.amazon.awscdk.core.Construct;\nimport software.amazon.awscdk.core.Stack;\nimport software.amazon.awscdk.core.StackProps;\nimport io.github.hsiehshujeng.cdk.comprehend.s3olap.RedactionLambdaProps;\nimport io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olab;\nimport io.github.hsiehshujeng.cdk.comprehend.s3olap.ComprehendS3olabProps;\n\npublic class JavaStack extends Stack {\n public JavaStack(final Construct scope, final String id) {\n this(scope, id, null);\n }\n\n public JavaStack(final Construct scope, final String id, final StackProps props) {\n super(scope, id, props);\n\n ComprehendS3olab s3olab = new ComprehendS3olab(this, \"PiiDemo\", ComprehendS3olabProps.builder()\n .adminRedactionLambdaConfig(\n RedactionLambdaProps.builder()\n .maskCharacter(\" \")\n .unsupportedFileHandling(\"PASS\").build())\n .billingRedactionLambdaConfig(\n RedactionLambdaProps.builder()\n .maskMode(\"REPLACE_WITH_PII_ENTITY_TYPE\")\n .piiEntityTypes(\"AGE,DRIVER_ID,IP_ADDRESS,MAC_ADDRESS,PASSPORT_NUMBER,PASSWORD,SSN\")\n .build())\n .cusrtSupportRedactionLambdaConfig(\n RedactionLambdaProps.builder()\n .maskMode(\"REPLACE_WITH_PII_ENTITY_TYPE\")\n .piiEntityTypes(\"BANK_ACCOUNT_NUMBER,BANK_ROUTING,CREDIT_DEBIT_CVV,CREDIT_DEBIT_EXPIRY,CREDIT_DEBIT_NUMBER,SSN\")\n .build())\n .exampleFileDir(\"/opt/learning/cdk-comprehend-s3olap/src/demo/java\")\n .build()\n );\n\n new CfnOutput(this, \"OPiiAccessControlLambdaArn\", CfnOutputProps.builder().value(s3olab.getPiiAccessConrtolLambdaArn()).build());\n new CfnOutput(this, \"OAdminLambdaArn\", CfnOutputProps.builder().value(s3olab.getAdminLambdaArn()).build());\n new CfnOutput(this, \"OBillingLambdaArn\", CfnOutputProps.builder().value(s3olab.getBillingLambdaArn()).build());\n new CfnOutput(this, \"OCustomerSupportLambdaArn\", CfnOutputProps.builder().value(s3olab.getCustomerSupportLambdaArn()).build());\n new CfnOutput(this, \"OS3ObjectLambdaGeneralArn\", CfnOutputProps.builder().value(s3olab.getS3objectLambdaAccessControlArn()).build());\n new CfnOutput(this, \"OS3ObjectLambdaAdminArn\", CfnOutputProps.builder().value(s3olab.getS3objectLambdaAdminArn()).build());\n new CfnOutput(this, \"OS3ObjectLambdaBillingArn\", CfnOutputProps.builder().value(s3olab.getS3objectLambdaBillingArn()).build());\n new CfnOutput(this, \"OS3ObjectLambdaCustomerSupportArn\", CfnOutputProps.builder().value(s3olab.getCustomerSupportLambdaArn()).build());\n }\n}\n```\n## C#\nYou could also refer to [here](https://github.com/HsiehShuJeng/cdk-comprehend-s3olap/tree/main/src/demo/csharp).\n```bash\n$ cdk init --language csharp\n$ dotnet add src/Csharp package Comprehend.S3olap --version 2.0.113\n```\n```cs\nusing Amazon.CDK;\nusing ScottHsieh.Cdk;\n\nnamespace Csharp\n{\n public class CsharpStack : Stack\n {\n internal CsharpStack(Construct scope, string id, IStackProps props = null) : base(scope, id, props)\n {\n var S3olab = new ComprehendS3olab(this, \"PiiDemo\", new ComprehendS3olabProps\n {\n AdminRedactionLambdaConfig = new RedactionLambdaProps\n {\n MaskCharacter = \" \",\n UnsupportedFileHandling = \"PASS\"\n },\n BillingRedactionLambdaConfig = new RedactionLambdaProps\n {\n MaskMode = \"REPLACE_WITH_PII_ENTITY_TYPE\",\n PiiEntityTypes = \"AGE,DRIVER_ID,IP_ADDRESS,MAC_ADDRESS,PASSPORT_NUMBER,PASSWORD,SSN\"\n },\n CusrtSupportRedactionLambdaConfig = new RedactionLambdaProps\n {\n MaskMode = \"REPLACE_WITH_PII_ENTITY_TYPE\",\n PiiEntityTypes = \"BANK_ACCOUNT_NUMBER,BANK_ROUTING,CREDIT_DEBIT_CVV,CREDIT_DEBIT_EXPIRY,CREDIT_DEBIT_NUMBER,SSN\"\n },\n ExampleFileDir = \"/opt/learning/cdk-comprehend-s3olap/src/demo/csharp\"\n });\n\n new CfnOutput(this, \"OPiiAccessControlLambdaArn\", new CfnOutputProps { Value = S3olab.PiiAccessConrtolLambdaArn });\n new CfnOutput(this, \"OAdminLambdaArn\", new CfnOutputProps { Value = S3olab.AdminLambdaArn });\n new CfnOutput(this, \"OBillingLambdaArn\", new CfnOutputProps { Value = S3olab.BillingLambdaArn });\n new CfnOutput(this, \"OCustomerSupportLambdaArn\", new CfnOutputProps { Value = S3olab.CustomerSupportLambdaArn });\n new CfnOutput(this, \"OS3ObjectLambdaGeneralArn\", new CfnOutputProps { Value = S3olab.S3objectLambdaAccessControlArn });\n new CfnOutput(this, \"OS3ObjectLambdaAdminArn\", new CfnOutputProps { Value = S3olab.S3objectLambdaAdminArn });\n new CfnOutput(this, \"OS3ObjectLambdaBillingArn\", new CfnOutputProps { Value = S3olab.S3objectLambdaBillingArn });\n new CfnOutput(this, \"OS3ObjectLambdaCustomerSupportArn\", new CfnOutputProps { Value = S3olab.CustomerSupportLambdaArn });\n }\n }\n}\n```\n\n# Some Notes\n1. You should see similar items as the following diagram displays after deploying the constrcut.\n![image](https://raw.githubusercontent.com/HsiehShuJeng/cdk-comprehend-s3olap/main/images/s3olap_console.png)\n2. After creating the foundation with success, you could switch roles that the consrtcut creates for you and see how **Amazon S3 Object Lambda** works. For what switching roles is, please refer to [here](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-console.html) for the detail.\n![image](https://raw.githubusercontent.com/HsiehShuJeng/cdk-comprehend-s3olap/main/images/switch_roles.png)\n3. You explore **Amazon S3 Object Lambda** through the Object Lambda access points on the AWS Console and open or download the text files via one of the IAM roles.\n4. Lambda code that incorporates with **Amazon Comprehend** could be see [here](https://github.com/aws-samples/amazon-comprehend-examples/tree/master/s3_object_lambda_pii_protection_blog)." }, "repository": { "type": "git", "url": "https://github.com/HsiehShuJeng/cdk-comprehend-s3olap.git" }, "schema": "jsii/0.10.0", "targets": { "dotnet": { "namespace": "ScottHsieh.Cdk", "packageId": "Comprehend.S3olap" }, "go": { "moduleName": "github.com/HsiehShuJeng/cdk-comprehend-s3olap-go" }, "java": { "maven": { "artifactId": "cdk-comprehend-s3olap", "groupId": "io.github.hsiehshujeng" }, "package": "io.github.hsiehshujeng.cdk.comprehend.s3olap" }, "js": { "npm": "cdk-comprehend-s3olap" }, "python": { "distName": "cdk_comprehend_s3olap", "module": "cdk_comprehend_s3olap" } }, "types": { "cdk-comprehend-s3olap.AccessConrtolLambda": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.AccessConrtolLambda", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 97 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "cdk-comprehend-s3olap.AccessConrtolLambdaProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 86 }, "name": "AccessConrtolLambda", "properties": [ { "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The name of the underlying resoure in the serverless application." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 92 }, "name": "stackName", "type": { "primitive": "string" } } ], "symbolId": "src/comprehend-lambdas:AccessConrtolLambda" }, "cdk-comprehend-s3olap.AccessConrtolLambdaProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.AccessConrtolLambdaProps", "kind": "interface", "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 5 }, "name": "AccessConrtolLambdaProps", "properties": [ { "abstract": true, "docs": { "default": "'0.5'", "remarks": "Valid range (0.5 to 1.0).", "stability": "stable", "summary": "The minimum prediction confidence score above which PII classification and detection would be considered as final answer." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 17 }, "name": "confidenceThreshold", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'20'", "remarks": "This controls the number of simultaneous calls that will be made from this Lambda.", "stability": "stable", "summary": "Number of threads to use for calling Comprehend's ContainsPiiEntities API." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 23 }, "name": "containsPiiEntitiesThreadCount", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'en'", "remarks": "This code will be used for interacting with Comprehend.", "stability": "stable", "summary": "Default language of the text to be processed." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 29 }, "name": "defaultLanguageCode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'102400'", "stability": "stable", "summary": "Default maximum document size (in bytes) that this function can process otherwise will throw exception for too large document size." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 35 }, "name": "documentMaxSize", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'50000'", "stability": "stable", "summary": "Maximum document size (in bytes) to be used for making calls to Comprehend's ContainsPiiEntities API." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 41 }, "name": "documentMaxSizeContainsPiiEntities", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'false'", "remarks": "Accessing partial object through http headers such byte-range can corrupt the object and/or affect PII detection accuracy.", "stability": "stable", "summary": "Whether to support partial objects or not." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 47 }, "name": "isPartialObjectSupported", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'INFO'", "stability": "stable", "summary": "Log level for Lambda function logging, e.g., ERROR, INFO, DEBUG, etc." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 53 }, "name": "logLevel", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'200'", "stability": "stable", "summary": "Maximum characters to overlap among segments of a document in case chunking is needed because of maximum document size limit." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 59 }, "name": "maxCharsOverlap", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'ALL'", "remarks": "Refer Comprehend's documentation page for list of supported PII entity types.", "stability": "stable", "summary": "List of comma separated PII entity types to be considered for access control." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 65 }, "name": "piiEntityTypes", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'true'", "remarks": "See README.md for details on CloudWatch metrics.", "stability": "stable", "summary": "True if publish metrics to Cloudwatch, false otherwise." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 71 }, "name": "publishCloudWatchMetrics", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'1.0.2'", "stability": "stable", "summary": "The version of the serverless application." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 11 }, "name": "semanticVersion", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'20'", "stability": "stable", "summary": "Number of tokens/words to overlap among segments of a document in case chunking is needed because of maximum document size limit." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 77 }, "name": "subsegmentOverlappingTokens", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'FAIL'", "remarks": "Valid values are PASS and FAIL.", "stability": "stable", "summary": "Handling logic for Unsupported files." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 83 }, "name": "unsupportedFileHandling", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/comprehend-lambdas:AccessConrtolLambdaProps" }, "cdk-comprehend-s3olap.AdminRole": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.AdminRole", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/iam-roles.ts", "line": 164 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.AdminRoleProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/iam-roles.ts", "line": 151 }, "name": "AdminRole", "properties": [ { "docs": { "stability": "stable", "summary": "The ARN of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 155 }, "name": "roleArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The unique string identifying the role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 163 }, "name": "roleId", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 159 }, "name": "roleName", "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:AdminRole" }, "cdk-comprehend-s3olap.AdminRoleProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.AdminRoleProps", "kind": "interface", "locationInModule": { "filename": "src/iam-roles.ts", "line": 130 }, "name": "AdminRoleProps", "properties": [ { "abstract": true, "docs": { "default": "'RedactionAdminRole'", "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 148 }, "name": "iamRoleName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'admin-s3olap-call-transcripts-known-pii'", "stability": "stable", "summary": "The name of the object Lambda access point, which will be the same as the S3 acceess point for the S3 bucket in the demostration." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 142 }, "name": "objectLambdaAccessPointName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'admin-role-s3olap-policy'", "stability": "stable", "summary": "The name of the IAM policy for the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 136 }, "name": "policyName", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:AdminRoleProps" }, "cdk-comprehend-s3olap.BillingRole": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.BillingRole", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/iam-roles.ts", "line": 280 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.AdminRoleProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/iam-roles.ts", "line": 267 }, "name": "BillingRole", "properties": [ { "docs": { "stability": "stable", "summary": "The ARN of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 271 }, "name": "roleArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The unique string identifying the role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 279 }, "name": "roleId", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 275 }, "name": "roleName", "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:BillingRole" }, "cdk-comprehend-s3olap.BillingRoleProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.BillingRoleProps", "kind": "interface", "locationInModule": { "filename": "src/iam-roles.ts", "line": 246 }, "name": "BillingRoleProps", "properties": [ { "abstract": true, "docs": { "default": "'RedactionBillingRole'", "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 264 }, "name": "iamRoleName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'billing-s3olap-call-transcripts-known-pii'", "stability": "stable", "summary": "The name of the object Lambda access point, which will be the same as the S3 acceess point for the S3 bucket in the demostration." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 258 }, "name": "objectLambdaAccessPointName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'billing-role-s3olap-policy'", "stability": "stable", "summary": "The name of the IAM policy for the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 252 }, "name": "policyName", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:BillingRoleProps" }, "cdk-comprehend-s3olap.ComprehendS3olab": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "stability": "stable", "summary": "Creates the foundation necessary to deploy the S3 Object Lambda Acceess Control Use Case." }, "fqn": "cdk-comprehend-s3olap.ComprehendS3olab", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 157 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "cdk-comprehend-s3olap.ComprehendS3olabProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 124 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 446 }, "name": "generateS3Prefix", "parameters": [ { "name": "length", "type": { "primitive": "number" } } ], "returns": { "type": { "primitive": "string" } } } ], "name": "ComprehendS3olab", "properties": [ { "docs": { "stability": "stable", "summary": "The ARN of the Lambda function combined with Amazon Comprehend for thie administrator role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 148 }, "name": "adminLambdaArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The ARN of the Lambda function combined with Amazon Comprehend for thie billing role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 152 }, "name": "billingLambdaArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The ARN of the Lambda function combined with Amazon Comprehend for thie customer support role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 156 }, "name": "customerSupportLambdaArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The ARN of the Lambda function combined with Amazon Comprehend for the general case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 144 }, "name": "piiAccessConrtolLambdaArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The ARN of the S3 Object Lambda for access control." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 128 }, "name": "s3objectLambdaAccessControlArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The ARN of the S3 Object Lambda for the admin role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 132 }, "name": "s3objectLambdaAdminArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The ARN of the S3 Object Lambda for the billing role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 136 }, "name": "s3objectLambdaBillingArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The ARN of the S3 Object Lambda for the customer support role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 140 }, "name": "s3objectLambdaCustomerSupportArn", "type": { "primitive": "string" } } ], "symbolId": "src/cdk-comprehend-s3olap:ComprehendS3olab" }, "cdk-comprehend-s3olap.ComprehendS3olabProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.ComprehendS3olabProps", "kind": "interface", "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 55 }, "name": "ComprehendS3olabProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The parameters needed for the `ComprehendPiiAccessControlS3ObjectLambda` function." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 76 }, "name": "accessControlLambdaConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.AccessConrtolLambdaProps" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The parameters of the `ComprehendPiiRedactionS3ObjectLambda` function for the `AdminRole`." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 80 }, "name": "adminRedactionLambdaConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.RedactionLambdaProps" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The manageable properties for the administrator IAM role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 96 }, "name": "adminRoleConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.AdminRoleProps" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The parameters of the `ComprehendPiiRedactionS3ObjectLambda` function for the `BillingRole`." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 84 }, "name": "billingRedactionLambdaConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.RedactionLambdaProps" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The manageable properties for the billing IAM role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 100 }, "name": "billingRoleConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.BillingRoleProps" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The parameters of the `ComprehendPiiRedactionS3ObjectLambda` function for the `CustSupportRole`." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 88 }, "name": "cusrtSupportRedactionLambdaConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.RedactionLambdaProps" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The manageable properties for the customer support IAM role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 104 }, "name": "custSupportRoleConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.CustSupportRoleProps" } }, { "abstract": true, "docs": { "default": "__dirname", "remarks": "DO NOT INCLUDE `/` in the end.", "stability": "stable", "summary": "The directory path where `files/access_control/*.txt` and `files/redaction/*.txt` will be put." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 118 }, "name": "exampleFileDir", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The manageable properties for the IAM role used to access the `survey-results.txt` data." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 92 }, "name": "generalRoleConfig", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.GeneralRoleProps" } }, { "abstract": true, "docs": { "default": "true", "stability": "stable", "summary": "For distinguish test and normal deployment." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 110 }, "name": "generateRandomCharacters", "optional": true, "type": { "primitive": "boolean" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The names of the S3 access points for the access control case and redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 71 }, "name": "s3AccessPointNames", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.S3AccessPointNames" } }, { "abstract": true, "docs": { "default": "6 random words", "stability": "stable", "summary": "The prefix attached to the name of the S3 bucket where you are going to explore the S3 Object Lambda pertaining to the access control case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 61 }, "name": "surveyBucketPrefix", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "6 random words", "stability": "stable", "summary": "The prefix attached to the name of the S3 bucket where you are going to explore the S3 Object Lambda pertaining to the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 67 }, "name": "transcriptsBucketPrefix", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/cdk-comprehend-s3olap:ComprehendS3olabProps" }, "cdk-comprehend-s3olap.CustSupportRole": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.CustSupportRole", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/iam-roles.ts", "line": 396 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.AdminRoleProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/iam-roles.ts", "line": 383 }, "name": "CustSupportRole", "properties": [ { "docs": { "stability": "stable", "summary": "The ARN of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 387 }, "name": "roleArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The unique string identifying the role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 395 }, "name": "roleId", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 391 }, "name": "roleName", "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:CustSupportRole" }, "cdk-comprehend-s3olap.CustSupportRoleProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.CustSupportRoleProps", "kind": "interface", "locationInModule": { "filename": "src/iam-roles.ts", "line": 362 }, "name": "CustSupportRoleProps", "properties": [ { "abstract": true, "docs": { "default": "'RedactionCustSupportRole'", "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 380 }, "name": "iamRoleName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'custsupport-s3olap-call-transcripts-known-pii'", "stability": "stable", "summary": "The name of the object Lambda access point, which will be the same as the S3 acceess point for the S3 bucket in the demostration." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 374 }, "name": "objectLambdaAccessPointName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'customersupport-role-s3olap-policy'", "stability": "stable", "summary": "The name of the IAM policy for the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 368 }, "name": "policyName", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:CustSupportRoleProps" }, "cdk-comprehend-s3olap.GeneralRole": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "remarks": "Explores how the S3 Object Lambda works.", "stability": "stable", "summary": "The role that you are going to assume (switch role)." }, "fqn": "cdk-comprehend-s3olap.GeneralRole", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/iam-roles.ts", "line": 47 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "cdk-comprehend-s3olap.GeneralRoleProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/iam-roles.ts", "line": 31 }, "name": "GeneralRole", "properties": [ { "docs": { "stability": "stable", "summary": "The ARN of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 36 }, "name": "roleArn", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The unique string identifying the role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 46 }, "name": "roleId", "type": { "primitive": "string" } }, { "docs": { "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 41 }, "name": "roleName", "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:GeneralRole" }, "cdk-comprehend-s3olap.GeneralRoleProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.GeneralRoleProps", "kind": "interface", "locationInModule": { "filename": "src/iam-roles.ts", "line": 5 }, "name": "GeneralRoleProps", "properties": [ { "abstract": true, "docs": { "default": "'GeneralRole'", "stability": "stable", "summary": "The name of the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 23 }, "name": "iamRoleName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'accessctl-s3olap-survey-results-unknown-pii'", "stability": "stable", "summary": "The name of the object Lambda access point, which will be the same as the S3 acceess point for the S3 bucket in the demostration." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 17 }, "name": "objectLambdaAccessPointName", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'general-role-s3olap-policy'", "stability": "stable", "summary": "The name of the IAM policy for the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/iam-roles.ts", "line": 11 }, "name": "policyName", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/iam-roles:GeneralRoleProps" }, "cdk-comprehend-s3olap.IamRoleName": { "assembly": "cdk-comprehend-s3olap", "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.IamRoleName", "kind": "enum", "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 21 }, "members": [ { "docs": { "stability": "stable" }, "name": "GENERAL" }, { "docs": { "stability": "stable" }, "name": "ADMIN" }, { "docs": { "stability": "stable" }, "name": "BILLING" }, { "docs": { "stability": "stable" }, "name": "CUST_SUPPORT" } ], "name": "IamRoleName", "symbolId": "src/cdk-comprehend-s3olap:IamRoleName" }, "cdk-comprehend-s3olap.LambdaArnCaptorCustomResource": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.LambdaArnCaptorCustomResource", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 588 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "cdk-comprehend-s3olap.LambdaArnCaptorResourceProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 581 }, "name": "LambdaArnCaptorCustomResource", "properties": [ { "docs": { "see": "https://github.com/aws/aws-cdk/issues/8760", "stability": "stable", "summary": "The ARN of the general Lambda function created from the serverless application." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 587 }, "name": "lambdaArn", "type": { "primitive": "string" } } ], "symbolId": "src/cdk-comprehend-s3olap:LambdaArnCaptorCustomResource" }, "cdk-comprehend-s3olap.LambdaArnCaptorResourceProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.LambdaArnCaptorResourceProps", "kind": "interface", "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 570 }, "name": "LambdaArnCaptorResourceProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The partial fixed name of the gemeral Lambda function created from the serverless application." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 578 }, "name": "partialLambdaName", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "the name of the corresponding IAM role." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 574 }, "name": "roleName", "type": { "primitive": "string" } } ], "symbolId": "src/cdk-comprehend-s3olap:LambdaArnCaptorResourceProps" }, "cdk-comprehend-s3olap.RedactionLambda": { "assembly": "cdk-comprehend-s3olap", "base": "constructs.Construct", "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.RedactionLambda", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 252 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "cdk-comprehend-s3olap.RedactionLambdaProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 241 }, "name": "RedactionLambda", "properties": [ { "docs": { "custom": { "attribute": "true" }, "stability": "stable", "summary": "The name of the underlying resoure in the serverless application." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 247 }, "name": "stackName", "type": { "primitive": "string" } } ], "symbolId": "src/comprehend-lambdas:RedactionLambda" }, "cdk-comprehend-s3olap.RedactionLambdaProps": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.RedactionLambdaProps", "kind": "interface", "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 136 }, "name": "RedactionLambdaProps", "properties": [ { "abstract": true, "docs": { "default": "'0.5'", "remarks": "Valid range (0.5 to 1.0).", "stability": "stable", "summary": "The minimum prediction confidence score above which PII classification and detection would be considered as final answer." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 208 }, "name": "confidenceThreshold", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'20'", "remarks": "This controls the number of simultaneous calls that will be made from this Lambda.", "stability": "stable", "summary": "Number of threads to use for calling Comprehend's ContainsPiiEntities API." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 232 }, "name": "containsPiiEntitiesThreadCount", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'en'", "remarks": "This code will be used for interacting with Comprehend.", "stability": "stable", "summary": "Default language of the text to be processed." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 220 }, "name": "defaultLanguageCode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'8'", "remarks": "This controls the number of simultaneous calls that will be made from this Lambda.", "stability": "stable", "summary": "Number of threads to use for calling Comprehend's DetectPiiEntities API." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 226 }, "name": "detectPiiEntitiesThreadCount", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'102400'", "stability": "stable", "summary": "Default maximum document size (in bytes) that this function can process otherwise will throw exception for too large document size." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 202 }, "name": "documentMaxSize", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'50000'", "stability": "stable", "summary": "Maximum document size (in bytes) to be used for making calls to Comprehend's ContainsPiiEntities API." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 166 }, "name": "documentMaxSizeContainsPiiEntities", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'5000'", "stability": "stable", "summary": "Maximum document size (in bytes) to be used for making calls to Comprehend's DetectPiiEntities API." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 172 }, "name": "documentMaxSizeDetectPiiEntities", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'false'", "remarks": "Accessing partial object through http headers such byte-range can corrupt the object and/or affect PII detection accuracy.", "stability": "stable", "summary": "Whether to support partial objects or not." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 160 }, "name": "isPartialObjectSupported", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'INFO'", "stability": "stable", "summary": "Log level for Lambda function logging, e.g., ERROR, INFO, DEBUG, etc." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 148 }, "name": "logLevel", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'*'", "stability": "stable", "summary": "A character that replaces each character in the redacted PII entity." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 184 }, "name": "maskCharacter", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "fefault": "'MASK'" }, "remarks": "Valid values - REPLACE_WITH_PII_ENTITY_TYPE and MASK.", "stability": "stable", "summary": "Specifies whether the PII entity is redacted with the mask character or the entity type." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 190 }, "name": "maskMode", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'200'", "stability": "stable", "summary": "Maximum characters to overlap among segments of a document in case chunking is needed because of maximum document size limit." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 214 }, "name": "maxCharsOverlap", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'ALL'", "remarks": "Refer Comprehend's documentation page for list of supported PII entity types.", "stability": "stable", "summary": "List of comma separated PII entity types to be considered for redaction." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 178 }, "name": "piiEntityTypes", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'true'", "remarks": "See README.md for details on CloudWatch metrics.", "stability": "stable", "summary": "True if publish metrics to Cloudwatch, false otherwise." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 238 }, "name": "publishCloudWatchMetrics", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'1.0.2'", "stability": "stable", "summary": "The version of the serverless application." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 142 }, "name": "semanticVersion", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'20'", "stability": "stable", "summary": "Number of tokens/words to overlap among segments of a document in case chunking is needed because of maximum document size limit." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 196 }, "name": "subsegmentOverlappingTokens", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'FAIL'", "remarks": "Valid values are PASS and FAIL.", "stability": "stable", "summary": "Handling logic for Unsupported files." }, "immutable": true, "locationInModule": { "filename": "src/comprehend-lambdas.ts", "line": 154 }, "name": "unsupportedFileHandling", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/comprehend-lambdas:RedactionLambdaProps" }, "cdk-comprehend-s3olap.S3AccessPointNames": { "assembly": "cdk-comprehend-s3olap", "datatype": true, "docs": { "stability": "stable" }, "fqn": "cdk-comprehend-s3olap.S3AccessPointNames", "kind": "interface", "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 28 }, "name": "S3AccessPointNames", "properties": [ { "abstract": true, "docs": { "default": "'admin-s3-access-point-call-transcripts-known-pii'", "stability": "stable", "summary": "The name of the S3 aceess point for the admin role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 40 }, "name": "admin", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'bill-s3-access-point-call-transcripts-known-pii'", "stability": "stable", "summary": "The name of the S3 aceess point for the billing role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 46 }, "name": "billing", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'cs-s3-access-point-call-transcripts-known-pii'", "stability": "stable", "summary": "The name of the S3 aceess point for the customer support role in the redaction case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 52 }, "name": "customerSupport", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "'accessctl-s3-ap-survey-results-unknown-pii'", "stability": "stable", "summary": "The name of the S3 aceess point for the general role in the access control case." }, "immutable": true, "locationInModule": { "filename": "src/cdk-comprehend-s3olap.ts", "line": 34 }, "name": "general", "type": { "primitive": "string" } } ], "symbolId": "src/cdk-comprehend-s3olap:S3AccessPointNames" } }, "version": "2.0.527", "fingerprint": "Zz9IA/l3Qpy9x9JPD4hIO8vWruHAe1tv7WzCwE/ghhQ=" }