{
  "author": {
    "name": "Shu-Jeng Hsieh",
    "roles": [
      "author"
    ],
    "url": "https://fantasticsie.medium.com/"
  },
  "dependencies": {
    "aws-cdk-lib": "^2.27.0",
    "constructs": "^10.1.35"
  },
  "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-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_cognito_identitypool": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Cognito.Identitypool"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cognito.identitypool"
            },
            "python": {
              "module": "aws_cdk.aws_cognito_identitypool"
            }
          }
        },
        "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_connectcampaignsv2": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.ConnectCampaignsV2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.connectcampaignsv2"
            },
            "python": {
              "module": "aws_cdk.aws_connectcampaignsv2"
            }
          }
        },
        "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_dsql": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.DSQL"
            },
            "java": {
              "package": "software.amazon.awscdk.services.dsql"
            },
            "python": {
              "module": "aws_cdk.aws_dsql"
            }
          }
        },
        "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_evs": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.EVS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.evs"
            },
            "python": {
              "module": "aws_cdk.aws_evs"
            }
          }
        },
        "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_gameliftstreams": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.GameLiftStreams"
            },
            "java": {
              "package": "software.amazon.awscdk.services.gameliftstreams"
            },
            "python": {
              "module": "aws_cdk.aws_gameliftstreams"
            }
          }
        },
        "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_invoicing": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.Invoicing"
            },
            "java": {
              "package": "software.amazon.awscdk.services.invoicing"
            },
            "python": {
              "module": "aws_cdk.aws_invoicing"
            }
          }
        },
        "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_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_notifications": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.Notifications"
            },
            "java": {
              "package": "software.amazon.awscdk.services.notifications"
            },
            "python": {
              "module": "aws_cdk.aws_notifications"
            }
          }
        },
        "aws-cdk-lib.aws_notificationscontacts": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.NotificationsContacts"
            },
            "java": {
              "package": "software.amazon.awscdk.services.notificationscontacts"
            },
            "python": {
              "module": "aws_cdk.aws_notificationscontacts"
            }
          }
        },
        "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_pcs": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.PCS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.pcs"
            },
            "python": {
              "module": "aws_cdk.aws_pcs"
            }
          }
        },
        "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_rbin": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.Rbin"
            },
            "java": {
              "package": "software.amazon.awscdk.services.rbin"
            },
            "python": {
              "module": "aws_cdk.aws_rbin"
            }
          }
        },
        "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_s3tables": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.S3Tables"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3tables"
            },
            "python": {
              "module": "aws_cdk.aws_s3tables"
            }
          }
        },
        "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_scheduler_targets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Scheduler.Targets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.scheduler.targets"
            },
            "python": {
              "module": "aws_cdk.aws_scheduler_targets"
            }
          }
        },
        "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_ssmguiconnect": {
          "targets": {
            "dotnet": {
              "package": "Amazon.CDK.AWS.SSMGuiConnect"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ssmguiconnect"
            },
            "python": {
              "module": "aws_cdk.aws_ssmguiconnect"
            }
          }
        },
        "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_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 construct for the quick demo of EMR Serverless.",
  "docs": {
    "stability": "stable"
  },
  "homepage": "https://github.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake.git",
  "jsiiVersion": "5.4.51 (build 3d3c6ce)",
  "keywords": [
    "aws",
    "aws-service-catalog",
    "cdk",
    "delta-lake",
    "emr",
    "emr-notebooks",
    "emr-serverless",
    "emr-studio",
    "scott.hsieh",
    "serverless"
  ],
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true
      }
    },
    "tscRootDir": "src"
  },
  "name": "cdk-emrserverless-with-delta-lake",
  "readme": {
    "markdown": "# cdk-emrserverless-with-delta-lake\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-emrserverless-with-delta-lake/actions/workflows/release.yml/badge.svg)](https://github.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/actions/workflows/release.yml/badge.svg) [![npm downloads](https://img.shields.io/npm/dt/cdk-emrserverless-with-delta-lake?label=npm%20downloads&style=plastic)](https://img.shields.io/npm/dt/cdk-emrserverless-with-delta-lake?label=npm%20downloads&style=plastic) [![pypi downloads](https://img.shields.io/pypi/dw/cdk-emrserverless-with-delta-lake?label=pypi%20downloads&style=plastic)](https://img.shields.io/pypi/dw/cdk-emrserverless-with-delta-lake?label=pypi%20downloads&style=plastic) [![NuGet downlods](https://img.shields.io/nuget/dt/Emrserverless.With.Delta.Lake?label=NuGet%20downloads&style=plastic)](https://img.shields.io/nuget/dt/Emrserverless.With.Delta.Lake?label=NuGet%20downloads&style=plastic) [![repo languages](https://img.shields.io/github/languages/count/HsiehShuJeng/cdk-emrserverless-with-delta-lake?style=plastic)](https://img.shields.io/github/languages/count/HsiehShuJeng/cdk-emrserverless-with-delta-lake?style=plastic)\n\n| npm (JS/TS) | PyPI (Python) | Maven (Java) | Go | NuGet |\n| --- | --- | --- | --- | --- |\n| [Link](https://www.npmjs.com/package/cdk-emrserverless-with-delta-lake) | [Link](https://pypi.org/project/cdk-emrserverless-with-delta-lake/) | [Link](https://search.maven.org/artifact/io.github.hsiehshujeng/cdk-emrserverless-quickdemo-with-delta-lake) | [Link](https://github.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake-go) | [Link](https://www.nuget.org/packages/Emrserverless.With.Delta.Lake/) |\n\n![high level architecture](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/high%20level%20architecture.png)\n\nThis constrcut builds an EMR studio, a cluster template for the EMR Studio, and an EMR Serverless application. 2 S3 buckets will be created, one is for the EMR Studio workspace and the other one is for EMR Serverless applications. Besides, the VPC and the subnets for the EMR Studio will be tagged `{\"Key\": \"for-use-with-amazon-emr-managed-policies\", \"Value\": \"true\"}` via a custom resource. This is necessary for the [service role](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-instructions) of EMR Studio.\nThis construct is for analysts, data engineers, and anyone who wants to know how to process **Delta Lake data** with EMR serverless.\n![cfn designer](https://github.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/blob/main/images/cfn-designer.png?raw=true)\nThey build the construct via [cdkv2](https://docs.aws.amazon.com/cdk/v2/guide/home.html) and build a serverless job within the EMR application generated by the construct via AWS CLI within few minutes. After the EMR serverless job is finished, they can then check the processed result done by the EMR serverless job on an EMR notebook through the cluster template.\n![app history](https://github.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/blob/main/images/spark%20jobs.png?raw=true)\n\n\n# TOC\n* [Requirements](#requirements)\n* [Before deployment](#before-deployment)\n* [Minimal content for deployment](#minimal-content-for-deployment)\n* [After deployment](#after-deployment)\n* [Create an EMR Serverless application](#create-an-emr-serverless-app)\n* [Check the executing job](#check-the-executing-job)\n* [Check results from an EMR notebook via cluster template](#check-results-from-an-emr-notebook-via-cluster-template)\n* [Fun facts](#fun-facts)\n* [Future work](#future-work)\n\n# Requirements\n1. Your current identity has the `AdministratorAccess` power.\n2. [An IAM user](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html) named `Administrator` with the `AdministratorAccess` power.\n    * This is related to the Portfolio of AWS Service Catalog created by the construct, which is required for [EMR cluster tempaltes](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-cluster-templates.html).\n    * You can choose whatsoever identity you wish to associate with the Product in the Porfolio for creating an EMR cluster via cluster tempalte. Check `serviceCatalogProps` in the `EmrServerless` construct for detail, otherwise, the IAM user mentioned above will be chosen to set up with the Product.\n# Before deployment\nYou might want to execute the following command.\n```sh\nPROFILE_NAME=\"scott.hsieh\"\n# If you only have one credentials on your local machine, just ignore `--profile`, buddy.\ncdk bootstrap aws://${AWS_ACCOUNT_ID}/${AWS_REGION} --profile ${PROFILE_NAME}\n```\n# Minimal content for deployment\n```ts\n#!/usr/bin/env node\nimport * as cdk from 'aws-cdk-lib';\nimport { Construct } from 'constructs';\nimport { EmrServerless } from 'cdk-emrserverless-with-delta-lake';\n\nclass TypescriptStack extends cdk.Stack {\n  constructor(scope: Construct, id: string, props?: cdk.StackProps) {\n    super(scope, id, props);\n    new EmrServerless(this, 'EmrServerless');\n  }\n}\n\nconst app = new cdk.App();\nnew TypescriptStack(app, 'TypescriptStack', {\n  stackName: 'emr-studio',\n  env: {\n    region: process.env.CDK_DEFAULT_REGION,\n    account: process.env.CDK_DEFAULT_ACCOUNT,\n  },\n});\n```\n# After deployment\nPromise me, darling, make advantage on the CloudFormation outputs.  All you need is **copy-paste**, **copy-paste**, **copy-paste**, life should be always that easy.\n![cfn outputs](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/cfn-outputs.png)\n1. **Define the following environment variables on your current session.**\n    ```\n    export PROFILE_NAME=\"${YOUR_PROFILE_NAME}\"\n    export JOB_ROLE_ARN=\"${copy-paste-thank-you}\"\n    export APPLICATION_ID=\"${copy-paste-thank-you}\"\n    export SERVERLESS_BUCKET_NAME=\"${copy-paste-thank-you}\"\n    export DELTA_LAKE_SCRIPT_NAME=\"delta-lake-demo\"\n    ```\n2. **Copy partial NYC-taxi data into the EMR Serverless bucket.**\n   ```sh\n   aws s3 cp s3://nyc-tlc/trip\\ data/ s3://${SERVERLESS_BUCKET_NAME}/nyc-taxi/ --exclude \"*\" --include \"yellow_tripdata_2021-*.parquet\" --recursive --profile ${PROFILE_NAME}\n   ```\n3. **Create a Python script for processing Delta Lake**\n    ```sh\n    touch ${DELTA_LAKE_SCRIPT_NAME}.py\n    cat << EOF > ${DELTA_LAKE_SCRIPT_NAME}.py\n    from pyspark.sql import SparkSession\n    import uuid\n\n    if __name__ == \"__main__\":\n        \"\"\"\n            Delta Lake with EMR Serverless, take NYC taxi as example.\n        \"\"\"\n        spark = SparkSession \\\\\n            .builder \\\\\n            .config(\"spark.sql.extensions\", \"io.delta.sql.DeltaSparkSessionExtension\") \\\\\n            .config(\"spark.sql.catalog.spark_catalog\", \"org.apache.spark.sql.delta.catalog.DeltaCatalog\") \\\\\n            .enableHiveSupport() \\\\\n            .appName(\"Delta-Lake-OSS\") \\\\\n            .getOrCreate()\n\n        url = \"s3://${SERVERLESS_BUCKET_NAME}/emr-serverless-spark/delta-lake/output/1.2.1/%s/\" % str(\n            uuid.uuid4())\n\n        # creates a Delta table and outputs to target S3 bucket\n        spark.range(5).write.format(\"delta\").save(url)\n\n        # reads a Delta table and outputs to target S3 bucket\n        spark.read.format(\"delta\").load(url).show()\n\n        # The source for the second Delta table.\n        base = spark.read.parquet(\n            \"s3://${SERVERLESS_BUCKET_NAME}/nyc-taxi/*.parquet\")\n\n        # The sceond Delta table, oh ya.\n        base.write.format(\"delta\") \\\\\n            .mode(\"overwrite\") \\\\\n            .save(\"s3://${SERVERLESS_BUCKET_NAME}/emr-serverless-spark/delta-lake/nyx-tlc-2021\")\n        spark.stop()\n    EOF\n    ```\n4. **Upload the script and required jars into the serverless bucket**\n   ```sh\n   # upload script\n   aws s3 cp delta-lake-demo.py s3://${SERVERLESS_BUCKET_NAME}/scripts/${DELTA_LAKE_SCRIPT_NAME}.py --profile ${PROFILE_NAME}\n   # download jars and upload them\n   DELTA_VERSION=\"3.0.0\"\n   DELTA_LAKE_CORE=\"delta-spark_2.13-${DELTA_VERSION}.jar\"\n   DELTA_LAKE_STORAGE=\"delta-storage-${DELTA_VERSION}.jar\"\n   curl https://repo1.maven.org/maven2/io/delta/delta-spark_2.13/${DELTA_VERSION}/${DELTA_LAKE_CORE} --output ${DELTA_LAKE_CORE}\n   curl https://repo1.maven.org/maven2/io/delta/delta-storage/${DELTA_VERSION}/${DELTA_LAKE_STORAGE} --output ${DELTA_LAKE_STORAGE}\n   aws s3 mv ${DELTA_LAKE_CORE} s3://${SERVERLESS_BUCKET_NAME}/jars/${DELTA_LAKE_CORE} --profile ${PROFILE_NAME}\n   aws s3 mv ${DELTA_LAKE_STORAGE} s3://${SERVERLESS_BUCKET_NAME}/jars/${DELTA_LAKE_STORAGE} --profile ${PROFILE_NAME}\n   ```\n# Create an EMR Serverless app\nRememeber, you got so much information to copy and paste from the CloudFormation outputs.\n![cfn outputs](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/cfn-outputs.png)\n```sh\naws emr-serverless start-job-run \\\n  --application-id ${APPLICATION_ID} \\\n  --execution-role-arn ${JOB_ROLE_ARN} \\\n  --name 'shy-shy-first-time' \\\n  --job-driver '{\n        \"sparkSubmit\": {\n            \"entryPoint\": \"s3://'${SERVERLESS_BUCKET_NAME}'/scripts/'${DELTA_LAKE_SCRIPT_NAME}'.py\",\n            \"sparkSubmitParameters\": \"--conf spark.executor.cores=1 --conf spark.executor.memory=4g --conf spark.driver.cores=1 --conf spark.driver.memory=4g --conf spark.executor.instances=1 --conf spark.jars=s3://'${SERVERLESS_BUCKET_NAME}'/jars/'${DELTA_LAKE_CORE}',s3://'${SERVERLESS_BUCKET_NAME}'/jars/'${DELTA_LAKE_STORAGE}'\"\n        }\n    }' \\\n  --configuration-overrides '{\n        \"monitoringConfiguration\": {\n            \"s3MonitoringConfiguration\": {\n                \"logUri\": \"s3://'${SERVERLESS_BUCKET_NAME}'/serverless-log/\"\n\t        }\n\t    }\n\t}' \\\n\t--profile ${PROFILE_NAME}\n```\nIf you execute with success, you should see similar reponse as the following:\n```sh\n{\n    \"applicationId\": \"00f1gvklchoqru25\",\n    \"jobRunId\": \"00f1h0ipd2maem01\",\n    \"arn\": \"arn:aws:emr-serverless:ap-northeast-1:630778274080:/applications/00f1gvklchoqru25/jobruns/00f1h0ipd2maem01\"\n}\n```\nand got a Delta Lake data under `s3://${SERVERLESS_BUCKET_NAME}/emr-serverless-spark/delta-lake/nyx-tlc-2021/`.\n![Delta Lake data](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/delta%20lake%20data.png)\n\n# Check the executing job\nAccess the EMR Studio via the URL from the CloudFormation outputs. It should look very similar to the following url: `https://es-pilibalapilibala.emrstudio-prod.ap-northeast-1.amazonaws.com`, i.e., weird string and region won't be the same as mine.\n1. **Enter into the application**\n   ![enter into the app](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/enter-serverless-app.png)\n2. **Enter into the executing job**\n\n# Check results from an EMR notebook via cluster template\n1. Create a workspace and an EMR cluster via the cluster template on the AWS Console\n   ![create workspace](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/create%20workspace.png)\n2. Check the results delivered by the EMR serverless application via an EMR notebook.\n\n# Fun facts\n1. You can assign multiple jars as a comma-separated list to the `spark.jars` as [the Spark page](https://spark.apache.org/docs/latest/configuration.html#runtime-environment) says for your EMR Serverless job. The UI will complain, you still can start the job. Don't be afraid, just click it like when you were child, facing authority fearlessly.\n![ui bug](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/ui-bug.png)\n2. To fully delet a stack with the construct, you need to make sure there is no more workspace within the EMR Studio. Aside from that, you also need to remove the associated identity from the Service Catalog (this is a necessary resource for the cluster template).\n3. Version inconsistency on Spark history. Possibly it can be ignored yet still made me wonder why the versions are different.\n   ![naughty inconsistency](https://raw.githubusercontent.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake/main/images/Spark%20history.png)\n4. So far, I still haven't figured out how to make the s3a URI work. The s3 URI is fine while the serverless app will complain that it couldn't find proper credentials provider to read the s3a URI.\n\n# Future work\n1. Custom resuorce for EMR Serverless\n2. Make the construct more flexible for users\n3. Compare Databricks Runtime and EMR Serverless.\n"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake.git"
  },
  "schema": "jsii/0.10.0",
  "targets": {
    "dotnet": {
      "namespace": "ScottHsieh.Cdk",
      "packageId": "Emrserverless.With.Delta.Lake"
    },
    "go": {
      "moduleName": "github.com/HsiehShuJeng/cdk-emrserverless-with-delta-lake-go"
    },
    "java": {
      "maven": {
        "artifactId": "cdk-emrserverless-quickdemo-with-delta-lake",
        "groupId": "io.github.hsiehshujeng"
      },
      "package": "io.github.hsiehshujeng.cdk.emrserverless.quickdemo"
    },
    "js": {
      "npm": "cdk-emrserverless-with-delta-lake"
    },
    "python": {
      "distName": "cdk_emrserverless_with_delta_lake",
      "module": "cdk_emrserverless_with_delta_lake"
    }
  },
  "types": {
    "cdk-emrserverless-with-delta-lake.EmrClusterTemplateStack": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "aws-cdk-lib.aws_servicecatalog.ProductStack",
      "docs": {
        "remarks": "This is for creating an EMR cluster via cluster template in the EMR Studio, created by the `EmrServerless` construct, on the AWS Console.\n\nAnd you don't have control via the `EmrServerless` construct by now. The documentation is for you to grasp the architecture of the `EmrServerless` more easily.\n\nFor detail, please refer to [Create AWS CloudFormation templates for Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-cluster-templates.html).\n\n```ts\nconst product = new servicecatalog.CloudFormationProduct(this, 'MyFirstProduct', {\n   productName: 'EMR_6.6.0',\n   owner: 'scott.hsieh',\n   description: 'EMR cluster with 6.6.0 version',\n   productVersions: [\n     {\n       productVersionName: 'v1',\n       validateTemplate: true,\n       cloudFormationTemplate: servicecatalog.CloudFormationTemplate.fromProductStack(new EmrClusterTemplateStack(this, 'EmrStudio')),\n     },\n],\n});\n```",
        "stability": "stable",
        "summary": "Creates a CloudFormation template which will be a Product under a Portfolio of AWS Service Catalog."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrClusterTemplateStack",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emr-studio-cluster-templates.ts",
          "line": 124
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emr-studio-cluster-templates.ts",
        "line": 123
      },
      "name": "EmrClusterTemplateStack",
      "symbolId": "src/emr-studio-cluster-templates:EmrClusterTemplateStack"
    },
    "cdk-emrserverless-with-delta-lake.EmrServerless": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "```ts\n// the quickiest deployment\nnew EmrServerless(this, 'EmrServerless');\n\n// custom deployment references\nnew EmrServerless(this, 'EmrServerless', {\n   vpcId: 'vpc-idididid',\n});\n\nnew EmrServerless(this, 'EmrServerless', {\n   vpcId: 'vpc-idididid',\n   subnetIds: ['subnet-eeeee', 'subnet-fffff']\n});\n\nconst myRole = new iam.Role.fromRoleName('MyRole');\nnew EmrServerless(this, 'EmrServerless', {\n   serviceCatalogProps: {\n       role: myRole\n   }\n});\n\nconst myUser = new iam.Role.fromUserName('MyUser');\nnew EmrServerless(this, 'EmrServerless', {\n   vpcId: 'vpc-idididid',\n   subnetIds: ['subnet-eeeee', 'subnet-fffff'],\n   serviceCatalogProps: {\n       user: myUser\n   }\n});\n\nconst myGroup = new iam.Group.fromGroupName('MyGroup');\nnew EmrServerless(this, 'EmrServerless', {\n   serviceCatalogProps: {\n       group: myGroup\n   }\n});\n```",
        "stability": "stable",
        "summary": "Creates an EMR Studio, an EMR cluster template for the studio, and an EMR Serverless application."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrServerless",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emrserverless.ts",
          "line": 73
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.EmrServerlessProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emrserverless.ts",
        "line": 72
      },
      "name": "EmrServerless",
      "symbolId": "src/emrserverless:EmrServerless"
    },
    "cdk-emrserverless-with-delta-lake.EmrServerlessBucket": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "```ts\nconst emrServerlessBucket = new EmrServerlessBucket(this, 'EmrServerless');\n```",
        "stability": "stable",
        "summary": "Creates a bucket for EMR Serverless applications."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrServerlessBucket",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/buckets.ts",
          "line": 63
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.EmrServerlessBucketProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/buckets.ts",
        "line": 61
      },
      "name": "EmrServerlessBucket",
      "properties": [
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/buckets.ts",
            "line": 62
          },
          "name": "bucketEntity",
          "type": {
            "fqn": "aws-cdk-lib.aws_s3.Bucket"
          }
        }
      ],
      "symbolId": "src/buckets:EmrServerlessBucket"
    },
    "cdk-emrserverless-with-delta-lake.EmrServerlessBucketProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Properties for the EMR Serverless bucket."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrServerlessBucketProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/buckets.ts",
        "line": 39
      },
      "name": "EmrServerlessBucketProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- 'emr-serverless-AWS::AccountId'",
            "stability": "stable",
            "summary": "The bucket name for EMR Serverless applications."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/buckets.ts",
            "line": 45
          },
          "name": "bucketName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The bucket will be deleted.",
            "stability": "stable",
            "summary": "Policy to apply when the bucket is removed from this stack."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/buckets.ts",
            "line": 51
          },
          "name": "removalPolicy",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.RemovalPolicy"
          }
        }
      ],
      "symbolId": "src/buckets:EmrServerlessBucketProps"
    },
    "cdk-emrserverless-with-delta-lake.EmrServerlessProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrServerlessProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/emrserverless.ts",
        "line": 11
      },
      "name": "EmrServerlessProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "You can choose either an IAM group, IAM role, or IAM user. If you leave it empty, an IAM user named `Administrator` with the `AdministratorAccess` power needs to be created first.",
            "stability": "stable",
            "summary": "Options for which kind of identity will be associated with the Product of the Porfolio in AWS Service Catalog for EMR cluster templates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emrserverless.ts",
            "line": 28
          },
          "name": "serviceCatalogProps",
          "optional": true,
          "type": {
            "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioDeveloperStackProps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can select the subnets from the default VPC in your AWS account.",
            "stability": "stable",
            "summary": "The subnet IDs for the EMR studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emrserverless.ts",
            "line": 22
          },
          "name": "subnetIds",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 'The default VPC will be used.'",
            "stability": "stable",
            "summary": "Used by the EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emrserverless.ts",
            "line": 17
          },
          "name": "vpcId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/emrserverless:EmrServerlessProps"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudio": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "The Studio is not only for EMR Serverless applications but also for launching an EMR cluster via a cluster template created in this constrcut to check out results transformed by EMR serverless applications.\n\nFor what Studio can do further, please refer to [Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio.html).\n\n```ts\nconst workspaceBucket = new WorkSpaceBucket(this, 'EmrStudio');\nconst emrStudio = new EmrStudio(this, '', {\n   workSpaceBucket: workspaceBucket,\n   subnetIds: ['subnet1', 'subnet2', 'subnet3']\n});\n```",
        "stability": "stable",
        "summary": "Creates an EMR Studio for EMR Serverless applications."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudio",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emr-studio.ts",
          "line": 126
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emr-studio.ts",
        "line": 124
      },
      "name": "EmrStudio",
      "properties": [
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 125
          },
          "name": "entity",
          "type": {
            "fqn": "aws-cdk-lib.aws_emr.CfnStudio"
          }
        }
      ],
      "symbolId": "src/emr-studio:EmrStudio"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioDeveloperStack": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "For detail, please refer to [Create AWS CloudFormation templates for Amazon EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-cluster-templates.html).\n\n```ts\nconst emrClusterTemplatePortfolio = new EmrStudioDeveloperStack(this, 'ClusterTempalte');\n```",
        "stability": "stable",
        "summary": "Creates a Service Catalog for EMR cluster templates."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioDeveloperStack",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emr-studio-cluster-templates.ts",
          "line": 48
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioDeveloperStackProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emr-studio-cluster-templates.ts",
        "line": 39
      },
      "name": "EmrStudioDeveloperStack",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The representative of the service catalog for EMR cluster tempaltes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-cluster-templates.ts",
            "line": 43
          },
          "name": "portfolio",
          "type": {
            "fqn": "aws-cdk-lib.aws_servicecatalog.Portfolio"
          }
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "The representative of the product for demo purpose."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-cluster-templates.ts",
            "line": 47
          },
          "name": "product",
          "type": {
            "fqn": "aws-cdk-lib.aws_servicecatalog.Product"
          }
        }
      ],
      "symbolId": "src/emr-studio-cluster-templates:EmrStudioDeveloperStack"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioDeveloperStackProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Interface for Service Catalog of EMR cluster templates."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioDeveloperStackProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/emr-studio-cluster-templates.ts",
        "line": 9
      },
      "name": "EmrStudioDeveloperStackProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "an IAM group you wish to associate with the Portfolio for EMR cluster template."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-cluster-templates.ts",
            "line": 19
          },
          "name": "group",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 'scott.hsieh'",
            "stability": "stable",
            "summary": "The provider name in a Service Catalog for EMR cluster templates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-cluster-templates.ts",
            "line": 15
          },
          "name": "providerName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "an IAM role you wish to associate with the Portfolio for EMR cluster template."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-cluster-templates.ts",
            "line": 23
          },
          "name": "role",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IRole"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "an IAM user you wish to associate with the Portfolio for EMR cluster template."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-cluster-templates.ts",
            "line": 27
          },
          "name": "user",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IUser"
          }
        }
      ],
      "symbolId": "src/emr-studio-cluster-templates:EmrStudioDeveloperStackProps"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioEngineSecurityGroup": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "For detail, plrease refer to [Engine security group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-security-groups.html#emr-studio-security-group-instructions).\n\n```ts\nconst workSpaceSecurityGroup = new EmrStudioWorkspaceSecurityGroup(this, 'Workspace', { vpc: baseVpc });\nconst engineSecurityGroup = new EmrStudioEngineSecurityGroup(this, 'Engine', { vpc: baseVpc });\nworkSpaceSecurityGroup.entity.connections.allowTo(engineSecurityGroup.entity, ec2.Port.tcp(18888), 'Allow traffic to any resources in the Engine security group for EMR Studio.');\nworkSpaceSecurityGroup.entity.addEgressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(443), 'Allow traffic to the internet to link publicly hosted Git repositories to Workspaces.');\n```",
        "stability": "stable",
        "summary": "Created an engine security group for EMR notebooks."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioEngineSecurityGroup",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emr-studio-sgs.ts",
          "line": 33
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioEngineSecurityGroupProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emr-studio-sgs.ts",
        "line": 28
      },
      "name": "EmrStudioEngineSecurityGroup",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The representative of the security group as the EMR Studio engine security group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-sgs.ts",
            "line": 32
          },
          "name": "entity",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup"
          }
        }
      ],
      "symbolId": "src/emr-studio-sgs:EmrStudioEngineSecurityGroup"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioEngineSecurityGroupProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Interface for engine security group of EMR Studio."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioEngineSecurityGroupProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/emr-studio-sgs.ts",
        "line": 8
      },
      "name": "EmrStudioEngineSecurityGroupProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- default VPC in an AWS account.",
            "stability": "stable",
            "summary": "The VPC in which to create the engine security group for EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-sgs.ts",
            "line": 14
          },
          "name": "vpc",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/emr-studio-sgs:EmrStudioEngineSecurityGroupProps"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Options for the EMR Studio, mainly for EMR Serverless applications."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/emr-studio.ts",
        "line": 30
      },
      "name": "EmrStudioProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "The custom construct as the workspace S3 bucket."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 34
          },
          "name": "workSpaceBucket",
          "type": {
            "fqn": "cdk-emrserverless-with-delta-lake.WorkSpaceBucket"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- StudioAuthMode.AWS_IAM.",
            "stability": "stable",
            "summary": "Specifies whether the Studio authenticates users using AWS SSO or IAM."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 45
          },
          "name": "authMode",
          "optional": true,
          "type": {
            "fqn": "cdk-emrserverless-with-delta-lake.StudioAuthMode"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 'EMR Studio Quick Launch - by scott.hsieh'",
            "stability": "stable",
            "summary": "A detailed description of the Amazon EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 75
          },
          "name": "description",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- a security group created by `EmrStudioEngineSecurityGroup`.",
            "remarks": "The Engine security group allows inbound network traffic from the Workspace security group, and it must be in the same VPC specified by VpcId.",
            "stability": "stable",
            "summary": "The ID of the Amazon EMR Studio Engine security group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 51
          },
          "name": "engineSecurityGroupId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can choose either an IAM group, IAM role, or IAM user. If you leave it empty, an IAM user named `Administrator` with the `AdministratorAccess` power needs to be created first.",
            "stability": "stable",
            "summary": "Options for which kind of identity will be associated with the Product of the Porfolio in AWS Service Catalog for EMR cluster templates."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 106
          },
          "name": "serviceCatalogProps",
          "optional": true,
          "type": {
            "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioDeveloperStackProps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 92
          },
          "name": "serviceRoleArn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 'emr-studio-service-role'",
            "remarks": "For valid values, see the RoleName parameter for the CreateRole action in the IAM API Reference.\n\nIMPORTANT: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\nIf you specify a name, you must specify the CAPABILITY_NAMED_IAM value to acknowledge your template's capabilities. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.",
            "stability": "stable",
            "summary": "A name for the service role of an EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 91
          },
          "name": "serviceRoleName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 'emr-sutdio-quicklaunch'",
            "stability": "stable",
            "summary": "A descriptive name for the Amazon EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 63
          },
          "name": "studioName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "You can select the subnets from the default VPC in your AWS account.",
            "stability": "stable",
            "summary": "The subnet IDs for the EMR studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 39
          },
          "name": "subnetIds",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "custom": {
              "link": "https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-user-permissions.html"
            },
            "remarks": "Currently, if you choose to establish an EMR serverless application where the authentication mechanism used by the EMR Studio is AWS SSO, you need to create a user role by yourself and assign the role arn to this argument if AWS SSO is chosen as authentication for the EMR Studio;",
            "stability": "stable",
            "summary": "The custom user role for the EMR Studio when authentication is AWS SSO."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 100
          },
          "name": "userRoleArn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 'The default VPC will be used.'",
            "stability": "stable",
            "summary": "Used by the EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 69
          },
          "name": "vpcId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- a security group created by `EmrStudioWorkspaceSecurityGroup`.",
            "stability": "stable",
            "summary": "The ID of the security group used by the workspace."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 57
          },
          "name": "workSpaceSecurityGroupId",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/emr-studio:EmrStudioProps"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioServiceRole": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "For detail, please refer to [Create an EMR Studio service role](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html).\n\n```ts\nconst workSpaceBucket = new WorkSpaceBucket(this, 'WorkSpace');\nconst emrStudioServiceRole = new EmrStudioServiceRole(this, 'Service', {\n     workSpaceBucket: workSpaceBucket\n});\n```",
        "stability": "stable",
        "summary": "Creates a default service role for an EMR Studio."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioServiceRole",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emr-studio.ts",
          "line": 256
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioServiceRoleProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emr-studio.ts",
        "line": 251
      },
      "name": "EmrStudioServiceRole",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The representative of the default service role for EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 255
          },
          "name": "roleEntity",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.Role"
          }
        }
      ],
      "symbolId": "src/emr-studio:EmrStudioServiceRole"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioServiceRoleProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Properties for defining the [service role](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html) of an EMR Studio."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioServiceRoleProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/emr-studio.ts",
        "line": 221
      },
      "name": "EmrStudioServiceRoleProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "The custom construct as the workspace S3 bucket."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 225
          },
          "name": "workSpaceBucket",
          "type": {
            "fqn": "cdk-emrserverless-with-delta-lake.WorkSpaceBucket"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 'emr-studio-service-role'",
            "remarks": "For valid values, see the RoleName parameter for the CreateRole action in the IAM API Reference.\n\nIMPORTANT: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.\n\nIf you specify a name, you must specify the CAPABILITY_NAMED_IAM value to acknowledge your template's capabilities. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.",
            "stability": "stable",
            "summary": "A name for the service role of an EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 235
          },
          "name": "roleName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/emr-studio:EmrStudioServiceRoleProps"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioTaggingExpert": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "For detail on the tag, please refer to [How to create a service role for EMR Studio](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-service-role.html#emr-studio-service-role-instructions)",
        "stability": "stable",
        "summary": "Creates a Lambda function for the custom resource which can add necessary tag onto the VPC and subnets for the EMR Studio during deployment."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioTaggingExpert",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emr-studio.ts",
          "line": 510
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emr-studio.ts",
        "line": 505
      },
      "name": "EmrStudioTaggingExpert",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The repesentative of the Lambda function for the custom resource which can add necessary tag onto the VPC and subnets for the EMR Studio during deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio.ts",
            "line": 509
          },
          "name": "functionEntity",
          "type": {
            "fqn": "aws-cdk-lib.aws_lambda.Function"
          }
        }
      ],
      "symbolId": "src/emr-studio:EmrStudioTaggingExpert"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioWorkspaceSecurityGroup": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "For detail, plrease refer to [Workspace security group](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-security-groups.html#emr-studio-security-group-instructions).\n\n```ts\nconst workSpaceSecurityGroup = new EmrStudioWorkspaceSecurityGroup(this, 'Workspace', { vpc: baseVpc });\nconst engineSecurityGroup = new EmrStudioEngineSecurityGroup(this, 'Engine', { vpc: baseVpc });\nworkSpaceSecurityGroup.entity.connections.allowTo(engineSecurityGroup.entity, ec2.Port.tcp(18888), 'Allow traffic to any resources in the Engine security group for EMR Studio.');\nworkSpaceSecurityGroup.entity.addEgressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(443), 'Allow traffic to the internet to link publicly hosted Git repositories to Workspaces.');\n```",
        "stability": "stable",
        "summary": "Created a workspace security group for EMR Studio."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioWorkspaceSecurityGroup",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emr-studio-sgs.ts",
          "line": 76
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioWorkspaceSecurityGroupProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emr-studio-sgs.ts",
        "line": 71
      },
      "name": "EmrStudioWorkspaceSecurityGroup",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The representative of the security group as the EMR Studio workspace security group."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-sgs.ts",
            "line": 75
          },
          "name": "entity",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SecurityGroup"
          }
        }
      ],
      "symbolId": "src/emr-studio-sgs:EmrStudioWorkspaceSecurityGroup"
    },
    "cdk-emrserverless-with-delta-lake.EmrStudioWorkspaceSecurityGroupProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Interface for workspace security group of EMR Studio."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.EmrStudioWorkspaceSecurityGroupProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/emr-studio-sgs.ts",
        "line": 50
      },
      "name": "EmrStudioWorkspaceSecurityGroupProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- default VPC in an AWS account.",
            "stability": "stable",
            "summary": "The VPC in which to create workspace security group for EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emr-studio-sgs.ts",
            "line": 56
          },
          "name": "vpc",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/emr-studio-sgs:EmrStudioWorkspaceSecurityGroupProps"
    },
    "cdk-emrserverless-with-delta-lake.ServerlessJobRole": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "For detail, please refer to [Create a job runtime role](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html#gs-runtime-role).\n\n```ts\nconst emrServerlessBucket = new EmrServerlessBucket(this, 'EmrServerlessStorage');\nconst emrServerlessJobRole = new ServerlessJobRole(this, 'EmrServerlessJob', {emrServerlessBucket: emrServerlessBucket});\n```",
        "stability": "stable",
        "summary": "Creates an execution job role for EMR Serverless."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.ServerlessJobRole",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/emrserverless.ts",
          "line": 153
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.ServerlessJobRoleProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/emrserverless.ts",
        "line": 148
      },
      "name": "ServerlessJobRole",
      "properties": [
        {
          "docs": {
            "stability": "stable",
            "summary": "The representative of the execution role for EMR Serverless."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emrserverless.ts",
            "line": 152
          },
          "name": "entity",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.Role"
          }
        }
      ],
      "symbolId": "src/emrserverless:ServerlessJobRole"
    },
    "cdk-emrserverless-with-delta-lake.ServerlessJobRoleProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable",
        "summary": "Options for the execution job role of EMR Serverless."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.ServerlessJobRoleProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/emrserverless.ts",
        "line": 131
      },
      "name": "ServerlessJobRoleProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "stable",
            "summary": "The EMR Serverless bucket."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/emrserverless.ts",
            "line": 135
          },
          "name": "emrServerlessBucket",
          "type": {
            "fqn": "aws-cdk-lib.aws_s3.Bucket"
          }
        }
      ],
      "symbolId": "src/emrserverless:ServerlessJobRoleProps"
    },
    "cdk-emrserverless-with-delta-lake.StudioAuthMode": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "docs": {
        "stability": "stable",
        "summary": "What kind of authentication the Studio uses."
      },
      "fqn": "cdk-emrserverless-with-delta-lake.StudioAuthMode",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/emr-studio.ts",
        "line": 16
      },
      "members": [
        {
          "docs": {
            "stability": "stable",
            "summary": "the Studio authenticates users using AWS SSO."
          },
          "name": "AWS_SSO"
        },
        {
          "docs": {
            "stability": "stable",
            "summary": "the Studio authenticates users using AWS IAM."
          },
          "name": "AWS_IAM"
        }
      ],
      "name": "StudioAuthMode",
      "symbolId": "src/emr-studio:StudioAuthMode"
    },
    "cdk-emrserverless-with-delta-lake.WorkSpaceBucket": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "base": "constructs.Construct",
      "docs": {
        "stability": "stable"
      },
      "fqn": "cdk-emrserverless-with-delta-lake.WorkSpaceBucket",
      "initializer": {
        "docs": {
          "stability": "stable"
        },
        "locationInModule": {
          "filename": "src/buckets.ts",
          "line": 22
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "name",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "cdk-emrserverless-with-delta-lake.WorkSpaceBucketProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/buckets.ts",
        "line": 20
      },
      "name": "WorkSpaceBucket",
      "properties": [
        {
          "docs": {
            "stability": "stable"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/buckets.ts",
            "line": 21
          },
          "name": "bucketEntity",
          "type": {
            "fqn": "aws-cdk-lib.aws_s3.Bucket"
          }
        }
      ],
      "symbolId": "src/buckets:WorkSpaceBucket"
    },
    "cdk-emrserverless-with-delta-lake.WorkSpaceBucketProps": {
      "assembly": "cdk-emrserverless-with-delta-lake",
      "datatype": true,
      "docs": {
        "stability": "stable"
      },
      "fqn": "cdk-emrserverless-with-delta-lake.WorkSpaceBucketProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/buckets.ts",
        "line": 5
      },
      "name": "WorkSpaceBucketProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- 'emr-studio-workspace-bucket-AWS::AccountId'",
            "stability": "stable",
            "summary": "The bucket name for the workspace of an EMR Studio."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/buckets.ts",
            "line": 11
          },
          "name": "bucketName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- The bucket will be deleted.",
            "stability": "stable",
            "summary": "Policy to apply when the bucket is removed from this stack."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/buckets.ts",
            "line": 17
          },
          "name": "removalPolicy",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.RemovalPolicy"
          }
        }
      ],
      "symbolId": "src/buckets:WorkSpaceBucketProps"
    }
  },
  "version": "2.0.823",
  "fingerprint": "FXUp6frY/CkTxYxn/sRVq8Zqr9sWFklqu1laYY4dbPI="
}