{ "author": { "email": "hello@benlimmer.com", "name": "Ben Limmer", "roles": [ "author" ] }, "dependencies": { "aws-cdk-lib": "^2.73.0", "constructs": "^10.0.5" }, "dependencyClosure": { "@aws-cdk/asset-awscli-v1": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.AwsCliV1", "packageId": "Amazon.CDK.Asset.AwsCliV1" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-awscli-go", "packageName": "awscliv1" }, "java": { "maven": { "artifactId": "cdk-asset-awscli-v1", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.awscli.v1" }, "js": { "npm": "@aws-cdk/asset-awscli-v1" }, "python": { "distName": "aws-cdk.asset-awscli-v1", "module": "aws_cdk.asset_awscli_v1" } } }, "@aws-cdk/asset-kubectl-v20": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.KubectlV20", "packageId": "Amazon.CDK.Asset.KubectlV20" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-kubectl-go", "packageName": "kubectlv20" }, "java": { "maven": { "artifactId": "cdk-asset-kubectl-v20", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.kubectl.v20" }, "js": { "npm": "@aws-cdk/asset-kubectl-v20" }, "python": { "distName": "aws-cdk.asset-kubectl-v20", "module": "aws_cdk.asset_kubectl_v20" } } }, "@aws-cdk/asset-node-proxy-agent-v5": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Asset.NodeProxyAgentV5", "packageId": "Amazon.CDK.Asset.NodeProxyAgentV5" }, "go": { "moduleName": "github.com/cdklabs/awscdk-asset-node-proxy-agent-go", "packageName": "nodeproxyagentv5" }, "java": { "maven": { "artifactId": "cdk-asset-node-proxy-agent-v5", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.v5" }, "js": { "npm": "@aws-cdk/asset-node-proxy-agent-v5" }, "python": { "distName": "aws-cdk.asset-node-proxy-agent-v5", "module": "aws_cdk.asset_node_proxy_agent_v5" } } }, "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_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_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_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_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_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_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_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_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_codedeploy": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeDeploy" }, "java": { "package": "software.amazon.awscdk.services.codedeploy" }, "python": { "module": "aws_cdk.aws_codedeploy" } } }, "aws-cdk-lib.aws_codeguruprofiler": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeGuruProfiler" }, "java": { "package": "software.amazon.awscdk.services.codeguruprofiler" }, "python": { "module": "aws_cdk.aws_codeguruprofiler" } } }, "aws-cdk-lib.aws_codegurureviewer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeGuruReviewer" }, "java": { "package": "software.amazon.awscdk.services.codegurureviewer" }, "python": { "module": "aws_cdk.aws_codegurureviewer" } } }, "aws-cdk-lib.aws_codepipeline": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodePipeline" }, "java": { "package": "software.amazon.awscdk.services.codepipeline" }, "python": { "module": "aws_cdk.aws_codepipeline" } } }, "aws-cdk-lib.aws_codepipeline_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodePipeline.Actions" }, "java": { "package": "software.amazon.awscdk.services.codepipeline.actions" }, "python": { "module": "aws_cdk.aws_codepipeline_actions" } } }, "aws-cdk-lib.aws_codestar": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Codestar" }, "java": { "package": "software.amazon.awscdk.services.codestar" }, "python": { "module": "aws_cdk.aws_codestar" } } }, "aws-cdk-lib.aws_codestarconnections": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeStarConnections" }, "java": { "package": "software.amazon.awscdk.services.codestarconnections" }, "python": { "module": "aws_cdk.aws_codestarconnections" } } }, "aws-cdk-lib.aws_codestarnotifications": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CodeStarNotifications" }, "java": { "package": "software.amazon.awscdk.services.codestarnotifications" }, "python": { "module": "aws_cdk.aws_codestarnotifications" } } }, "aws-cdk-lib.aws_cognito": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Cognito" }, "java": { "package": "software.amazon.awscdk.services.cognito" }, "python": { "module": "aws_cdk.aws_cognito" } } }, "aws-cdk-lib.aws_comprehend": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Comprehend" }, "java": { "package": "software.amazon.awscdk.services.comprehend" }, "python": { "module": "aws_cdk.aws_comprehend" } } }, "aws-cdk-lib.aws_config": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Config" }, "java": { "package": "software.amazon.awscdk.services.config" }, "python": { "module": "aws_cdk.aws_config" } } }, "aws-cdk-lib.aws_connect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Connect" }, "java": { "package": "software.amazon.awscdk.services.connect" }, "python": { "module": "aws_cdk.aws_connect" } } }, "aws-cdk-lib.aws_connectcampaigns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ConnectCampaigns" }, "java": { "package": "software.amazon.awscdk.services.connectcampaigns" }, "python": { "module": "aws_cdk.aws_connectcampaigns" } } }, "aws-cdk-lib.aws_controltower": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ControlTower" }, "java": { "package": "software.amazon.awscdk.services.controltower" }, "python": { "module": "aws_cdk.aws_controltower" } } }, "aws-cdk-lib.aws_cur": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CUR" }, "java": { "package": "software.amazon.awscdk.services.cur" }, "python": { "module": "aws_cdk.aws_cur" } } }, "aws-cdk-lib.aws_customerprofiles": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.CustomerProfiles" }, "java": { "package": "software.amazon.awscdk.services.customerprofiles" }, "python": { "module": "aws_cdk.aws_customerprofiles" } } }, "aws-cdk-lib.aws_databrew": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataBrew" }, "java": { "package": "software.amazon.awscdk.services.databrew" }, "python": { "module": "aws_cdk.aws_databrew" } } }, "aws-cdk-lib.aws_datapipeline": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataPipeline" }, "java": { "package": "software.amazon.awscdk.services.datapipeline" }, "python": { "module": "aws_cdk.aws_datapipeline" } } }, "aws-cdk-lib.aws_datasync": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DataSync" }, "java": { "package": "software.amazon.awscdk.services.datasync" }, "python": { "module": "aws_cdk.aws_datasync" } } }, "aws-cdk-lib.aws_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_detective": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Detective" }, "java": { "package": "software.amazon.awscdk.services.detective" }, "python": { "module": "aws_cdk.aws_detective" } } }, "aws-cdk-lib.aws_devicefarm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DeviceFarm" }, "java": { "package": "software.amazon.awscdk.services.devicefarm" }, "python": { "module": "aws_cdk.aws_devicefarm" } } }, "aws-cdk-lib.aws_devopsguru": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DevOpsGuru" }, "java": { "package": "software.amazon.awscdk.services.devopsguru" }, "python": { "module": "aws_cdk.aws_devopsguru" } } }, "aws-cdk-lib.aws_directoryservice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DirectoryService" }, "java": { "package": "software.amazon.awscdk.services.directoryservice" }, "python": { "module": "aws_cdk.aws_directoryservice" } } }, "aws-cdk-lib.aws_dlm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DLM" }, "java": { "package": "software.amazon.awscdk.services.dlm" }, "python": { "module": "aws_cdk.aws_dlm" } } }, "aws-cdk-lib.aws_dms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DMS" }, "java": { "package": "software.amazon.awscdk.services.dms" }, "python": { "module": "aws_cdk.aws_dms" } } }, "aws-cdk-lib.aws_docdb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DocDB" }, "java": { "package": "software.amazon.awscdk.services.docdb" }, "python": { "module": "aws_cdk.aws_docdb" } } }, "aws-cdk-lib.aws_docdbelastic": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DocDBElastic" }, "java": { "package": "software.amazon.awscdk.services.docdbelastic" }, "python": { "module": "aws_cdk.aws_docdbelastic" } } }, "aws-cdk-lib.aws_dynamodb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.DynamoDB" }, "java": { "package": "software.amazon.awscdk.services.dynamodb" }, "python": { "module": "aws_cdk.aws_dynamodb" } } }, "aws-cdk-lib.aws_ec2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EC2" }, "java": { "package": "software.amazon.awscdk.services.ec2" }, "python": { "module": "aws_cdk.aws_ec2" } } }, "aws-cdk-lib.aws_ecr": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECR" }, "java": { "package": "software.amazon.awscdk.services.ecr" }, "python": { "module": "aws_cdk.aws_ecr" } } }, "aws-cdk-lib.aws_ecr_assets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Ecr.Assets" }, "java": { "package": "software.amazon.awscdk.services.ecr.assets" }, "python": { "module": "aws_cdk.aws_ecr_assets" } } }, "aws-cdk-lib.aws_ecs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECS" }, "java": { "package": "software.amazon.awscdk.services.ecs" }, "python": { "module": "aws_cdk.aws_ecs" } } }, "aws-cdk-lib.aws_ecs_patterns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ECS.Patterns" }, "java": { "package": "software.amazon.awscdk.services.ecs.patterns" }, "python": { "module": "aws_cdk.aws_ecs_patterns" } } }, "aws-cdk-lib.aws_efs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EFS" }, "java": { "package": "software.amazon.awscdk.services.efs" }, "python": { "module": "aws_cdk.aws_efs" } } }, "aws-cdk-lib.aws_eks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EKS" }, "java": { "package": "software.amazon.awscdk.services.eks" }, "python": { "module": "aws_cdk.aws_eks" } } }, "aws-cdk-lib.aws_elasticache": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElastiCache" }, "java": { "package": "software.amazon.awscdk.services.elasticache" }, "python": { "module": "aws_cdk.aws_elasticache" } } }, "aws-cdk-lib.aws_elasticbeanstalk": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticBeanstalk" }, "java": { "package": "software.amazon.awscdk.services.elasticbeanstalk" }, "python": { "module": "aws_cdk.aws_elasticbeanstalk" } } }, "aws-cdk-lib.aws_elasticloadbalancing": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancing" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancing" }, "python": { "module": "aws_cdk.aws_elasticloadbalancing" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2_actions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Actions" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2.actions" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2_actions" } } }, "aws-cdk-lib.aws_elasticloadbalancingv2_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Targets" }, "java": { "package": "software.amazon.awscdk.services.elasticloadbalancingv2.targets" }, "python": { "module": "aws_cdk.aws_elasticloadbalancingv2_targets" } } }, "aws-cdk-lib.aws_elasticsearch": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Elasticsearch" }, "java": { "package": "software.amazon.awscdk.services.elasticsearch" }, "python": { "module": "aws_cdk.aws_elasticsearch" } } }, "aws-cdk-lib.aws_emr": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMR" }, "java": { "package": "software.amazon.awscdk.services.emr" }, "python": { "module": "aws_cdk.aws_emr" } } }, "aws-cdk-lib.aws_emrcontainers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMRContainers" }, "java": { "package": "software.amazon.awscdk.services.emrcontainers" }, "python": { "module": "aws_cdk.aws_emrcontainers" } } }, "aws-cdk-lib.aws_emrserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EMRServerless" }, "java": { "package": "software.amazon.awscdk.services.emrserverless" }, "python": { "module": "aws_cdk.aws_emrserverless" } } }, "aws-cdk-lib.aws_events": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Events" }, "java": { "package": "software.amazon.awscdk.services.events" }, "python": { "module": "aws_cdk.aws_events" } } }, "aws-cdk-lib.aws_events_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Events.Targets" }, "java": { "package": "software.amazon.awscdk.services.events.targets" }, "python": { "module": "aws_cdk.aws_events_targets" } } }, "aws-cdk-lib.aws_eventschemas": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.EventSchemas" }, "java": { "package": "software.amazon.awscdk.services.eventschemas" }, "python": { "module": "aws_cdk.aws_eventschemas" } } }, "aws-cdk-lib.aws_evidently": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Evidently" }, "java": { "package": "software.amazon.awscdk.services.evidently" }, "python": { "module": "aws_cdk.aws_evidently" } } }, "aws-cdk-lib.aws_finspace": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FinSpace" }, "java": { "package": "software.amazon.awscdk.services.finspace" }, "python": { "module": "aws_cdk.aws_finspace" } } }, "aws-cdk-lib.aws_fis": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FIS" }, "java": { "package": "software.amazon.awscdk.services.fis" }, "python": { "module": "aws_cdk.aws_fis" } } }, "aws-cdk-lib.aws_fms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FMS" }, "java": { "package": "software.amazon.awscdk.services.fms" }, "python": { "module": "aws_cdk.aws_fms" } } }, "aws-cdk-lib.aws_forecast": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Forecast" }, "java": { "package": "software.amazon.awscdk.services.forecast" }, "python": { "module": "aws_cdk.aws_forecast" } } }, "aws-cdk-lib.aws_frauddetector": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FraudDetector" }, "java": { "package": "software.amazon.awscdk.services.frauddetector" }, "python": { "module": "aws_cdk.aws_frauddetector" } } }, "aws-cdk-lib.aws_fsx": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.FSx" }, "java": { "package": "software.amazon.awscdk.services.fsx" }, "python": { "module": "aws_cdk.aws_fsx" } } }, "aws-cdk-lib.aws_gamelift": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GameLift" }, "java": { "package": "software.amazon.awscdk.services.gamelift" }, "python": { "module": "aws_cdk.aws_gamelift" } } }, "aws-cdk-lib.aws_globalaccelerator": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GlobalAccelerator" }, "java": { "package": "software.amazon.awscdk.services.globalaccelerator" }, "python": { "module": "aws_cdk.aws_globalaccelerator" } } }, "aws-cdk-lib.aws_globalaccelerator_endpoints": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GlobalAccelerator.Endpoints" }, "java": { "package": "software.amazon.awscdk.services.globalaccelerator.endpoints" }, "python": { "module": "aws_cdk.aws_globalaccelerator_endpoints" } } }, "aws-cdk-lib.aws_glue": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Glue" }, "java": { "package": "software.amazon.awscdk.services.glue" }, "python": { "module": "aws_cdk.aws_glue" } } }, "aws-cdk-lib.aws_grafana": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Grafana" }, "java": { "package": "software.amazon.awscdk.services.grafana" }, "python": { "module": "aws_cdk.aws_grafana" } } }, "aws-cdk-lib.aws_greengrass": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Greengrass" }, "java": { "package": "software.amazon.awscdk.services.greengrass" }, "python": { "module": "aws_cdk.aws_greengrass" } } }, "aws-cdk-lib.aws_greengrassv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GreengrassV2" }, "java": { "package": "software.amazon.awscdk.services.greengrassv2" }, "python": { "module": "aws_cdk.aws_greengrassv2" } } }, "aws-cdk-lib.aws_groundstation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GroundStation" }, "java": { "package": "software.amazon.awscdk.services.groundstation" }, "python": { "module": "aws_cdk.aws_groundstation" } } }, "aws-cdk-lib.aws_guardduty": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.GuardDuty" }, "java": { "package": "software.amazon.awscdk.services.guardduty" }, "python": { "module": "aws_cdk.aws_guardduty" } } }, "aws-cdk-lib.aws_healthlake": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.HealthLake" }, "java": { "package": "software.amazon.awscdk.services.healthlake" }, "python": { "module": "aws_cdk.aws_healthlake" } } }, "aws-cdk-lib.aws_iam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IAM" }, "java": { "package": "software.amazon.awscdk.services.iam" }, "python": { "module": "aws_cdk.aws_iam" } } }, "aws-cdk-lib.aws_identitystore": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IdentityStore" }, "java": { "package": "software.amazon.awscdk.services.identitystore" }, "python": { "module": "aws_cdk.aws_identitystore" } } }, "aws-cdk-lib.aws_imagebuilder": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ImageBuilder" }, "java": { "package": "software.amazon.awscdk.services.imagebuilder" }, "python": { "module": "aws_cdk.aws_imagebuilder" } } }, "aws-cdk-lib.aws_inspector": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Inspector" }, "java": { "package": "software.amazon.awscdk.services.inspector" }, "python": { "module": "aws_cdk.aws_inspector" } } }, "aws-cdk-lib.aws_inspectorv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.InspectorV2" }, "java": { "package": "software.amazon.awscdk.services.inspectorv2" }, "python": { "module": "aws_cdk.aws_inspectorv2" } } }, "aws-cdk-lib.aws_internetmonitor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.InternetMonitor" }, "java": { "package": "software.amazon.awscdk.services.internetmonitor" }, "python": { "module": "aws_cdk.aws_internetmonitor" } } }, "aws-cdk-lib.aws_iot": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoT" }, "java": { "package": "software.amazon.awscdk.services.iot" }, "python": { "module": "aws_cdk.aws_iot" } } }, "aws-cdk-lib.aws_iot1click": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoT1Click" }, "java": { "package": "software.amazon.awscdk.services.iot1click" }, "python": { "module": "aws_cdk.aws_iot1click" } } }, "aws-cdk-lib.aws_iotanalytics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTAnalytics" }, "java": { "package": "software.amazon.awscdk.services.iotanalytics" }, "python": { "module": "aws_cdk.aws_iotanalytics" } } }, "aws-cdk-lib.aws_iotcoredeviceadvisor": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTCoreDeviceAdvisor" }, "java": { "package": "software.amazon.awscdk.services.iotcoredeviceadvisor" }, "python": { "module": "aws_cdk.aws_iotcoredeviceadvisor" } } }, "aws-cdk-lib.aws_iotevents": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTEvents" }, "java": { "package": "software.amazon.awscdk.services.iotevents" }, "python": { "module": "aws_cdk.aws_iotevents" } } }, "aws-cdk-lib.aws_iotfleethub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTFleetHub" }, "java": { "package": "software.amazon.awscdk.services.iotfleethub" }, "python": { "module": "aws_cdk.aws_iotfleethub" } } }, "aws-cdk-lib.aws_iotfleetwise": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTFleetWise" }, "java": { "package": "software.amazon.awscdk.services.iotfleetwise" }, "python": { "module": "aws_cdk.aws_iotfleetwise" } } }, "aws-cdk-lib.aws_iotsitewise": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTSiteWise" }, "java": { "package": "software.amazon.awscdk.services.iotsitewise" }, "python": { "module": "aws_cdk.aws_iotsitewise" } } }, "aws-cdk-lib.aws_iotthingsgraph": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTThingsGraph" }, "java": { "package": "software.amazon.awscdk.services.iotthingsgraph" }, "python": { "module": "aws_cdk.aws_iotthingsgraph" } } }, "aws-cdk-lib.aws_iottwinmaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTTwinMaker" }, "java": { "package": "software.amazon.awscdk.services.iottwinmaker" }, "python": { "module": "aws_cdk.aws_iottwinmaker" } } }, "aws-cdk-lib.aws_iotwireless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IoTWireless" }, "java": { "package": "software.amazon.awscdk.services.iotwireless" }, "python": { "module": "aws_cdk.aws_iotwireless" } } }, "aws-cdk-lib.aws_ivs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Ivs" }, "java": { "package": "software.amazon.awscdk.services.ivs" }, "python": { "module": "aws_cdk.aws_ivs" } } }, "aws-cdk-lib.aws_ivschat": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.IVSChat" }, "java": { "package": "software.amazon.awscdk.services.ivschat" }, "python": { "module": "aws_cdk.aws_ivschat" } } }, "aws-cdk-lib.aws_kafkaconnect": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KafkaConnect" }, "java": { "package": "software.amazon.awscdk.services.kafkaconnect" }, "python": { "module": "aws_cdk.aws_kafkaconnect" } } }, "aws-cdk-lib.aws_kendra": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Kendra" }, "java": { "package": "software.amazon.awscdk.services.kendra" }, "python": { "module": "aws_cdk.aws_kendra" } } }, "aws-cdk-lib.aws_kendraranking": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KendraRanking" }, "java": { "package": "software.amazon.awscdk.services.kendraranking" }, "python": { "module": "aws_cdk.aws_kendraranking" } } }, "aws-cdk-lib.aws_kinesis": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Kinesis" }, "java": { "package": "software.amazon.awscdk.services.kinesis" }, "python": { "module": "aws_cdk.aws_kinesis" } } }, "aws-cdk-lib.aws_kinesisanalytics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisAnalytics" }, "java": { "package": "software.amazon.awscdk.services.kinesisanalytics" }, "python": { "module": "aws_cdk.aws_kinesisanalytics" } } }, "aws-cdk-lib.aws_kinesisanalyticsv2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisAnalyticsV2" }, "java": { "package": "software.amazon.awscdk.services.kinesisanalyticsv2" }, "python": { "module": "aws_cdk.aws_kinesisanalyticsv2" } } }, "aws-cdk-lib.aws_kinesisfirehose": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisFirehose" }, "java": { "package": "software.amazon.awscdk.services.kinesisfirehose" }, "python": { "module": "aws_cdk.aws_kinesisfirehose" } } }, "aws-cdk-lib.aws_kinesisvideo": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KinesisVideo" }, "java": { "package": "software.amazon.awscdk.services.kinesisvideo" }, "python": { "module": "aws_cdk.aws_kinesisvideo" } } }, "aws-cdk-lib.aws_kms": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.KMS" }, "java": { "package": "software.amazon.awscdk.services.kms" }, "python": { "module": "aws_cdk.aws_kms" } } }, "aws-cdk-lib.aws_lakeformation": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.LakeFormation" }, "java": { "package": "software.amazon.awscdk.services.lakeformation" }, "python": { "module": "aws_cdk.aws_lakeformation" } } }, "aws-cdk-lib.aws_lambda": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda" }, "java": { "package": "software.amazon.awscdk.services.lambda" }, "python": { "module": "aws_cdk.aws_lambda" } } }, "aws-cdk-lib.aws_lambda_destinations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.Destinations" }, "java": { "package": "software.amazon.awscdk.services.lambda.destinations" }, "python": { "module": "aws_cdk.aws_lambda_destinations" } } }, "aws-cdk-lib.aws_lambda_event_sources": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.EventSources" }, "java": { "package": "software.amazon.awscdk.services.lambda.eventsources" }, "python": { "module": "aws_cdk.aws_lambda_event_sources" } } }, "aws-cdk-lib.aws_lambda_nodejs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Lambda.Nodejs" }, "java": { "package": "software.amazon.awscdk.services.lambda.nodejs" }, "python": { "module": "aws_cdk.aws_lambda_nodejs" } } }, "aws-cdk-lib.aws_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_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_networkfirewall": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NetworkFirewall" }, "java": { "package": "software.amazon.awscdk.services.networkfirewall" }, "python": { "module": "aws_cdk.aws_networkfirewall" } } }, "aws-cdk-lib.aws_networkmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NetworkManager" }, "java": { "package": "software.amazon.awscdk.services.networkmanager" }, "python": { "module": "aws_cdk.aws_networkmanager" } } }, "aws-cdk-lib.aws_nimblestudio": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.NimbleStudio" }, "java": { "package": "software.amazon.awscdk.services.nimblestudio" }, "python": { "module": "aws_cdk.aws_nimblestudio" } } }, "aws-cdk-lib.aws_oam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Oam" }, "java": { "package": "software.amazon.awscdk.services.oam" }, "python": { "module": "aws_cdk.aws_oam" } } }, "aws-cdk-lib.aws_omics": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Omics" }, "java": { "package": "software.amazon.awscdk.services.omics" }, "python": { "module": "aws_cdk.aws_omics" } } }, "aws-cdk-lib.aws_opensearchserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpenSearchServerless" }, "java": { "package": "software.amazon.awscdk.services.opensearchserverless" }, "python": { "module": "aws_cdk.aws_opensearchserverless" } } }, "aws-cdk-lib.aws_opensearchservice": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpenSearchService" }, "java": { "package": "software.amazon.awscdk.services.opensearchservice" }, "python": { "module": "aws_cdk.aws_opensearchservice" } } }, "aws-cdk-lib.aws_opsworks": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpsWorks" }, "java": { "package": "software.amazon.awscdk.services.opsworks" }, "python": { "module": "aws_cdk.aws_opsworks" } } }, "aws-cdk-lib.aws_opsworkscm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.OpsWorksCM" }, "java": { "package": "software.amazon.awscdk.services.opsworkscm" }, "python": { "module": "aws_cdk.aws_opsworkscm" } } }, "aws-cdk-lib.aws_organizations": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Organizations" }, "java": { "package": "software.amazon.awscdk.services.organizations" }, "python": { "module": "aws_cdk.aws_organizations" } } }, "aws-cdk-lib.aws_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_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_qldb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.QLDB" }, "java": { "package": "software.amazon.awscdk.services.qldb" }, "python": { "module": "aws_cdk.aws_qldb" } } }, "aws-cdk-lib.aws_quicksight": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.QuickSight" }, "java": { "package": "software.amazon.awscdk.services.quicksight" }, "python": { "module": "aws_cdk.aws_quicksight" } } }, "aws-cdk-lib.aws_ram": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RAM" }, "java": { "package": "software.amazon.awscdk.services.ram" }, "python": { "module": "aws_cdk.aws_ram" } } }, "aws-cdk-lib.aws_rds": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RDS" }, "java": { "package": "software.amazon.awscdk.services.rds" }, "python": { "module": "aws_cdk.aws_rds" } } }, "aws-cdk-lib.aws_redshift": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Redshift" }, "java": { "package": "software.amazon.awscdk.services.redshift" }, "python": { "module": "aws_cdk.aws_redshift" } } }, "aws-cdk-lib.aws_redshiftserverless": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RedshiftServerless" }, "java": { "package": "software.amazon.awscdk.services.redshiftserverless" }, "python": { "module": "aws_cdk.aws_redshiftserverless" } } }, "aws-cdk-lib.aws_refactorspaces": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RefactorSpaces" }, "java": { "package": "software.amazon.awscdk.services.refactorspaces" }, "python": { "module": "aws_cdk.aws_refactorspaces" } } }, "aws-cdk-lib.aws_rekognition": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Rekognition" }, "java": { "package": "software.amazon.awscdk.services.rekognition" }, "python": { "module": "aws_cdk.aws_rekognition" } } }, "aws-cdk-lib.aws_resiliencehub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResilienceHub" }, "java": { "package": "software.amazon.awscdk.services.resiliencehub" }, "python": { "module": "aws_cdk.aws_resiliencehub" } } }, "aws-cdk-lib.aws_resourceexplorer2": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResourceExplorer2" }, "java": { "package": "software.amazon.awscdk.services.resourceexplorer2" }, "python": { "module": "aws_cdk.aws_resourceexplorer2" } } }, "aws-cdk-lib.aws_resourcegroups": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.ResourceGroups" }, "java": { "package": "software.amazon.awscdk.services.resourcegroups" }, "python": { "module": "aws_cdk.aws_resourcegroups" } } }, "aws-cdk-lib.aws_robomaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RoboMaker" }, "java": { "package": "software.amazon.awscdk.services.robomaker" }, "python": { "module": "aws_cdk.aws_robomaker" } } }, "aws-cdk-lib.aws_rolesanywhere": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.RolesAnywhere" }, "java": { "package": "software.amazon.awscdk.services.rolesanywhere" }, "python": { "module": "aws_cdk.aws_rolesanywhere" } } }, "aws-cdk-lib.aws_route53": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53" }, "java": { "package": "software.amazon.awscdk.services.route53" }, "python": { "module": "aws_cdk.aws_route53" } } }, "aws-cdk-lib.aws_route53_patterns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53.Patterns" }, "java": { "package": "software.amazon.awscdk.services.route53.patterns" }, "python": { "module": "aws_cdk.aws_route53_patterns" } } }, "aws-cdk-lib.aws_route53_targets": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Route53.Targets" }, "java": { "package": "software.amazon.awscdk.services.route53.targets" }, "python": { "module": "aws_cdk.aws_route53_targets" } } }, "aws-cdk-lib.aws_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_s3objectlambda": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3ObjectLambda" }, "java": { "package": "software.amazon.awscdk.services.s3objectlambda" }, "python": { "module": "aws_cdk.aws_s3objectlambda" } } }, "aws-cdk-lib.aws_s3outposts": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.S3Outposts" }, "java": { "package": "software.amazon.awscdk.services.s3outposts" }, "python": { "module": "aws_cdk.aws_s3outposts" } } }, "aws-cdk-lib.aws_sagemaker": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Sagemaker" }, "java": { "package": "software.amazon.awscdk.services.sagemaker" }, "python": { "module": "aws_cdk.aws_sagemaker" } } }, "aws-cdk-lib.aws_sam": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SAM" }, "java": { "package": "software.amazon.awscdk.services.sam" }, "python": { "module": "aws_cdk.aws_sam" } } }, "aws-cdk-lib.aws_scheduler": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Scheduler" }, "java": { "package": "software.amazon.awscdk.services.scheduler" }, "python": { "module": "aws_cdk.aws_scheduler" } } }, "aws-cdk-lib.aws_sdb": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SDB" }, "java": { "package": "software.amazon.awscdk.services.sdb" }, "python": { "module": "aws_cdk.aws_sdb" } } }, "aws-cdk-lib.aws_secretsmanager": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SecretsManager" }, "java": { "package": "software.amazon.awscdk.services.secretsmanager" }, "python": { "module": "aws_cdk.aws_secretsmanager" } } }, "aws-cdk-lib.aws_securityhub": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SecurityHub" }, "java": { "package": "software.amazon.awscdk.services.securityhub" }, "python": { "module": "aws_cdk.aws_securityhub" } } }, "aws-cdk-lib.aws_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_signer": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.Signer" }, "java": { "package": "software.amazon.awscdk.services.signer" }, "python": { "module": "aws_cdk.aws_signer" } } }, "aws-cdk-lib.aws_simspaceweaver": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SimSpaceWeaver" }, "java": { "package": "software.amazon.awscdk.services.simspaceweaver" }, "python": { "module": "aws_cdk.aws_simspaceweaver" } } }, "aws-cdk-lib.aws_sns": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SNS" }, "java": { "package": "software.amazon.awscdk.services.sns" }, "python": { "module": "aws_cdk.aws_sns" } } }, "aws-cdk-lib.aws_sns_subscriptions": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SNS.Subscriptions" }, "java": { "package": "software.amazon.awscdk.services.sns.subscriptions" }, "python": { "module": "aws_cdk.aws_sns_subscriptions" } } }, "aws-cdk-lib.aws_sqs": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SQS" }, "java": { "package": "software.amazon.awscdk.services.sqs" }, "python": { "module": "aws_cdk.aws_sqs" } } }, "aws-cdk-lib.aws_ssm": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSM" }, "java": { "package": "software.amazon.awscdk.services.ssm" }, "python": { "module": "aws_cdk.aws_ssm" } } }, "aws-cdk-lib.aws_ssmcontacts": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSMContacts" }, "java": { "package": "software.amazon.awscdk.services.ssmcontacts" }, "python": { "module": "aws_cdk.aws_ssmcontacts" } } }, "aws-cdk-lib.aws_ssmincidents": { "targets": { "dotnet": { "namespace": "Amazon.CDK.AWS.SSMIncidents" }, "java": { "package": "software.amazon.awscdk.services.ssmincidents" }, "python": { "module": "aws_cdk.aws_ssmincidents" } } }, "aws-cdk-lib.aws_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_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_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": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CloudAssembly.Schema" }, "java": { "package": "software.amazon.awscdk.cloudassembly.schema" }, "python": { "module": "aws_cdk.cloud_assembly_schema" } } }, "aws-cdk-lib.cloudformation_include": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CloudFormation.Include" }, "java": { "package": "software.amazon.awscdk.cloudformation.include" }, "python": { "module": "aws_cdk.cloudformation_include" } } }, "aws-cdk-lib.custom_resources": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CustomResources" }, "java": { "package": "software.amazon.awscdk.customresources" }, "python": { "module": "aws_cdk.custom_resources" } } }, "aws-cdk-lib.cx_api": { "targets": { "dotnet": { "namespace": "Amazon.CDK.CXAPI" }, "java": { "package": "software.amazon.awscdk.cxapi" }, "python": { "module": "aws_cdk.cx_api" } } }, "aws-cdk-lib.lambda_layer_awscli": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.AwsCli" }, "java": { "package": "software.amazon.awscdk.lambdalayer.awscli" }, "python": { "module": "aws_cdk.lambda_layer_awscli" } } }, "aws-cdk-lib.lambda_layer_kubectl": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.Kubectl" }, "java": { "package": "software.amazon.awscdk.lambdalayer.kubectl" }, "python": { "module": "aws_cdk.lambda_layer_kubectl" } } }, "aws-cdk-lib.lambda_layer_node_proxy_agent": { "targets": { "dotnet": { "namespace": "Amazon.CDK.LambdaLayer.NodeProxyAgent" }, "java": { "package": "software.amazon.awscdk.lambda.layer.node.proxy.agent" }, "python": { "module": "aws_cdk.lambda_layer_node_proxy_agent" } } }, "aws-cdk-lib.pipelines": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Pipelines" }, "java": { "package": "software.amazon.awscdk.pipelines" }, "python": { "module": "aws_cdk.pipelines" } } }, "aws-cdk-lib.region_info": { "targets": { "dotnet": { "namespace": "Amazon.CDK.RegionInfo" }, "java": { "package": "software.amazon.awscdk.regioninfo" }, "python": { "module": "aws_cdk.region_info" } } }, "aws-cdk-lib.triggers": { "targets": { "dotnet": { "namespace": "Amazon.CDK.Triggers" }, "java": { "package": "software.amazon.awscdk.triggers" }, "python": { "module": "aws_cdk.triggers" } } } }, "targets": { "dotnet": { "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png", "namespace": "Amazon.CDK", "packageId": "Amazon.CDK.Lib" }, "go": { "moduleName": "github.com/aws/aws-cdk-go", "packageName": "awscdk" }, "java": { "maven": { "artifactId": "aws-cdk-lib", "groupId": "software.amazon.awscdk" }, "package": "software.amazon.awscdk" }, "js": { "npm": "aws-cdk-lib" }, "python": { "distName": "aws-cdk-lib", "module": "aws_cdk" } } }, "constructs": { "targets": { "dotnet": { "namespace": "Constructs", "packageId": "Constructs" }, "go": { "moduleName": "github.com/aws/constructs-go" }, "java": { "maven": { "artifactId": "constructs", "groupId": "software.constructs" }, "package": "software.constructs" }, "js": { "npm": "constructs" }, "python": { "distName": "constructs", "module": "constructs" } } } }, "description": "AWS CDK construct to create OIDC roles for CircleCI jobs", "docs": { "stability": "stable" }, "homepage": "https://github.com/blimmer/cdk-github-oidc.git", "jsiiVersion": "5.8.18 (build f5c30fc)", "keywords": [ "aws", "aws-cdk", "awscdk", "cdk", "github", "github-actions", "iam", "oidc", "openid-connect" ], "license": "Apache-2.0", "metadata": { "jsii": { "pacmak": { "hasDefaultInterfaces": true } }, "tscRootDir": "src" }, "name": "@blimmer/cdk-github-oidc", "readme": { "markdown": "# `@blimmer/cdk-github-oidc`\n\nA CDK construct library that enables secure authentication between GitHub Actions and AWS using OpenID Connect (OIDC).\nThis eliminates the need for long-lived AWS credentials in your GitHub repositories.\n\n## What is OIDC?\n\nOIDC (OpenID Connect) allows GitHub Actions to authenticate directly with AWS using short-lived tokens instead of\nstoring AWS credentials. The process is described in\n[GitHub's documentation](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect).\n\n## Security Benefits\n\nUsing OIDC for GitHub Actions authentication:\n\n- Eliminates the need to store AWS credentials as GitHub secrets\n- Provides short-lived, automatically rotated credentials\n- Enables fine-grained access control based on repository, branch, environment, or other conditions\n- Follows security best practices for cloud access\n\n## Installation\n\n### Node.js\n\n```shell\nnpm install --save @blimmer/cdk-github-oidc\n```\n\nor\n\n```shell\nyarn add @blimmer/cdk-github-oidc\n```\n\n### Python\n\n```bash\npip install cdk-github-oidc\n```\n\nFor Python, see [below](#python).\n\n### Create or Import a Provider\n\nEach AWS account must be bootstrapped with a single OIDC provider.\n\nTo create it in your stack, use the `GithubActionsIdentityProvider` construct.\n\n```ts\nimport { GithubActionsIdentityProvider } from \"@blimmer/cdk-github-oidc\";\n\nexport class MyStack extends Stack {\n constructor(scope: Construct, id: string, props: StackProps) {\n super(scope, id, props);\n\n const provider = new GithubActionsIdentityProvider(this, \"Provider\");\n }\n}\n```\n\nOr, if another stack created the provider, you can import it using the `GithubActionsIdentityProvider.fromAccount()`\nmethod.\n\n```ts\nimport { GithubActionsIdentityProvider } from \"@blimmer/cdk-github-oidc\";\n\nexport class MyStack extends Stack {\n constructor(scope: Construct, id: string, props: StackProps) {\n super(scope, id, props);\n\n const provider = GithubActionsIdentityProvider.fromAccount(this);\n }\n}\n```\n\n### Create a Role\n\nOnce you have a handle to a provider, you can create a role assumed by GitHub Actions. You grant this role permission to\naccess the resources/APIs you need (more on that [below](#granting-permissions-to-the-role)).\n\n```ts\nimport { GithubActionsRole, GithubActionsIdentityProvider, BranchFilter } from \"@blimmer/cdk-github-oidc\";\n\nexport class MyStack extends Stack {\n constructor(scope: Construct, id: string, props: StackProps) {\n super(scope, id, props);\n\n const provider = new GithubActionsIdentityProvider(this, \"Provider\");\n\n const role = new GithubActionsRole(this, \"Role\", {\n provider,\n roleName: \"my-github-actions-role\",\n description: \"Role assumed by GitHub Actions\",\n subjectFilters: [new BranchFilter({ owner: \"blimmer\", repository: \"cdk-github-oidc\", branch: \"*\" })],\n });\n }\n}\n```\n\n### Subject Filters\n\nYou must pass one or more `SubjectFilter`s to the `GithubActionsRole` construct. These filters are used to determine\nwhich GitHub Actions workflows can assume the role.\n\nThis construct exposes first class support for the following filters:\n\n- [`AllowAllFilter`](/API.md#allowallfilter)\n\n ```ts\n // Allow all branches, tags, environments, pull requests, etc.\n new AllowAllFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n });\n ```\n\n- [`BranchFilter`](/API.md#branchfilter)\n\n ```ts\n // Allow all branches\n new BranchFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n branch: \"*\",\n });\n\n // Specify a branch\n new BranchFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n branch: \"main\",\n });\n\n // Specify a branch pattern\n new BranchFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n branch: \"feature/*\",\n });\n ```\n\n- [`TagFilter`](/API.md#tagfilter)\n\n ```ts\n // Allow all tags\n new TagFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n tag: \"*\",\n });\n\n // Specify a tag\n new TagFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n tag: \"v1.0.0\",\n });\n\n // Specify a tag pattern\n new TagFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n tag: \"v1.*\",\n });\n ```\n\n- [`EnvironmentFilter`](/API.md#environmentfilter)\n\n ```ts\n // Allow all environments\n new EnvironmentFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n environment: \"*\",\n });\n\n // Specify an environment\n new EnvironmentFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n environment: \"staging\",\n });\n ```\n\n- [`PullRequestFilter`](/API.md#pullrequestfilter)\n\n ```ts\n // Allow all pull requests\n new PullRequestFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n });\n ```\n\nIf none of these filters fit your use case, you can implement your own via the\n[`IGithubActionOidcFilter`](/API.md#igithubactionoidcfilter) interface, or use the\n[`CustomFilter`](/API.md#customfilter) construct.\n\nYou can learn more about subject filters in the\n[Github docs](https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-subject-in-your-cloud-provider)\n\n### Granting Permissions to the Role\n\nThe `GithubActionsRole` construct _is a_ `Role` construct, so you can use all of the same properties and methods as you\nwould with a normal\n[CDK IAM `Role` construct](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_iam.Role.html).\n\n```ts\nimport { GithubActionsRole, GithubActionsIdentityProvider, BranchFilter } from \"@blimmer/cdk-github-oidc\";\nimport { Bucket } from \"aws-cdk-lib/aws-s3\";\nimport { PolicyStatement } from \"aws-cdk-lib/aws-iam\";\n\nexport class MyStack extends Stack {\n constructor(scope: Construct, id: string, props: StackProps) {\n super(scope, id, props);\n\n const bucket = new Bucket(this, \"Bucket\");\n\n const provider = new GithubActionsIdentityProvider(this, \"Provider\");\n const role = new GithubActionsRole(this, \"Role\", {\n provider,\n roleName: \"my-github-actions-role\",\n description: \"Role assumed by GitHub Actions\",\n subjectFilters: [\n new BranchFilter({\n owner: \"blimmer\",\n repository: \"cdk-github-oidc\",\n branch: \"*\",\n }),\n ],\n });\n\n // Grant access via CDK `grant*` methods\n // https://docs.aws.amazon.com/cdk/v2/guide/permissions.html#permissions_grants\n role.grantReadWrite(bucket);\n\n // Add a custom policy\n role.addToPolicy(\n new PolicyStatement({\n actions: [\"s3:PutObject\"],\n resources: [\"arn:aws:s3:::my-bucket/*\"],\n }),\n );\n }\n}\n```\n\n### Using a Role in a Workflow\n\nTo use a role in a GitHub Actions workflow, you can use the `aws-actions/configure-aws-credentials` action.\n\n```yaml\njobs:\n deploy:\n runs-on: ubuntu-latest\n permissions:\n contents: read\n id-token: write # Required for OIDC role assumption\n steps:\n - name: Configure AWS Credentials\n uses: aws-actions/configure-aws-credentials@v4\n with:\n role-to-assume: arn:aws:iam::123456789012:role/my-github-actions-role\n region: us-west-2\n```\n\nSee [the `aws-actions/configure-aws-credentials` docs](https://github.com/aws-actions/configure-aws-credentials) for\nmore details.\n\n## Usage\n\nFor detailed API docs, see [API.md](/API.md).\n\n## Troubleshooting\n\n### Common Issues\n\n1. **Role assumption fails**: Ensure your GitHub Action has the required permissions:\n\n```yaml\npermissions:\n id-token: write # Required for OIDC\n contents: read # Required for checking out code\n```\n\n1. **Provider already exists**: Only one OIDC provider can exist per AWS account. Use\n `GithubActionsIdentityProvider.fromAccount()` if one already exists.\n\n1. **Subject filter not matching**: Double check your subject filter configuration matches your GitHub workflow context.\n Use logging to debug the actual subject string being provided.\n\n## Migrating from `aws-cdk-github-oidc`\n\nThis package was inspired by [`aws-cdk-github-oidc`](https://github.com/aripalo/aws-cdk-github-oidc), but that package\nbecame unmaintained.\n\nFor a role that looked like this in `aws-cdk-github-oidc`:\n\n```ts\nimport { GithubActionsIdentityProvider, GithubActionsRole } from \"aws-cdk-github-oidc\";\n\nconst provider = new GithubActionsIdentityProvider(scope, \"GithubProvider\");\nconst deployRole = new GithubActionsRole(scope, \"DeployRole\", {\n provider,\n owner: \"octo-org\",\n repo: \"octo-repo\",\n roleName: \"MyDeployRole\",\n description: \"This role deploys stuff to AWS\",\n maxSessionDuration: cdk.Duration.hours(2),\n});\n```\n\nThe equivalent role in this package looks like this:\n\n```ts\nimport { GithubActionsIdentityProvider, GithubActionsRole, AllowAllFilter } from \"@blimmer/cdk-github-oidc\";\n\nconst provider = new GithubActionsIdentityProvider(scope, \"GithubProvider\");\nconst deployRole = new GithubActionsRole(scope, \"DeployRole\", {\n provider,\n roleName: \"MyDeployRole\",\n description: \"This role deploys stuff to AWS\",\n subjectFilters: [\n // I encourage you to scope this down to a different filter (e.g., BranchFilter, TagFilter, PullRequestFilter, etc.)\n new AllowAllFilter({ owner: \"octo-org\", repository: \"octo-repo\" }),\n ],\n maxSessionDuration: cdk.Duration.hours(2),\n});\n```\n\n### Resource Replacement\n\nBy default, CloudFormation will create resources before destroying the old ones. This is a problem when transitioning\nbetween `aws-cdk-github-oidc` and `@blimmer/cdk-github-oidc` because the `GithubActionsIdentityProvider` is a singleton.\nIt might also affect your roles, if you specified a `roleName`.\n\nTo work around this issue, delete the old provider and role(s) before migrating to use this package. Note that this will\nmake the role unavailable for a few minutes while things are recreated\n\n## Resources\n\n- [Security hardening your deployments](https://docs.github.com/en/actions/deployment/security-hardening-your-deployments)\n on Github Docs.\n- [Assuming a role with `aws-actions/configure-aws-credentials`](https://github.com/aws-actions/configure-aws-credentials#assuming-a-role)\n\n## Contributing\n\nContributions, issues, and feedback are welcome!\n" }, "repository": { "type": "git", "url": "https://github.com/blimmer/cdk-github-oidc.git" }, "schema": "jsii/0.10.0", "targets": { "js": { "npm": "@blimmer/cdk-github-oidc" }, "python": { "distName": "cdk-github-oidc", "module": "cdk_github_oidc" } }, "types": { "@blimmer/cdk-github-oidc.AllowAllFilter": { "assembly": "@blimmer/cdk-github-oidc", "base": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "docs": { "stability": "stable", "summary": "Allow assuming a role for all Github workflows (branches, tags, pull requests, environments, etc.)." }, "fqn": "@blimmer/cdk-github-oidc.AllowAllFilter", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 18 }, "parameters": [ { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/filters/AllowAllFilter.ts", "line": 6 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/AllowAllFilter.ts", "line": 7 }, "name": "toSubject", "overrides": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "returns": { "type": { "primitive": "string" } } } ], "name": "AllowAllFilter", "symbolId": "src/filters/AllowAllFilter:AllowAllFilter" }, "@blimmer/cdk-github-oidc.BranchFilter": { "assembly": "@blimmer/cdk-github-oidc", "base": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "docs": { "remarks": "https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#filtering-for-a-specific-branch", "stability": "stable", "summary": "Allow assuming a role for a specific Github branch." }, "fqn": "@blimmer/cdk-github-oidc.BranchFilter", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/BranchFilter.ts", "line": 20 }, "parameters": [ { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.BranchFilterProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/filters/BranchFilter.ts", "line": 17 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/BranchFilter.ts", "line": 27 }, "name": "toSubject", "overrides": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "returns": { "type": { "primitive": "string" } } } ], "name": "BranchFilter", "symbolId": "src/filters/BranchFilter:BranchFilter" }, "@blimmer/cdk-github-oidc.BranchFilterProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.BranchFilterProps", "interfaces": [ "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps" ], "kind": "interface", "locationInModule": { "filename": "src/filters/BranchFilter.ts", "line": 3 }, "name": "BranchFilterProps", "properties": [ { "abstract": true, "docs": { "remarks": "To allow all branches, pass `*`.", "stability": "stable", "summary": "The name of the branch to filter on. You can also use wildcards." }, "immutable": true, "locationInModule": { "filename": "src/filters/BranchFilter.ts", "line": 9 }, "name": "branch", "type": { "primitive": "string" } } ], "symbolId": "src/filters/BranchFilter:BranchFilterProps" }, "@blimmer/cdk-github-oidc.CustomFilter": { "assembly": "@blimmer/cdk-github-oidc", "base": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "docs": { "remarks": "Use this as an escape hatch if we don't expose a first-class IGithubActionOidcFilter for your use case.", "stability": "stable", "summary": "Allow assuming a role for a specific Github filter." }, "fqn": "@blimmer/cdk-github-oidc.CustomFilter", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/CustomFilter.ts", "line": 20 }, "parameters": [ { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.CustomFilterProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/filters/CustomFilter.ts", "line": 17 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/CustomFilter.ts", "line": 27 }, "name": "toSubject", "overrides": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "returns": { "type": { "primitive": "string" } } } ], "name": "CustomFilter", "symbolId": "src/filters/CustomFilter:CustomFilter" }, "@blimmer/cdk-github-oidc.CustomFilterProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.CustomFilterProps", "interfaces": [ "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps" ], "kind": "interface", "locationInModule": { "filename": "src/filters/CustomFilter.ts", "line": 3 }, "name": "CustomFilterProps", "properties": [ { "abstract": true, "docs": { "remarks": "See https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#configuring-the-subject-in-your-cloud-provider", "stability": "stable", "summary": "The filter to apply. The construct will automatically prefix the filter with `repo:${owner}/${repository}:`." }, "immutable": true, "locationInModule": { "filename": "src/filters/CustomFilter.ts", "line": 9 }, "name": "filter", "type": { "primitive": "string" } } ], "symbolId": "src/filters/CustomFilter:CustomFilterProps" }, "@blimmer/cdk-github-oidc.EnvironmentFilter": { "assembly": "@blimmer/cdk-github-oidc", "base": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "docs": { "remarks": "https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#filtering-for-a-specific-environment", "stability": "stable", "summary": "Allow assuming a role for a specific Github environment." }, "fqn": "@blimmer/cdk-github-oidc.EnvironmentFilter", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/EnvironmentFilter.ts", "line": 16 }, "parameters": [ { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.EnvironmentFilterProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/filters/EnvironmentFilter.ts", "line": 13 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/EnvironmentFilter.ts", "line": 23 }, "name": "toSubject", "overrides": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "returns": { "type": { "primitive": "string" } } } ], "name": "EnvironmentFilter", "symbolId": "src/filters/EnvironmentFilter:EnvironmentFilter" }, "@blimmer/cdk-github-oidc.EnvironmentFilterProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.EnvironmentFilterProps", "interfaces": [ "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps" ], "kind": "interface", "locationInModule": { "filename": "src/filters/EnvironmentFilter.ts", "line": 3 }, "name": "EnvironmentFilterProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The name of the Github environment to allow assuming this role." }, "immutable": true, "locationInModule": { "filename": "src/filters/EnvironmentFilter.ts", "line": 5 }, "name": "environment", "type": { "primitive": "string" } } ], "symbolId": "src/filters/EnvironmentFilter:EnvironmentFilterProps" }, "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps", "kind": "interface", "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 1 }, "name": "GithubActionOidcFilterProps", "properties": [ { "abstract": true, "docs": { "stability": "stable", "summary": "The org or user that owns the repository." }, "immutable": true, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 3 }, "name": "owner", "type": { "primitive": "string" } }, { "abstract": true, "docs": { "stability": "stable", "summary": "The name of the repository." }, "immutable": true, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 6 }, "name": "repository", "type": { "primitive": "string" } } ], "symbolId": "src/filters/IGithubActionOidcFilter:GithubActionOidcFilterProps" }, "@blimmer/cdk-github-oidc.GithubActionsIdentityProvider": { "assembly": "@blimmer/cdk-github-oidc", "base": "aws-cdk-lib.aws_iam.CfnOIDCProvider", "docs": { "remarks": "You'll need to instantiate\nthis construct once per AWS account.\n\nYou can import a existing provider using `GithubActionsIdentityProvider.fromAccount`.\n\nTo create a role that can be assumed by GitHub Actions workflows, use the `GithubActionsRole` construct.", "stability": "stable", "summary": "This construct creates an ODIC provider to allow AWS access from Github Actions workflows." }, "fqn": "@blimmer/cdk-github-oidc.GithubActionsIdentityProvider", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 59 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "optional": true, "type": { "fqn": "@blimmer/cdk-github-oidc.GithubActionsIdentityProviderProps" } } ] }, "interfaces": [ "@blimmer/cdk-github-oidc.IGithubActionsIdentityProvider" ], "kind": "class", "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 39 }, "methods": [ { "docs": { "remarks": "An AWS account can only have single Github OIDC provider configured into it,\nso internally the reference is made by constructing the ARN from AWS\nAccount ID & Github issuer URL.", "stability": "stable", "summary": "Retrieve a reference to existing Github OIDC provider in your AWS account." }, "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 48 }, "name": "fromAccount", "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "props", "optional": true, "type": { "fqn": "@blimmer/cdk-github-oidc.GithubActionsIdentityProviderImportProps" } } ], "returns": { "type": { "fqn": "@blimmer/cdk-github-oidc.IGithubActionsIdentityProvider" } }, "static": true } ], "name": "GithubActionsIdentityProvider", "properties": [ { "const": true, "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 40 }, "name": "issuer", "static": true, "type": { "primitive": "string" } }, { "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 57 }, "name": "arn", "overrides": "@blimmer/cdk-github-oidc.IGithubActionsIdentityProvider", "type": { "primitive": "string" } } ], "symbolId": "src/GithubActionsIdentityProvider:GithubActionsIdentityProvider" }, "@blimmer/cdk-github-oidc.GithubActionsIdentityProviderImportProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.GithubActionsIdentityProviderImportProps", "kind": "interface", "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 15 }, "name": "GithubActionsIdentityProviderImportProps", "properties": [ { "abstract": true, "docs": { "default": "- the current stack's account", "stability": "stable", "summary": "An explicit account ID where the provider is defined." }, "immutable": true, "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 21 }, "name": "account", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "- the current stack's partition", "stability": "stable", "summary": "An explicit partition where the provider is defined." }, "immutable": true, "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 28 }, "name": "partition", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/GithubActionsIdentityProvider:GithubActionsIdentityProviderImportProps" }, "@blimmer/cdk-github-oidc.GithubActionsIdentityProviderProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.GithubActionsIdentityProviderProps", "kind": "interface", "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 6 }, "name": "GithubActionsIdentityProviderProps", "properties": [ { "abstract": true, "docs": { "default": "- [d89e3bd43d5d909b47a18977aa9d5ce36cee184c]", "stability": "stable", "summary": "Pass a list of thumbprints for the GitHub Actions OIDC provider." }, "immutable": true, "locationInModule": { "filename": "src/GithubActionsIdentityProvider.ts", "line": 12 }, "name": "thumbprints", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } } ], "symbolId": "src/GithubActionsIdentityProvider:GithubActionsIdentityProviderProps" }, "@blimmer/cdk-github-oidc.GithubActionsRole": { "assembly": "@blimmer/cdk-github-oidc", "base": "aws-cdk-lib.aws_iam.Role", "docs": { "remarks": "Learn more at https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect", "stability": "stable", "summary": "A role that can be assumed by Github Actions via OIDC." }, "fqn": "@blimmer/cdk-github-oidc.GithubActionsRole", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/GithubActionsRole.ts", "line": 41 }, "parameters": [ { "name": "scope", "type": { "fqn": "constructs.Construct" } }, { "name": "id", "type": { "primitive": "string" } }, { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.GithubActionsRoleProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/GithubActionsRole.ts", "line": 40 }, "name": "GithubActionsRole", "symbolId": "src/GithubActionsRole:GithubActionsRole" }, "@blimmer/cdk-github-oidc.GithubActionsRoleConfiguration": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.GithubActionsRoleConfiguration", "kind": "interface", "locationInModule": { "filename": "src/GithubActionsRole.ts", "line": 8 }, "name": "GithubActionsRoleConfiguration", "properties": [ { "abstract": true, "docs": { "remarks": "Either pass an construct defined by `new GithubActionsOidcProvider`\nor a retrieved reference from `GithubActionsOidcProvider.fromAccount`.\nThere can be only one (per AWS Account).", "stability": "stable", "summary": "Reference to the Github Actions OpenID Connect Provider configured in AWS IAM." }, "immutable": true, "locationInModule": { "filename": "src/GithubActionsRole.ts", "line": 16 }, "name": "provider", "type": { "fqn": "@blimmer/cdk-github-oidc.IGithubActionsIdentityProvider" } }, { "abstract": true, "docs": { "remarks": "This filters restrict which repo/branch/tag/etc. can assume the role. This construct\nexposes many common filters, but you can also pass a custom filter if you need to.\n\nFor a basic starting point, you can allow all branches to access the role via:\n\nconst subjectFilters = [\n new BranchFilter({ owner: \"my-org\", repository: \"my-repo\", branch: \"*\" }),\n]", "stability": "stable", "summary": "Subject filters to apply to the Github Actions OIDC token." }, "immutable": true, "locationInModule": { "filename": "src/GithubActionsRole.ts", "line": 30 }, "name": "subjectFilters", "type": { "collection": { "elementtype": { "fqn": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter" }, "kind": "array" } } } ], "symbolId": "src/GithubActionsRole:GithubActionsRoleConfiguration" }, "@blimmer/cdk-github-oidc.GithubActionsRoleProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.GithubActionsRoleProps", "interfaces": [ "@blimmer/cdk-github-oidc.GithubActionsRoleConfiguration", "@blimmer/cdk-github-oidc.RoleProps" ], "kind": "interface", "locationInModule": { "filename": "src/GithubActionsRole.ts", "line": 33 }, "name": "GithubActionsRoleProps", "symbolId": "src/GithubActionsRole:GithubActionsRoleProps" }, "@blimmer/cdk-github-oidc.IGithubActionOidcFilter": { "abstract": true, "assembly": "@blimmer/cdk-github-oidc", "docs": { "remarks": "You can implement this class to create your own filters.", "stability": "stable", "summary": "An abstract class that represents a filter for a Github Actions OIDC filter." }, "fqn": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 18 }, "parameters": [ { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 14 }, "methods": [ { "abstract": true, "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 23 }, "name": "toSubject", "returns": { "type": { "primitive": "string" } } } ], "name": "IGithubActionOidcFilter", "properties": [ { "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 15 }, "name": "owner", "protected": true, "type": { "primitive": "string" } }, { "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 16 }, "name": "repository", "protected": true, "type": { "primitive": "string" } } ], "symbolId": "src/filters/IGithubActionOidcFilter:IGithubActionOidcFilter" }, "@blimmer/cdk-github-oidc.IGithubActionsIdentityProvider": { "assembly": "@blimmer/cdk-github-oidc", "docs": { "stability": "stable", "summary": "Interface representing a Github Actions OIDC provider." }, "fqn": "@blimmer/cdk-github-oidc.IGithubActionsIdentityProvider", "kind": "interface", "locationInModule": { "filename": "src/IGithubActionsIdentityProvider.ts", "line": 4 }, "name": "IGithubActionsIdentityProvider", "properties": [ { "abstract": true, "docs": { "stability": "stable" }, "immutable": true, "locationInModule": { "filename": "src/IGithubActionsIdentityProvider.ts", "line": 5 }, "name": "arn", "type": { "primitive": "string" } } ], "symbolId": "src/IGithubActionsIdentityProvider:IGithubActionsIdentityProvider" }, "@blimmer/cdk-github-oidc.PullRequestFilter": { "assembly": "@blimmer/cdk-github-oidc", "base": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "docs": { "remarks": "https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#filtering-for-pull_request-events", "stability": "stable", "summary": "Allow assuming a role from (non-environment-specific) pull requests." }, "fqn": "@blimmer/cdk-github-oidc.PullRequestFilter", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/IGithubActionOidcFilter.ts", "line": 18 }, "parameters": [ { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/filters/PullRequestFilter.ts", "line": 8 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/PullRequestFilter.ts", "line": 9 }, "name": "toSubject", "overrides": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "returns": { "type": { "primitive": "string" } } } ], "name": "PullRequestFilter", "symbolId": "src/filters/PullRequestFilter:PullRequestFilter" }, "@blimmer/cdk-github-oidc.RoleProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable", "summary": "RoleProps." }, "fqn": "@blimmer/cdk-github-oidc.RoleProps", "kind": "interface", "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 7 }, "name": "RoleProps", "properties": [ { "abstract": true, "docs": { "default": "- No description.", "remarks": "It can be up to 1000 characters long.", "stability": "stable", "summary": "A description of the role." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 96 }, "name": "description", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "default": "No external ID required", "remarks": "If the configured and provided external IDs do not match, the\nAssumeRole operation will fail.", "stability": "stable", "summary": "List of IDs that the role assumer needs to provide one of when assuming this role." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 89 }, "name": "externalIds", "optional": true, "type": { "collection": { "elementtype": { "primitive": "string" }, "kind": "array" } } }, { "abstract": true, "docs": { "default": "- No policy is inlined in the Role resource.", "remarks": "These policies will be\ncreated with the role, whereas those added by ``addToPolicy`` are added\nusing a separate CloudFormation resource (allowing a way around circular\ndependencies that could otherwise be introduced).", "stability": "stable", "summary": "A list of named policies to inline into this role." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 81 }, "name": "inlinePolicies", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_iam.PolicyDocument" }, "kind": "map" } } }, { "abstract": true, "docs": { "default": "- No managed policies.", "remarks": "You can add managed policies later using\n`addManagedPolicy(ManagedPolicy.fromAwsManagedPolicyName(policyName))`.", "stability": "stable", "summary": "A list of managed policies associated with this role." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 71 }, "name": "managedPolicies", "optional": true, "type": { "collection": { "elementtype": { "fqn": "aws-cdk-lib.aws_iam.IManagedPolicy" }, "kind": "array" } } }, { "abstract": true, "docs": { "custom": { "link": "https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html" }, "default": "Duration.hours(1)", "remarks": "This setting can have a value from 1 hour (3600sec) to 12 (43200sec) hours.\n\nAnyone who assumes the role from the AWS CLI or API can use the\nDurationSeconds API parameter or the duration-seconds CLI parameter to\nrequest a longer session. The MaxSessionDuration setting determines the\nmaximum duration that can be requested using the DurationSeconds\nparameter.\n\nIf users don't specify a value for the DurationSeconds parameter, their\nsecurity credentials are valid for one hour by default. This applies when\nyou use the AssumeRole* API operations or the assume-role* CLI operations\nbut does not apply when you use those operations to create a console URL.", "stability": "stable", "summary": "The maximum session duration that you want to set for the specified role." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 63 }, "name": "maxSessionDuration", "optional": true, "type": { "fqn": "aws-cdk-lib.Duration" } }, { "abstract": true, "docs": { "default": "/", "remarks": "For information about IAM paths, see\nFriendly Names and Paths in IAM User Guide.", "stability": "stable", "summary": "The path associated with this role." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 44 }, "name": "path", "optional": true, "type": { "primitive": "string" } }, { "abstract": true, "docs": { "custom": { "link": "https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html" }, "default": "- No permissions boundary.", "remarks": "A permissions boundary is an advanced feature for using a managed policy\nto set the maximum permissions that an identity-based policy can grant to\nan IAM entity. An entity's permissions boundary allows it to perform only\nthe actions that are allowed by both its identity-based policies and its\npermissions boundaries.", "stability": "stable", "summary": "AWS supports permissions boundaries for IAM entities (users or roles)." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 36 }, "name": "permissionsBoundary", "optional": true, "type": { "fqn": "aws-cdk-lib.aws_iam.IManagedPolicy" } }, { "abstract": true, "docs": { "default": "- AWS CloudFormation generates a unique physical ID and uses that ID\nfor the role name.", "remarks": "For valid values, see the RoleName parameter for\nthe CreateRole action in the IAM API Reference.\n\nIMPORTANT: If you specify a name, you cannot perform updates that require\nreplacement of this resource. You can perform updates that require no or\nsome 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\nacknowledge your template's capabilities. For more information, see\nAcknowledging IAM Resources in AWS CloudFormation Templates.", "stability": "stable", "summary": "A name for the IAM role." }, "immutable": true, "locationInModule": { "filename": "src/generated/IamRoleProps.ts", "line": 24 }, "name": "roleName", "optional": true, "type": { "primitive": "string" } } ], "symbolId": "src/generated/IamRoleProps:RoleProps" }, "@blimmer/cdk-github-oidc.TagFilter": { "assembly": "@blimmer/cdk-github-oidc", "base": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "docs": { "remarks": "https://docs.github.com/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect#filtering-for-a-specific-tag", "stability": "stable", "summary": "Allow assuming a role for a specific Github tag." }, "fqn": "@blimmer/cdk-github-oidc.TagFilter", "initializer": { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/TagFilter.ts", "line": 20 }, "parameters": [ { "name": "props", "type": { "fqn": "@blimmer/cdk-github-oidc.TagFilterProps" } } ] }, "kind": "class", "locationInModule": { "filename": "src/filters/TagFilter.ts", "line": 17 }, "methods": [ { "docs": { "stability": "stable" }, "locationInModule": { "filename": "src/filters/TagFilter.ts", "line": 27 }, "name": "toSubject", "overrides": "@blimmer/cdk-github-oidc.IGithubActionOidcFilter", "returns": { "type": { "primitive": "string" } } } ], "name": "TagFilter", "symbolId": "src/filters/TagFilter:TagFilter" }, "@blimmer/cdk-github-oidc.TagFilterProps": { "assembly": "@blimmer/cdk-github-oidc", "datatype": true, "docs": { "stability": "stable" }, "fqn": "@blimmer/cdk-github-oidc.TagFilterProps", "interfaces": [ "@blimmer/cdk-github-oidc.GithubActionOidcFilterProps" ], "kind": "interface", "locationInModule": { "filename": "src/filters/TagFilter.ts", "line": 3 }, "name": "TagFilterProps", "properties": [ { "abstract": true, "docs": { "remarks": "To allow all tags, pass `*`.", "stability": "stable", "summary": "The name of the tag to filter on. You can also use wildcards." }, "immutable": true, "locationInModule": { "filename": "src/filters/TagFilter.ts", "line": 9 }, "name": "tag", "type": { "primitive": "string" } } ], "symbolId": "src/filters/TagFilter:TagFilterProps" } }, "version": "1.1.0", "fingerprint": "91gcmqZ0ad+MZ/26hHMxwq5I/s2YHqK0nLu7P2dL6y0=" }