{
  "author": {
    "email": "amir@cloudsnorkel.com",
    "name": "Amir Szekely",
    "roles": [
      "author"
    ]
  },
  "bundled": {
    "cron-parser": "^5.5.0"
  },
  "dependencies": {
    "aws-cdk-lib": "^2.239.0",
    "constructs": "^10.5.1"
  },
  "dependencyClosure": {
    "@aws-cdk/asset-awscli-v1": {
      "targets": {
        "dotnet": {
          "namespace": "Amazon.CDK.Asset.AwsCliV1",
          "packageId": "Amazon.CDK.Asset.AwsCliV1"
        },
        "go": {
          "moduleName": "github.com/cdklabs/awscdk-asset-awscli-go",
          "packageName": "awscliv1"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-asset-awscli-v1",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.cdk.asset.awscli.v1"
        },
        "js": {
          "npm": "@aws-cdk/asset-awscli-v1"
        },
        "python": {
          "distName": "aws-cdk.asset-awscli-v1",
          "module": "aws_cdk.asset_awscli_v1"
        }
      }
    },
    "@aws-cdk/asset-node-proxy-agent-v6": {
      "targets": {
        "dotnet": {
          "namespace": "Amazon.CDK.Asset.NodeProxyAgentV6",
          "packageId": "Amazon.CDK.Asset.NodeProxyAgentV6"
        },
        "go": {
          "moduleName": "github.com/cdklabs/awscdk-asset-node-proxy-agent-go",
          "packageName": "nodeproxyagentv6"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-asset-node-proxy-agent-v6",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.cdk.asset.node.proxy.agent.v6"
        },
        "js": {
          "npm": "@aws-cdk/asset-node-proxy-agent-v6"
        },
        "python": {
          "distName": "aws-cdk.asset-node-proxy-agent-v6",
          "module": "aws_cdk.asset_node_proxy_agent_v6"
        }
      }
    },
    "@aws-cdk/cloud-assembly-schema": {
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
          "namespace": "Amazon.CDK.CloudAssembly.Schema",
          "packageId": "Amazon.CDK.CloudAssembly.Schema"
        },
        "go": {
          "moduleName": "github.com/cdklabs/cloud-assembly-schema-go"
        },
        "java": {
          "maven": {
            "artifactId": "cdk-cloud-assembly-schema",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk.cloudassembly.schema"
        },
        "js": {
          "npm": "@aws-cdk/cloud-assembly-schema"
        },
        "python": {
          "classifiers": [
            "Framework :: AWS CDK",
            "Framework :: AWS CDK :: 2"
          ],
          "distName": "aws-cdk.cloud-assembly-schema",
          "module": "aws_cdk.cloud_assembly_schema"
        }
      }
    },
    "aws-cdk-lib": {
      "submodules": {
        "aws-cdk-lib.alexa_ask": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Alexa.Ask"
            },
            "java": {
              "package": "software.amazon.awscdk.alexa.ask"
            },
            "python": {
              "module": "aws_cdk.alexa_ask"
            }
          }
        },
        "aws-cdk-lib.assertions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Assertions"
            },
            "java": {
              "package": "software.amazon.awscdk.assertions"
            },
            "python": {
              "module": "aws_cdk.assertions"
            }
          }
        },
        "aws-cdk-lib.assets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Assets"
            },
            "java": {
              "package": "software.amazon.awscdk.assets"
            },
            "python": {
              "module": "aws_cdk.assets"
            }
          }
        },
        "aws-cdk-lib.aws_accessanalyzer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AccessAnalyzer"
            },
            "java": {
              "package": "software.amazon.awscdk.services.accessanalyzer"
            },
            "python": {
              "module": "aws_cdk.aws_accessanalyzer"
            }
          }
        },
        "aws-cdk-lib.aws_acmpca": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ACMPCA"
            },
            "java": {
              "package": "software.amazon.awscdk.services.acmpca"
            },
            "python": {
              "module": "aws_cdk.aws_acmpca"
            }
          }
        },
        "aws-cdk-lib.aws_aiops": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AIOps"
            },
            "java": {
              "package": "software.amazon.awscdk.services.aiops"
            },
            "python": {
              "module": "aws_cdk.aws_aiops"
            }
          }
        },
        "aws-cdk-lib.aws_amazonmq": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AmazonMQ"
            },
            "java": {
              "package": "software.amazon.awscdk.services.amazonmq"
            },
            "python": {
              "module": "aws_cdk.aws_amazonmq"
            }
          }
        },
        "aws-cdk-lib.aws_amplify": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Amplify"
            },
            "java": {
              "package": "software.amazon.awscdk.services.amplify"
            },
            "python": {
              "module": "aws_cdk.aws_amplify"
            }
          }
        },
        "aws-cdk-lib.aws_amplifyuibuilder": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AmplifyUIBuilder"
            },
            "java": {
              "package": "software.amazon.awscdk.services.amplifyuibuilder"
            },
            "python": {
              "module": "aws_cdk.aws_amplifyuibuilder"
            }
          }
        },
        "aws-cdk-lib.aws_apigateway": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.APIGateway"
            },
            "java": {
              "package": "software.amazon.awscdk.services.apigateway"
            },
            "python": {
              "module": "aws_cdk.aws_apigateway"
            }
          }
        },
        "aws-cdk-lib.aws_apigatewayv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Apigatewayv2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.apigatewayv2"
            },
            "python": {
              "module": "aws_cdk.aws_apigatewayv2"
            }
          }
        },
        "aws-cdk-lib.aws_apigatewayv2_authorizers": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AwsApigatewayv2Authorizers"
            },
            "java": {
              "package": "software.amazon.awscdk.aws_apigatewayv2_authorizers"
            },
            "python": {
              "module": "aws_cdk.aws_apigatewayv2_authorizers"
            }
          }
        },
        "aws-cdk-lib.aws_apigatewayv2_integrations": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AwsApigatewayv2Integrations"
            },
            "java": {
              "package": "software.amazon.awscdk.aws_apigatewayv2_integrations"
            },
            "python": {
              "module": "aws_cdk.aws_apigatewayv2_integrations"
            }
          }
        },
        "aws-cdk-lib.aws_appconfig": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppConfig"
            },
            "java": {
              "package": "software.amazon.awscdk.services.appconfig"
            },
            "python": {
              "module": "aws_cdk.aws_appconfig"
            }
          }
        },
        "aws-cdk-lib.aws_appflow": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppFlow"
            },
            "java": {
              "package": "software.amazon.awscdk.services.appflow"
            },
            "python": {
              "module": "aws_cdk.aws_appflow"
            }
          }
        },
        "aws-cdk-lib.aws_appintegrations": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppIntegrations"
            },
            "java": {
              "package": "software.amazon.awscdk.services.appintegrations"
            },
            "python": {
              "module": "aws_cdk.aws_appintegrations"
            }
          }
        },
        "aws-cdk-lib.aws_applicationautoscaling": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ApplicationAutoScaling"
            },
            "java": {
              "package": "software.amazon.awscdk.services.applicationautoscaling"
            },
            "python": {
              "module": "aws_cdk.aws_applicationautoscaling"
            }
          }
        },
        "aws-cdk-lib.aws_applicationinsights": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ApplicationInsights"
            },
            "java": {
              "package": "software.amazon.awscdk.services.applicationinsights"
            },
            "python": {
              "module": "aws_cdk.aws_applicationinsights"
            }
          }
        },
        "aws-cdk-lib.aws_applicationsignals": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ApplicationSignals"
            },
            "java": {
              "package": "software.amazon.awscdk.services.applicationsignals"
            },
            "python": {
              "module": "aws_cdk.aws_applicationsignals"
            }
          }
        },
        "aws-cdk-lib.aws_appmesh": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppMesh"
            },
            "java": {
              "package": "software.amazon.awscdk.services.appmesh"
            },
            "python": {
              "module": "aws_cdk.aws_appmesh"
            }
          }
        },
        "aws-cdk-lib.aws_apprunner": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppRunner"
            },
            "java": {
              "package": "software.amazon.awscdk.services.apprunner"
            },
            "python": {
              "module": "aws_cdk.aws_apprunner"
            }
          }
        },
        "aws-cdk-lib.aws_appstream": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppStream"
            },
            "java": {
              "package": "software.amazon.awscdk.services.appstream"
            },
            "python": {
              "module": "aws_cdk.aws_appstream"
            }
          }
        },
        "aws-cdk-lib.aws_appsync": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppSync"
            },
            "java": {
              "package": "software.amazon.awscdk.services.appsync"
            },
            "python": {
              "module": "aws_cdk.aws_appsync"
            }
          }
        },
        "aws-cdk-lib.aws_apptest": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AppTest"
            },
            "java": {
              "package": "software.amazon.awscdk.services.apptest"
            },
            "python": {
              "module": "aws_cdk.aws_apptest"
            }
          }
        },
        "aws-cdk-lib.aws_aps": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.APS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.aps"
            },
            "python": {
              "module": "aws_cdk.aws_aps"
            }
          }
        },
        "aws-cdk-lib.aws_arcregionswitch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ARCRegionSwitch"
            },
            "java": {
              "package": "software.amazon.awscdk.services.arcregionswitch"
            },
            "python": {
              "module": "aws_cdk.aws_arcregionswitch"
            }
          }
        },
        "aws-cdk-lib.aws_arczonalshift": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ARCZonalShift"
            },
            "java": {
              "package": "software.amazon.awscdk.services.arczonalshift"
            },
            "python": {
              "module": "aws_cdk.aws_arczonalshift"
            }
          }
        },
        "aws-cdk-lib.aws_athena": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Athena"
            },
            "java": {
              "package": "software.amazon.awscdk.services.athena"
            },
            "python": {
              "module": "aws_cdk.aws_athena"
            }
          }
        },
        "aws-cdk-lib.aws_auditmanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AuditManager"
            },
            "java": {
              "package": "software.amazon.awscdk.services.auditmanager"
            },
            "python": {
              "module": "aws_cdk.aws_auditmanager"
            }
          }
        },
        "aws-cdk-lib.aws_autoscaling": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AutoScaling"
            },
            "java": {
              "package": "software.amazon.awscdk.services.autoscaling"
            },
            "python": {
              "module": "aws_cdk.aws_autoscaling"
            }
          }
        },
        "aws-cdk-lib.aws_autoscaling_common": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AutoScaling.Common"
            },
            "java": {
              "package": "software.amazon.awscdk.services.autoscaling.common"
            },
            "python": {
              "module": "aws_cdk.aws_autoscaling_common"
            }
          }
        },
        "aws-cdk-lib.aws_autoscaling_hooktargets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AutoScaling.HookTargets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.autoscaling.hooktargets"
            },
            "python": {
              "module": "aws_cdk.aws_autoscaling_hooktargets"
            }
          }
        },
        "aws-cdk-lib.aws_autoscalingplans": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.AutoScalingPlans"
            },
            "java": {
              "package": "software.amazon.awscdk.services.autoscalingplans"
            },
            "python": {
              "module": "aws_cdk.aws_autoscalingplans"
            }
          }
        },
        "aws-cdk-lib.aws_b2bi": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.B2BI"
            },
            "java": {
              "package": "software.amazon.awscdk.services.b2bi"
            },
            "python": {
              "module": "aws_cdk.aws_b2bi"
            }
          }
        },
        "aws-cdk-lib.aws_backup": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Backup"
            },
            "java": {
              "package": "software.amazon.awscdk.services.backup"
            },
            "python": {
              "module": "aws_cdk.aws_backup"
            }
          }
        },
        "aws-cdk-lib.aws_backupgateway": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.BackupGateway"
            },
            "java": {
              "package": "software.amazon.awscdk.services.backupgateway"
            },
            "python": {
              "module": "aws_cdk.aws_backupgateway"
            }
          }
        },
        "aws-cdk-lib.aws_batch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Batch"
            },
            "java": {
              "package": "software.amazon.awscdk.services.batch"
            },
            "python": {
              "module": "aws_cdk.aws_batch"
            }
          }
        },
        "aws-cdk-lib.aws_bcmdataexports": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.BCMDataExports"
            },
            "java": {
              "package": "software.amazon.awscdk.services.bcmdataexports"
            },
            "python": {
              "module": "aws_cdk.aws_bcmdataexports"
            }
          }
        },
        "aws-cdk-lib.aws_bedrock": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Bedrock"
            },
            "java": {
              "package": "software.amazon.awscdk.services.bedrock"
            },
            "python": {
              "module": "aws_cdk.aws_bedrock"
            }
          }
        },
        "aws-cdk-lib.aws_bedrockagentcore": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.BedrockAgentCore"
            },
            "java": {
              "package": "software.amazon.awscdk.services.bedrockagentcore"
            },
            "python": {
              "module": "aws_cdk.aws_bedrockagentcore"
            }
          }
        },
        "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_cases": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Cases"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cases"
            },
            "python": {
              "module": "aws_cdk.aws_cases"
            }
          }
        },
        "aws-cdk-lib.aws_cassandra": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Cassandra"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cassandra"
            },
            "python": {
              "module": "aws_cdk.aws_cassandra"
            }
          }
        },
        "aws-cdk-lib.aws_ce": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CE"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ce"
            },
            "python": {
              "module": "aws_cdk.aws_ce"
            }
          }
        },
        "aws-cdk-lib.aws_certificatemanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CertificateManager"
            },
            "java": {
              "package": "software.amazon.awscdk.services.certificatemanager"
            },
            "python": {
              "module": "aws_cdk.aws_certificatemanager"
            }
          }
        },
        "aws-cdk-lib.aws_chatbot": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Chatbot"
            },
            "java": {
              "package": "software.amazon.awscdk.services.chatbot"
            },
            "python": {
              "module": "aws_cdk.aws_chatbot"
            }
          }
        },
        "aws-cdk-lib.aws_cleanrooms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CleanRooms"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cleanrooms"
            },
            "python": {
              "module": "aws_cdk.aws_cleanrooms"
            }
          }
        },
        "aws-cdk-lib.aws_cleanroomsml": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CleanRoomsML"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cleanroomsml"
            },
            "python": {
              "module": "aws_cdk.aws_cleanroomsml"
            }
          }
        },
        "aws-cdk-lib.aws_cloud9": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Cloud9"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cloud9"
            },
            "python": {
              "module": "aws_cdk.aws_cloud9"
            }
          }
        },
        "aws-cdk-lib.aws_cloudformation": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CloudFormation"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cloudformation"
            },
            "python": {
              "module": "aws_cdk.aws_cloudformation"
            }
          }
        },
        "aws-cdk-lib.aws_cloudfront": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CloudFront"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cloudfront"
            },
            "python": {
              "module": "aws_cdk.aws_cloudfront"
            }
          }
        },
        "aws-cdk-lib.aws_cloudfront.experimental": {},
        "aws-cdk-lib.aws_cloudfront_origins": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CloudFront.Origins"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cloudfront.origins"
            },
            "python": {
              "module": "aws_cdk.aws_cloudfront_origins"
            }
          }
        },
        "aws-cdk-lib.aws_cloudtrail": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CloudTrail"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cloudtrail"
            },
            "python": {
              "module": "aws_cdk.aws_cloudtrail"
            }
          }
        },
        "aws-cdk-lib.aws_cloudwatch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CloudWatch"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cloudwatch"
            },
            "python": {
              "module": "aws_cdk.aws_cloudwatch"
            }
          }
        },
        "aws-cdk-lib.aws_cloudwatch_actions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CloudWatch.Actions"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cloudwatch.actions"
            },
            "python": {
              "module": "aws_cdk.aws_cloudwatch_actions"
            }
          }
        },
        "aws-cdk-lib.aws_codeartifact": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeArtifact"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codeartifact"
            },
            "python": {
              "module": "aws_cdk.aws_codeartifact"
            }
          }
        },
        "aws-cdk-lib.aws_codebuild": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeBuild"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codebuild"
            },
            "python": {
              "module": "aws_cdk.aws_codebuild"
            }
          }
        },
        "aws-cdk-lib.aws_codecommit": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeCommit"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codecommit"
            },
            "python": {
              "module": "aws_cdk.aws_codecommit"
            }
          }
        },
        "aws-cdk-lib.aws_codeconnections": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeConnections"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codeconnections"
            },
            "python": {
              "module": "aws_cdk.aws_codeconnections"
            }
          }
        },
        "aws-cdk-lib.aws_codedeploy": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeDeploy"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codedeploy"
            },
            "python": {
              "module": "aws_cdk.aws_codedeploy"
            }
          }
        },
        "aws-cdk-lib.aws_codeguruprofiler": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeGuruProfiler"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codeguruprofiler"
            },
            "python": {
              "module": "aws_cdk.aws_codeguruprofiler"
            }
          }
        },
        "aws-cdk-lib.aws_codegurureviewer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeGuruReviewer"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codegurureviewer"
            },
            "python": {
              "module": "aws_cdk.aws_codegurureviewer"
            }
          }
        },
        "aws-cdk-lib.aws_codepipeline": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodePipeline"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codepipeline"
            },
            "python": {
              "module": "aws_cdk.aws_codepipeline"
            }
          }
        },
        "aws-cdk-lib.aws_codepipeline_actions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodePipeline.Actions"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codepipeline.actions"
            },
            "python": {
              "module": "aws_cdk.aws_codepipeline_actions"
            }
          }
        },
        "aws-cdk-lib.aws_codestar": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Codestar"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codestar"
            },
            "python": {
              "module": "aws_cdk.aws_codestar"
            }
          }
        },
        "aws-cdk-lib.aws_codestarconnections": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeStarConnections"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codestarconnections"
            },
            "python": {
              "module": "aws_cdk.aws_codestarconnections"
            }
          }
        },
        "aws-cdk-lib.aws_codestarnotifications": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CodeStarNotifications"
            },
            "java": {
              "package": "software.amazon.awscdk.services.codestarnotifications"
            },
            "python": {
              "module": "aws_cdk.aws_codestarnotifications"
            }
          }
        },
        "aws-cdk-lib.aws_cognito": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Cognito"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cognito"
            },
            "python": {
              "module": "aws_cdk.aws_cognito"
            }
          }
        },
        "aws-cdk-lib.aws_cognito_identitypool": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Cognito.Identitypool"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cognito.identitypool"
            },
            "python": {
              "module": "aws_cdk.aws_cognito_identitypool"
            }
          }
        },
        "aws-cdk-lib.aws_comprehend": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Comprehend"
            },
            "java": {
              "package": "software.amazon.awscdk.services.comprehend"
            },
            "python": {
              "module": "aws_cdk.aws_comprehend"
            }
          }
        },
        "aws-cdk-lib.aws_config": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Config"
            },
            "java": {
              "package": "software.amazon.awscdk.services.config"
            },
            "python": {
              "module": "aws_cdk.aws_config"
            }
          }
        },
        "aws-cdk-lib.aws_connect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Connect"
            },
            "java": {
              "package": "software.amazon.awscdk.services.connect"
            },
            "python": {
              "module": "aws_cdk.aws_connect"
            }
          }
        },
        "aws-cdk-lib.aws_connectcampaigns": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ConnectCampaigns"
            },
            "java": {
              "package": "software.amazon.awscdk.services.connectcampaigns"
            },
            "python": {
              "module": "aws_cdk.aws_connectcampaigns"
            }
          }
        },
        "aws-cdk-lib.aws_connectcampaignsv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ConnectCampaignsV2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.connectcampaignsv2"
            },
            "python": {
              "module": "aws_cdk.aws_connectcampaignsv2"
            }
          }
        },
        "aws-cdk-lib.aws_controltower": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ControlTower"
            },
            "java": {
              "package": "software.amazon.awscdk.services.controltower"
            },
            "python": {
              "module": "aws_cdk.aws_controltower"
            }
          }
        },
        "aws-cdk-lib.aws_cur": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CUR"
            },
            "java": {
              "package": "software.amazon.awscdk.services.cur"
            },
            "python": {
              "module": "aws_cdk.aws_cur"
            }
          }
        },
        "aws-cdk-lib.aws_customerprofiles": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.CustomerProfiles"
            },
            "java": {
              "package": "software.amazon.awscdk.services.customerprofiles"
            },
            "python": {
              "module": "aws_cdk.aws_customerprofiles"
            }
          }
        },
        "aws-cdk-lib.aws_databrew": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DataBrew"
            },
            "java": {
              "package": "software.amazon.awscdk.services.databrew"
            },
            "python": {
              "module": "aws_cdk.aws_databrew"
            }
          }
        },
        "aws-cdk-lib.aws_datapipeline": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DataPipeline"
            },
            "java": {
              "package": "software.amazon.awscdk.services.datapipeline"
            },
            "python": {
              "module": "aws_cdk.aws_datapipeline"
            }
          }
        },
        "aws-cdk-lib.aws_datasync": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DataSync"
            },
            "java": {
              "package": "software.amazon.awscdk.services.datasync"
            },
            "python": {
              "module": "aws_cdk.aws_datasync"
            }
          }
        },
        "aws-cdk-lib.aws_datazone": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DataZone"
            },
            "java": {
              "package": "software.amazon.awscdk.services.datazone"
            },
            "python": {
              "module": "aws_cdk.aws_datazone"
            }
          }
        },
        "aws-cdk-lib.aws_dax": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DAX"
            },
            "java": {
              "package": "software.amazon.awscdk.services.dax"
            },
            "python": {
              "module": "aws_cdk.aws_dax"
            }
          }
        },
        "aws-cdk-lib.aws_deadline": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Deadline"
            },
            "java": {
              "package": "software.amazon.awscdk.services.deadline"
            },
            "python": {
              "module": "aws_cdk.aws_deadline"
            }
          }
        },
        "aws-cdk-lib.aws_detective": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Detective"
            },
            "java": {
              "package": "software.amazon.awscdk.services.detective"
            },
            "python": {
              "module": "aws_cdk.aws_detective"
            }
          }
        },
        "aws-cdk-lib.aws_devicefarm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DeviceFarm"
            },
            "java": {
              "package": "software.amazon.awscdk.services.devicefarm"
            },
            "python": {
              "module": "aws_cdk.aws_devicefarm"
            }
          }
        },
        "aws-cdk-lib.aws_devopsagent": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DevOpsAgent"
            },
            "java": {
              "package": "software.amazon.awscdk.services.devopsagent"
            },
            "python": {
              "module": "aws_cdk.aws_devopsagent"
            }
          }
        },
        "aws-cdk-lib.aws_devopsguru": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DevOpsGuru"
            },
            "java": {
              "package": "software.amazon.awscdk.services.devopsguru"
            },
            "python": {
              "module": "aws_cdk.aws_devopsguru"
            }
          }
        },
        "aws-cdk-lib.aws_directoryservice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DirectoryService"
            },
            "java": {
              "package": "software.amazon.awscdk.services.directoryservice"
            },
            "python": {
              "module": "aws_cdk.aws_directoryservice"
            }
          }
        },
        "aws-cdk-lib.aws_dlm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DLM"
            },
            "java": {
              "package": "software.amazon.awscdk.services.dlm"
            },
            "python": {
              "module": "aws_cdk.aws_dlm"
            }
          }
        },
        "aws-cdk-lib.aws_dms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DMS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.dms"
            },
            "python": {
              "module": "aws_cdk.aws_dms"
            }
          }
        },
        "aws-cdk-lib.aws_docdb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DocDB"
            },
            "java": {
              "package": "software.amazon.awscdk.services.docdb"
            },
            "python": {
              "module": "aws_cdk.aws_docdb"
            }
          }
        },
        "aws-cdk-lib.aws_docdbelastic": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DocDBElastic"
            },
            "java": {
              "package": "software.amazon.awscdk.services.docdbelastic"
            },
            "python": {
              "module": "aws_cdk.aws_docdbelastic"
            }
          }
        },
        "aws-cdk-lib.aws_dsql": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DSQL"
            },
            "java": {
              "package": "software.amazon.awscdk.services.dsql"
            },
            "python": {
              "module": "aws_cdk.aws_dsql"
            }
          }
        },
        "aws-cdk-lib.aws_dynamodb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.DynamoDB"
            },
            "java": {
              "package": "software.amazon.awscdk.services.dynamodb"
            },
            "python": {
              "module": "aws_cdk.aws_dynamodb"
            }
          }
        },
        "aws-cdk-lib.aws_ec2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EC2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ec2"
            },
            "python": {
              "module": "aws_cdk.aws_ec2"
            }
          }
        },
        "aws-cdk-lib.aws_ecr": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ECR"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ecr"
            },
            "python": {
              "module": "aws_cdk.aws_ecr"
            }
          }
        },
        "aws-cdk-lib.aws_ecr_assets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Ecr.Assets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ecr.assets"
            },
            "python": {
              "module": "aws_cdk.aws_ecr_assets"
            }
          }
        },
        "aws-cdk-lib.aws_ecs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ECS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ecs"
            },
            "python": {
              "module": "aws_cdk.aws_ecs"
            }
          }
        },
        "aws-cdk-lib.aws_ecs_patterns": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ECS.Patterns"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ecs.patterns"
            },
            "python": {
              "module": "aws_cdk.aws_ecs_patterns"
            }
          }
        },
        "aws-cdk-lib.aws_efs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EFS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.efs"
            },
            "python": {
              "module": "aws_cdk.aws_efs"
            }
          }
        },
        "aws-cdk-lib.aws_eks": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EKS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.eks"
            },
            "python": {
              "module": "aws_cdk.aws_eks"
            }
          }
        },
        "aws-cdk-lib.aws_elasticache": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ElastiCache"
            },
            "java": {
              "package": "software.amazon.awscdk.services.elasticache"
            },
            "python": {
              "module": "aws_cdk.aws_elasticache"
            }
          }
        },
        "aws-cdk-lib.aws_elasticbeanstalk": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ElasticBeanstalk"
            },
            "java": {
              "package": "software.amazon.awscdk.services.elasticbeanstalk"
            },
            "python": {
              "module": "aws_cdk.aws_elasticbeanstalk"
            }
          }
        },
        "aws-cdk-lib.aws_elasticloadbalancing": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ElasticLoadBalancing"
            },
            "java": {
              "package": "software.amazon.awscdk.services.elasticloadbalancing"
            },
            "python": {
              "module": "aws_cdk.aws_elasticloadbalancing"
            }
          }
        },
        "aws-cdk-lib.aws_elasticloadbalancingv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.elasticloadbalancingv2"
            },
            "python": {
              "module": "aws_cdk.aws_elasticloadbalancingv2"
            }
          }
        },
        "aws-cdk-lib.aws_elasticloadbalancingv2_actions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Actions"
            },
            "java": {
              "package": "software.amazon.awscdk.services.elasticloadbalancingv2.actions"
            },
            "python": {
              "module": "aws_cdk.aws_elasticloadbalancingv2_actions"
            }
          }
        },
        "aws-cdk-lib.aws_elasticloadbalancingv2_targets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ElasticLoadBalancingV2.Targets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.elasticloadbalancingv2.targets"
            },
            "python": {
              "module": "aws_cdk.aws_elasticloadbalancingv2_targets"
            }
          }
        },
        "aws-cdk-lib.aws_elasticsearch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Elasticsearch"
            },
            "java": {
              "package": "software.amazon.awscdk.services.elasticsearch"
            },
            "python": {
              "module": "aws_cdk.aws_elasticsearch"
            }
          }
        },
        "aws-cdk-lib.aws_emr": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EMR"
            },
            "java": {
              "package": "software.amazon.awscdk.services.emr"
            },
            "python": {
              "module": "aws_cdk.aws_emr"
            }
          }
        },
        "aws-cdk-lib.aws_emrcontainers": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EMRContainers"
            },
            "java": {
              "package": "software.amazon.awscdk.services.emrcontainers"
            },
            "python": {
              "module": "aws_cdk.aws_emrcontainers"
            }
          }
        },
        "aws-cdk-lib.aws_emrserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EMRServerless"
            },
            "java": {
              "package": "software.amazon.awscdk.services.emrserverless"
            },
            "python": {
              "module": "aws_cdk.aws_emrserverless"
            }
          }
        },
        "aws-cdk-lib.aws_entityresolution": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EntityResolution"
            },
            "java": {
              "package": "software.amazon.awscdk.services.entityresolution"
            },
            "python": {
              "module": "aws_cdk.aws_entityresolution"
            }
          }
        },
        "aws-cdk-lib.aws_events": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Events"
            },
            "java": {
              "package": "software.amazon.awscdk.services.events"
            },
            "python": {
              "module": "aws_cdk.aws_events"
            }
          }
        },
        "aws-cdk-lib.aws_events_targets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Events.Targets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.events.targets"
            },
            "python": {
              "module": "aws_cdk.aws_events_targets"
            }
          }
        },
        "aws-cdk-lib.aws_eventschemas": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EventSchemas"
            },
            "java": {
              "package": "software.amazon.awscdk.services.eventschemas"
            },
            "python": {
              "module": "aws_cdk.aws_eventschemas"
            }
          }
        },
        "aws-cdk-lib.aws_evidently": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Evidently"
            },
            "java": {
              "package": "software.amazon.awscdk.services.evidently"
            },
            "python": {
              "module": "aws_cdk.aws_evidently"
            }
          }
        },
        "aws-cdk-lib.aws_evs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.EVS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.evs"
            },
            "python": {
              "module": "aws_cdk.aws_evs"
            }
          }
        },
        "aws-cdk-lib.aws_finspace": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.FinSpace"
            },
            "java": {
              "package": "software.amazon.awscdk.services.finspace"
            },
            "python": {
              "module": "aws_cdk.aws_finspace"
            }
          }
        },
        "aws-cdk-lib.aws_fis": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.FIS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.fis"
            },
            "python": {
              "module": "aws_cdk.aws_fis"
            }
          }
        },
        "aws-cdk-lib.aws_fms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.FMS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.fms"
            },
            "python": {
              "module": "aws_cdk.aws_fms"
            }
          }
        },
        "aws-cdk-lib.aws_forecast": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Forecast"
            },
            "java": {
              "package": "software.amazon.awscdk.services.forecast"
            },
            "python": {
              "module": "aws_cdk.aws_forecast"
            }
          }
        },
        "aws-cdk-lib.aws_frauddetector": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.FraudDetector"
            },
            "java": {
              "package": "software.amazon.awscdk.services.frauddetector"
            },
            "python": {
              "module": "aws_cdk.aws_frauddetector"
            }
          }
        },
        "aws-cdk-lib.aws_fsx": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.FSx"
            },
            "java": {
              "package": "software.amazon.awscdk.services.fsx"
            },
            "python": {
              "module": "aws_cdk.aws_fsx"
            }
          }
        },
        "aws-cdk-lib.aws_gamelift": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.GameLift"
            },
            "java": {
              "package": "software.amazon.awscdk.services.gamelift"
            },
            "python": {
              "module": "aws_cdk.aws_gamelift"
            }
          }
        },
        "aws-cdk-lib.aws_gameliftstreams": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.GameLiftStreams"
            },
            "java": {
              "package": "software.amazon.awscdk.services.gameliftstreams"
            },
            "python": {
              "module": "aws_cdk.aws_gameliftstreams"
            }
          }
        },
        "aws-cdk-lib.aws_globalaccelerator": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.GlobalAccelerator"
            },
            "java": {
              "package": "software.amazon.awscdk.services.globalaccelerator"
            },
            "python": {
              "module": "aws_cdk.aws_globalaccelerator"
            }
          }
        },
        "aws-cdk-lib.aws_globalaccelerator_endpoints": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.GlobalAccelerator.Endpoints"
            },
            "java": {
              "package": "software.amazon.awscdk.services.globalaccelerator.endpoints"
            },
            "python": {
              "module": "aws_cdk.aws_globalaccelerator_endpoints"
            }
          }
        },
        "aws-cdk-lib.aws_glue": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Glue"
            },
            "java": {
              "package": "software.amazon.awscdk.services.glue"
            },
            "python": {
              "module": "aws_cdk.aws_glue"
            }
          }
        },
        "aws-cdk-lib.aws_grafana": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Grafana"
            },
            "java": {
              "package": "software.amazon.awscdk.services.grafana"
            },
            "python": {
              "module": "aws_cdk.aws_grafana"
            }
          }
        },
        "aws-cdk-lib.aws_greengrass": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Greengrass"
            },
            "java": {
              "package": "software.amazon.awscdk.services.greengrass"
            },
            "python": {
              "module": "aws_cdk.aws_greengrass"
            }
          }
        },
        "aws-cdk-lib.aws_greengrassv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.GreengrassV2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.greengrassv2"
            },
            "python": {
              "module": "aws_cdk.aws_greengrassv2"
            }
          }
        },
        "aws-cdk-lib.aws_groundstation": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.GroundStation"
            },
            "java": {
              "package": "software.amazon.awscdk.services.groundstation"
            },
            "python": {
              "module": "aws_cdk.aws_groundstation"
            }
          }
        },
        "aws-cdk-lib.aws_guardduty": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.GuardDuty"
            },
            "java": {
              "package": "software.amazon.awscdk.services.guardduty"
            },
            "python": {
              "module": "aws_cdk.aws_guardduty"
            }
          }
        },
        "aws-cdk-lib.aws_healthimaging": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.HealthImaging"
            },
            "java": {
              "package": "software.amazon.awscdk.services.healthimaging"
            },
            "python": {
              "module": "aws_cdk.aws_healthimaging"
            }
          }
        },
        "aws-cdk-lib.aws_healthlake": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.HealthLake"
            },
            "java": {
              "package": "software.amazon.awscdk.services.healthlake"
            },
            "python": {
              "module": "aws_cdk.aws_healthlake"
            }
          }
        },
        "aws-cdk-lib.aws_iam": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IAM"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iam"
            },
            "python": {
              "module": "aws_cdk.aws_iam"
            }
          }
        },
        "aws-cdk-lib.aws_identitystore": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IdentityStore"
            },
            "java": {
              "package": "software.amazon.awscdk.services.identitystore"
            },
            "python": {
              "module": "aws_cdk.aws_identitystore"
            }
          }
        },
        "aws-cdk-lib.aws_imagebuilder": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ImageBuilder"
            },
            "java": {
              "package": "software.amazon.awscdk.services.imagebuilder"
            },
            "python": {
              "module": "aws_cdk.aws_imagebuilder"
            }
          }
        },
        "aws-cdk-lib.aws_inspector": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Inspector"
            },
            "java": {
              "package": "software.amazon.awscdk.services.inspector"
            },
            "python": {
              "module": "aws_cdk.aws_inspector"
            }
          }
        },
        "aws-cdk-lib.aws_inspectorv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.InspectorV2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.inspectorv2"
            },
            "python": {
              "module": "aws_cdk.aws_inspectorv2"
            }
          }
        },
        "aws-cdk-lib.aws_internetmonitor": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.InternetMonitor"
            },
            "java": {
              "package": "software.amazon.awscdk.services.internetmonitor"
            },
            "python": {
              "module": "aws_cdk.aws_internetmonitor"
            }
          }
        },
        "aws-cdk-lib.aws_invoicing": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Invoicing"
            },
            "java": {
              "package": "software.amazon.awscdk.services.invoicing"
            },
            "python": {
              "module": "aws_cdk.aws_invoicing"
            }
          }
        },
        "aws-cdk-lib.aws_iot": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoT"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iot"
            },
            "python": {
              "module": "aws_cdk.aws_iot"
            }
          }
        },
        "aws-cdk-lib.aws_iotanalytics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTAnalytics"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotanalytics"
            },
            "python": {
              "module": "aws_cdk.aws_iotanalytics"
            }
          }
        },
        "aws-cdk-lib.aws_iotcoredeviceadvisor": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTCoreDeviceAdvisor"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotcoredeviceadvisor"
            },
            "python": {
              "module": "aws_cdk.aws_iotcoredeviceadvisor"
            }
          }
        },
        "aws-cdk-lib.aws_iotevents": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTEvents"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotevents"
            },
            "python": {
              "module": "aws_cdk.aws_iotevents"
            }
          }
        },
        "aws-cdk-lib.aws_iotfleethub": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTFleetHub"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotfleethub"
            },
            "python": {
              "module": "aws_cdk.aws_iotfleethub"
            }
          }
        },
        "aws-cdk-lib.aws_iotfleetwise": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTFleetWise"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotfleetwise"
            },
            "python": {
              "module": "aws_cdk.aws_iotfleetwise"
            }
          }
        },
        "aws-cdk-lib.aws_iotsitewise": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTSiteWise"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotsitewise"
            },
            "python": {
              "module": "aws_cdk.aws_iotsitewise"
            }
          }
        },
        "aws-cdk-lib.aws_iotthingsgraph": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTThingsGraph"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotthingsgraph"
            },
            "python": {
              "module": "aws_cdk.aws_iotthingsgraph"
            }
          }
        },
        "aws-cdk-lib.aws_iottwinmaker": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTTwinMaker"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iottwinmaker"
            },
            "python": {
              "module": "aws_cdk.aws_iottwinmaker"
            }
          }
        },
        "aws-cdk-lib.aws_iotwireless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IoTWireless"
            },
            "java": {
              "package": "software.amazon.awscdk.services.iotwireless"
            },
            "python": {
              "module": "aws_cdk.aws_iotwireless"
            }
          }
        },
        "aws-cdk-lib.aws_ivs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Ivs"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ivs"
            },
            "python": {
              "module": "aws_cdk.aws_ivs"
            }
          }
        },
        "aws-cdk-lib.aws_ivschat": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.IVSChat"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ivschat"
            },
            "python": {
              "module": "aws_cdk.aws_ivschat"
            }
          }
        },
        "aws-cdk-lib.aws_kafkaconnect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.KafkaConnect"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kafkaconnect"
            },
            "python": {
              "module": "aws_cdk.aws_kafkaconnect"
            }
          }
        },
        "aws-cdk-lib.aws_kendra": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Kendra"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kendra"
            },
            "python": {
              "module": "aws_cdk.aws_kendra"
            }
          }
        },
        "aws-cdk-lib.aws_kendraranking": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.KendraRanking"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kendraranking"
            },
            "python": {
              "module": "aws_cdk.aws_kendraranking"
            }
          }
        },
        "aws-cdk-lib.aws_kinesis": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Kinesis"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kinesis"
            },
            "python": {
              "module": "aws_cdk.aws_kinesis"
            }
          }
        },
        "aws-cdk-lib.aws_kinesisanalytics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.KinesisAnalytics"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kinesisanalytics"
            },
            "python": {
              "module": "aws_cdk.aws_kinesisanalytics"
            }
          }
        },
        "aws-cdk-lib.aws_kinesisanalyticsv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.KinesisAnalyticsV2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kinesisanalyticsv2"
            },
            "python": {
              "module": "aws_cdk.aws_kinesisanalyticsv2"
            }
          }
        },
        "aws-cdk-lib.aws_kinesisfirehose": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.KinesisFirehose"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kinesisfirehose"
            },
            "python": {
              "module": "aws_cdk.aws_kinesisfirehose"
            }
          }
        },
        "aws-cdk-lib.aws_kinesisvideo": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.KinesisVideo"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kinesisvideo"
            },
            "python": {
              "module": "aws_cdk.aws_kinesisvideo"
            }
          }
        },
        "aws-cdk-lib.aws_kms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.KMS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.kms"
            },
            "python": {
              "module": "aws_cdk.aws_kms"
            }
          }
        },
        "aws-cdk-lib.aws_lakeformation": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.LakeFormation"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lakeformation"
            },
            "python": {
              "module": "aws_cdk.aws_lakeformation"
            }
          }
        },
        "aws-cdk-lib.aws_lambda": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Lambda"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lambda"
            },
            "python": {
              "module": "aws_cdk.aws_lambda"
            }
          }
        },
        "aws-cdk-lib.aws_lambda_destinations": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Lambda.Destinations"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lambda.destinations"
            },
            "python": {
              "module": "aws_cdk.aws_lambda_destinations"
            }
          }
        },
        "aws-cdk-lib.aws_lambda_event_sources": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Lambda.EventSources"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lambda.eventsources"
            },
            "python": {
              "module": "aws_cdk.aws_lambda_event_sources"
            }
          }
        },
        "aws-cdk-lib.aws_lambda_nodejs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Lambda.Nodejs"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lambda.nodejs"
            },
            "python": {
              "module": "aws_cdk.aws_lambda_nodejs"
            }
          }
        },
        "aws-cdk-lib.aws_launchwizard": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.LaunchWizard"
            },
            "java": {
              "package": "software.amazon.awscdk.services.launchwizard"
            },
            "python": {
              "module": "aws_cdk.aws_launchwizard"
            }
          }
        },
        "aws-cdk-lib.aws_lex": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Lex"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lex"
            },
            "python": {
              "module": "aws_cdk.aws_lex"
            }
          }
        },
        "aws-cdk-lib.aws_licensemanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.LicenseManager"
            },
            "java": {
              "package": "software.amazon.awscdk.services.licensemanager"
            },
            "python": {
              "module": "aws_cdk.aws_licensemanager"
            }
          }
        },
        "aws-cdk-lib.aws_lightsail": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Lightsail"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lightsail"
            },
            "python": {
              "module": "aws_cdk.aws_lightsail"
            }
          }
        },
        "aws-cdk-lib.aws_location": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Location"
            },
            "java": {
              "package": "software.amazon.awscdk.services.location"
            },
            "python": {
              "module": "aws_cdk.aws_location"
            }
          }
        },
        "aws-cdk-lib.aws_logs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Logs"
            },
            "java": {
              "package": "software.amazon.awscdk.services.logs"
            },
            "python": {
              "module": "aws_cdk.aws_logs"
            }
          }
        },
        "aws-cdk-lib.aws_logs_destinations": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Logs.Destinations"
            },
            "java": {
              "package": "software.amazon.awscdk.services.logs.destinations"
            },
            "python": {
              "module": "aws_cdk.aws_logs_destinations"
            }
          }
        },
        "aws-cdk-lib.aws_lookoutequipment": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.LookoutEquipment"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lookoutequipment"
            },
            "python": {
              "module": "aws_cdk.aws_lookoutequipment"
            }
          }
        },
        "aws-cdk-lib.aws_lookoutmetrics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.LookoutMetrics"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lookoutmetrics"
            },
            "python": {
              "module": "aws_cdk.aws_lookoutmetrics"
            }
          }
        },
        "aws-cdk-lib.aws_lookoutvision": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.LookoutVision"
            },
            "java": {
              "package": "software.amazon.awscdk.services.lookoutvision"
            },
            "python": {
              "module": "aws_cdk.aws_lookoutvision"
            }
          }
        },
        "aws-cdk-lib.aws_m2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.M2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.m2"
            },
            "python": {
              "module": "aws_cdk.aws_m2"
            }
          }
        },
        "aws-cdk-lib.aws_macie": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Macie"
            },
            "java": {
              "package": "software.amazon.awscdk.services.macie"
            },
            "python": {
              "module": "aws_cdk.aws_macie"
            }
          }
        },
        "aws-cdk-lib.aws_managedblockchain": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ManagedBlockchain"
            },
            "java": {
              "package": "software.amazon.awscdk.services.managedblockchain"
            },
            "python": {
              "module": "aws_cdk.aws_managedblockchain"
            }
          }
        },
        "aws-cdk-lib.aws_mediaconnect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MediaConnect"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mediaconnect"
            },
            "python": {
              "module": "aws_cdk.aws_mediaconnect"
            }
          }
        },
        "aws-cdk-lib.aws_mediaconvert": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MediaConvert"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mediaconvert"
            },
            "python": {
              "module": "aws_cdk.aws_mediaconvert"
            }
          }
        },
        "aws-cdk-lib.aws_medialive": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MediaLive"
            },
            "java": {
              "package": "software.amazon.awscdk.services.medialive"
            },
            "python": {
              "module": "aws_cdk.aws_medialive"
            }
          }
        },
        "aws-cdk-lib.aws_mediapackage": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MediaPackage"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mediapackage"
            },
            "python": {
              "module": "aws_cdk.aws_mediapackage"
            }
          }
        },
        "aws-cdk-lib.aws_mediapackagev2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MediaPackageV2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mediapackagev2"
            },
            "python": {
              "module": "aws_cdk.aws_mediapackagev2"
            }
          }
        },
        "aws-cdk-lib.aws_mediastore": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MediaStore"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mediastore"
            },
            "python": {
              "module": "aws_cdk.aws_mediastore"
            }
          }
        },
        "aws-cdk-lib.aws_mediatailor": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MediaTailor"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mediatailor"
            },
            "python": {
              "module": "aws_cdk.aws_mediatailor"
            }
          }
        },
        "aws-cdk-lib.aws_memorydb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MemoryDB"
            },
            "java": {
              "package": "software.amazon.awscdk.services.memorydb"
            },
            "python": {
              "module": "aws_cdk.aws_memorydb"
            }
          }
        },
        "aws-cdk-lib.aws_mpa": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MPA"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mpa"
            },
            "python": {
              "module": "aws_cdk.aws_mpa"
            }
          }
        },
        "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_mwaaserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.MWAAServerless"
            },
            "java": {
              "package": "software.amazon.awscdk.services.mwaaserverless"
            },
            "python": {
              "module": "aws_cdk.aws_mwaaserverless"
            }
          }
        },
        "aws-cdk-lib.aws_neptune": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Neptune"
            },
            "java": {
              "package": "software.amazon.awscdk.services.neptune"
            },
            "python": {
              "module": "aws_cdk.aws_neptune"
            }
          }
        },
        "aws-cdk-lib.aws_neptunegraph": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.NeptuneGraph"
            },
            "java": {
              "package": "software.amazon.awscdk.services.neptunegraph"
            },
            "python": {
              "module": "aws_cdk.aws_neptunegraph"
            }
          }
        },
        "aws-cdk-lib.aws_networkfirewall": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.NetworkFirewall"
            },
            "java": {
              "package": "software.amazon.awscdk.services.networkfirewall"
            },
            "python": {
              "module": "aws_cdk.aws_networkfirewall"
            }
          }
        },
        "aws-cdk-lib.aws_networkmanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.NetworkManager"
            },
            "java": {
              "package": "software.amazon.awscdk.services.networkmanager"
            },
            "python": {
              "module": "aws_cdk.aws_networkmanager"
            }
          }
        },
        "aws-cdk-lib.aws_nimblestudio": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.NimbleStudio"
            },
            "java": {
              "package": "software.amazon.awscdk.services.nimblestudio"
            },
            "python": {
              "module": "aws_cdk.aws_nimblestudio"
            }
          }
        },
        "aws-cdk-lib.aws_notifications": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Notifications"
            },
            "java": {
              "package": "software.amazon.awscdk.services.notifications"
            },
            "python": {
              "module": "aws_cdk.aws_notifications"
            }
          }
        },
        "aws-cdk-lib.aws_notificationscontacts": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.NotificationsContacts"
            },
            "java": {
              "package": "software.amazon.awscdk.services.notificationscontacts"
            },
            "python": {
              "module": "aws_cdk.aws_notificationscontacts"
            }
          }
        },
        "aws-cdk-lib.aws_oam": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Oam"
            },
            "java": {
              "package": "software.amazon.awscdk.services.oam"
            },
            "python": {
              "module": "aws_cdk.aws_oam"
            }
          }
        },
        "aws-cdk-lib.aws_observabilityadmin": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ObservabilityAdmin"
            },
            "java": {
              "package": "software.amazon.awscdk.services.observabilityadmin"
            },
            "python": {
              "module": "aws_cdk.aws_observabilityadmin"
            }
          }
        },
        "aws-cdk-lib.aws_odb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ODB"
            },
            "java": {
              "package": "software.amazon.awscdk.services.odb"
            },
            "python": {
              "module": "aws_cdk.aws_odb"
            }
          }
        },
        "aws-cdk-lib.aws_omics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Omics"
            },
            "java": {
              "package": "software.amazon.awscdk.services.omics"
            },
            "python": {
              "module": "aws_cdk.aws_omics"
            }
          }
        },
        "aws-cdk-lib.aws_opensearchserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.OpenSearchServerless"
            },
            "java": {
              "package": "software.amazon.awscdk.services.opensearchserverless"
            },
            "python": {
              "module": "aws_cdk.aws_opensearchserverless"
            }
          }
        },
        "aws-cdk-lib.aws_opensearchservice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.OpenSearchService"
            },
            "java": {
              "package": "software.amazon.awscdk.services.opensearchservice"
            },
            "python": {
              "module": "aws_cdk.aws_opensearchservice"
            }
          }
        },
        "aws-cdk-lib.aws_opsworks": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.OpsWorks"
            },
            "java": {
              "package": "software.amazon.awscdk.services.opsworks"
            },
            "python": {
              "module": "aws_cdk.aws_opsworks"
            }
          }
        },
        "aws-cdk-lib.aws_opsworkscm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.OpsWorksCM"
            },
            "java": {
              "package": "software.amazon.awscdk.services.opsworkscm"
            },
            "python": {
              "module": "aws_cdk.aws_opsworkscm"
            }
          }
        },
        "aws-cdk-lib.aws_organizations": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Organizations"
            },
            "java": {
              "package": "software.amazon.awscdk.services.organizations"
            },
            "python": {
              "module": "aws_cdk.aws_organizations"
            }
          }
        },
        "aws-cdk-lib.aws_osis": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.OSIS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.osis"
            },
            "python": {
              "module": "aws_cdk.aws_osis"
            }
          }
        },
        "aws-cdk-lib.aws_panorama": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Panorama"
            },
            "java": {
              "package": "software.amazon.awscdk.services.panorama"
            },
            "python": {
              "module": "aws_cdk.aws_panorama"
            }
          }
        },
        "aws-cdk-lib.aws_paymentcryptography": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.PaymentCryptography"
            },
            "java": {
              "package": "software.amazon.awscdk.services.paymentcryptography"
            },
            "python": {
              "module": "aws_cdk.aws_paymentcryptography"
            }
          }
        },
        "aws-cdk-lib.aws_pcaconnectorad": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.PCAConnectorAD"
            },
            "java": {
              "package": "software.amazon.awscdk.services.pcaconnectorad"
            },
            "python": {
              "module": "aws_cdk.aws_pcaconnectorad"
            }
          }
        },
        "aws-cdk-lib.aws_pcaconnectorscep": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.PCAConnectorSCEP"
            },
            "java": {
              "package": "software.amazon.awscdk.services.pcaconnectorscep"
            },
            "python": {
              "module": "aws_cdk.aws_pcaconnectorscep"
            }
          }
        },
        "aws-cdk-lib.aws_pcs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.PCS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.pcs"
            },
            "python": {
              "module": "aws_cdk.aws_pcs"
            }
          }
        },
        "aws-cdk-lib.aws_personalize": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Personalize"
            },
            "java": {
              "package": "software.amazon.awscdk.services.personalize"
            },
            "python": {
              "module": "aws_cdk.aws_personalize"
            }
          }
        },
        "aws-cdk-lib.aws_pinpoint": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Pinpoint"
            },
            "java": {
              "package": "software.amazon.awscdk.services.pinpoint"
            },
            "python": {
              "module": "aws_cdk.aws_pinpoint"
            }
          }
        },
        "aws-cdk-lib.aws_pinpointemail": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.PinpointEmail"
            },
            "java": {
              "package": "software.amazon.awscdk.services.pinpointemail"
            },
            "python": {
              "module": "aws_cdk.aws_pinpointemail"
            }
          }
        },
        "aws-cdk-lib.aws_pipes": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Pipes"
            },
            "java": {
              "package": "software.amazon.awscdk.services.pipes"
            },
            "python": {
              "module": "aws_cdk.aws_pipes"
            }
          }
        },
        "aws-cdk-lib.aws_proton": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Proton"
            },
            "java": {
              "package": "software.amazon.awscdk.services.proton"
            },
            "python": {
              "module": "aws_cdk.aws_proton"
            }
          }
        },
        "aws-cdk-lib.aws_qbusiness": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.QBusiness"
            },
            "java": {
              "package": "software.amazon.awscdk.services.qbusiness"
            },
            "python": {
              "module": "aws_cdk.aws_qbusiness"
            }
          }
        },
        "aws-cdk-lib.aws_qldb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.QLDB"
            },
            "java": {
              "package": "software.amazon.awscdk.services.qldb"
            },
            "python": {
              "module": "aws_cdk.aws_qldb"
            }
          }
        },
        "aws-cdk-lib.aws_quicksight": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.QuickSight"
            },
            "java": {
              "package": "software.amazon.awscdk.services.quicksight"
            },
            "python": {
              "module": "aws_cdk.aws_quicksight"
            }
          }
        },
        "aws-cdk-lib.aws_ram": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RAM"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ram"
            },
            "python": {
              "module": "aws_cdk.aws_ram"
            }
          }
        },
        "aws-cdk-lib.aws_rbin": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Rbin"
            },
            "java": {
              "package": "software.amazon.awscdk.services.rbin"
            },
            "python": {
              "module": "aws_cdk.aws_rbin"
            }
          }
        },
        "aws-cdk-lib.aws_rds": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RDS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.rds"
            },
            "python": {
              "module": "aws_cdk.aws_rds"
            }
          }
        },
        "aws-cdk-lib.aws_redshift": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Redshift"
            },
            "java": {
              "package": "software.amazon.awscdk.services.redshift"
            },
            "python": {
              "module": "aws_cdk.aws_redshift"
            }
          }
        },
        "aws-cdk-lib.aws_redshiftserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RedshiftServerless"
            },
            "java": {
              "package": "software.amazon.awscdk.services.redshiftserverless"
            },
            "python": {
              "module": "aws_cdk.aws_redshiftserverless"
            }
          }
        },
        "aws-cdk-lib.aws_refactorspaces": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RefactorSpaces"
            },
            "java": {
              "package": "software.amazon.awscdk.services.refactorspaces"
            },
            "python": {
              "module": "aws_cdk.aws_refactorspaces"
            }
          }
        },
        "aws-cdk-lib.aws_rekognition": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Rekognition"
            },
            "java": {
              "package": "software.amazon.awscdk.services.rekognition"
            },
            "python": {
              "module": "aws_cdk.aws_rekognition"
            }
          }
        },
        "aws-cdk-lib.aws_resiliencehub": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ResilienceHub"
            },
            "java": {
              "package": "software.amazon.awscdk.services.resiliencehub"
            },
            "python": {
              "module": "aws_cdk.aws_resiliencehub"
            }
          }
        },
        "aws-cdk-lib.aws_resourceexplorer2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ResourceExplorer2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.resourceexplorer2"
            },
            "python": {
              "module": "aws_cdk.aws_resourceexplorer2"
            }
          }
        },
        "aws-cdk-lib.aws_resourcegroups": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ResourceGroups"
            },
            "java": {
              "package": "software.amazon.awscdk.services.resourcegroups"
            },
            "python": {
              "module": "aws_cdk.aws_resourcegroups"
            }
          }
        },
        "aws-cdk-lib.aws_robomaker": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RoboMaker"
            },
            "java": {
              "package": "software.amazon.awscdk.services.robomaker"
            },
            "python": {
              "module": "aws_cdk.aws_robomaker"
            }
          }
        },
        "aws-cdk-lib.aws_rolesanywhere": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RolesAnywhere"
            },
            "java": {
              "package": "software.amazon.awscdk.services.rolesanywhere"
            },
            "python": {
              "module": "aws_cdk.aws_rolesanywhere"
            }
          }
        },
        "aws-cdk-lib.aws_route53": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Route53"
            },
            "java": {
              "package": "software.amazon.awscdk.services.route53"
            },
            "python": {
              "module": "aws_cdk.aws_route53"
            }
          }
        },
        "aws-cdk-lib.aws_route53_patterns": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Route53.Patterns"
            },
            "java": {
              "package": "software.amazon.awscdk.services.route53.patterns"
            },
            "python": {
              "module": "aws_cdk.aws_route53_patterns"
            }
          }
        },
        "aws-cdk-lib.aws_route53_targets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Route53.Targets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.route53.targets"
            },
            "python": {
              "module": "aws_cdk.aws_route53_targets"
            }
          }
        },
        "aws-cdk-lib.aws_route53profiles": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Route53Profiles"
            },
            "java": {
              "package": "software.amazon.awscdk.services.route53profiles"
            },
            "python": {
              "module": "aws_cdk.aws_route53profiles"
            }
          }
        },
        "aws-cdk-lib.aws_route53recoverycontrol": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Route53RecoveryControl"
            },
            "java": {
              "package": "software.amazon.awscdk.services.route53recoverycontrol"
            },
            "python": {
              "module": "aws_cdk.aws_route53recoverycontrol"
            }
          }
        },
        "aws-cdk-lib.aws_route53recoveryreadiness": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Route53RecoveryReadiness"
            },
            "java": {
              "package": "software.amazon.awscdk.services.route53recoveryreadiness"
            },
            "python": {
              "module": "aws_cdk.aws_route53recoveryreadiness"
            }
          }
        },
        "aws-cdk-lib.aws_route53resolver": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Route53Resolver"
            },
            "java": {
              "package": "software.amazon.awscdk.services.route53resolver"
            },
            "python": {
              "module": "aws_cdk.aws_route53resolver"
            }
          }
        },
        "aws-cdk-lib.aws_rtbfabric": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RTBFabric"
            },
            "java": {
              "package": "software.amazon.awscdk.services.rtbfabric"
            },
            "python": {
              "module": "aws_cdk.aws_rtbfabric"
            }
          }
        },
        "aws-cdk-lib.aws_rum": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.RUM"
            },
            "java": {
              "package": "software.amazon.awscdk.services.rum"
            },
            "python": {
              "module": "aws_cdk.aws_rum"
            }
          }
        },
        "aws-cdk-lib.aws_s3": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3"
            },
            "python": {
              "module": "aws_cdk.aws_s3"
            }
          }
        },
        "aws-cdk-lib.aws_s3_assets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3.Assets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3.assets"
            },
            "python": {
              "module": "aws_cdk.aws_s3_assets"
            }
          }
        },
        "aws-cdk-lib.aws_s3_deployment": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3.Deployment"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3.deployment"
            },
            "python": {
              "module": "aws_cdk.aws_s3_deployment"
            }
          }
        },
        "aws-cdk-lib.aws_s3_notifications": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3.Notifications"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3.notifications"
            },
            "python": {
              "module": "aws_cdk.aws_s3_notifications"
            }
          }
        },
        "aws-cdk-lib.aws_s3express": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3Express"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3express"
            },
            "python": {
              "module": "aws_cdk.aws_s3express"
            }
          }
        },
        "aws-cdk-lib.aws_s3objectlambda": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3ObjectLambda"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3objectlambda"
            },
            "python": {
              "module": "aws_cdk.aws_s3objectlambda"
            }
          }
        },
        "aws-cdk-lib.aws_s3outposts": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3Outposts"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3outposts"
            },
            "python": {
              "module": "aws_cdk.aws_s3outposts"
            }
          }
        },
        "aws-cdk-lib.aws_s3tables": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3Tables"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3tables"
            },
            "python": {
              "module": "aws_cdk.aws_s3tables"
            }
          }
        },
        "aws-cdk-lib.aws_s3vectors": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.S3Vectors"
            },
            "java": {
              "package": "software.amazon.awscdk.services.s3vectors"
            },
            "python": {
              "module": "aws_cdk.aws_s3vectors"
            }
          }
        },
        "aws-cdk-lib.aws_sagemaker": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Sagemaker"
            },
            "java": {
              "package": "software.amazon.awscdk.services.sagemaker"
            },
            "python": {
              "module": "aws_cdk.aws_sagemaker"
            }
          }
        },
        "aws-cdk-lib.aws_sam": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SAM"
            },
            "java": {
              "package": "software.amazon.awscdk.services.sam"
            },
            "python": {
              "module": "aws_cdk.aws_sam"
            }
          }
        },
        "aws-cdk-lib.aws_scheduler": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Scheduler"
            },
            "java": {
              "package": "software.amazon.awscdk.services.scheduler"
            },
            "python": {
              "module": "aws_cdk.aws_scheduler"
            }
          }
        },
        "aws-cdk-lib.aws_scheduler_targets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Scheduler.Targets"
            },
            "java": {
              "package": "software.amazon.awscdk.services.scheduler.targets"
            },
            "python": {
              "module": "aws_cdk.aws_scheduler_targets"
            }
          }
        },
        "aws-cdk-lib.aws_sdb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SDB"
            },
            "java": {
              "package": "software.amazon.awscdk.services.sdb"
            },
            "python": {
              "module": "aws_cdk.aws_sdb"
            }
          }
        },
        "aws-cdk-lib.aws_secretsmanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SecretsManager"
            },
            "java": {
              "package": "software.amazon.awscdk.services.secretsmanager"
            },
            "python": {
              "module": "aws_cdk.aws_secretsmanager"
            }
          }
        },
        "aws-cdk-lib.aws_securityhub": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SecurityHub"
            },
            "java": {
              "package": "software.amazon.awscdk.services.securityhub"
            },
            "python": {
              "module": "aws_cdk.aws_securityhub"
            }
          }
        },
        "aws-cdk-lib.aws_securitylake": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SecurityLake"
            },
            "java": {
              "package": "software.amazon.awscdk.services.securitylake"
            },
            "python": {
              "module": "aws_cdk.aws_securitylake"
            }
          }
        },
        "aws-cdk-lib.aws_servicecatalog": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Servicecatalog"
            },
            "java": {
              "package": "software.amazon.awscdk.services.servicecatalog"
            },
            "python": {
              "module": "aws_cdk.aws_servicecatalog"
            }
          }
        },
        "aws-cdk-lib.aws_servicecatalogappregistry": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Servicecatalogappregistry"
            },
            "java": {
              "package": "software.amazon.awscdk.services.servicecatalogappregistry"
            },
            "python": {
              "module": "aws_cdk.aws_servicecatalogappregistry"
            }
          }
        },
        "aws-cdk-lib.aws_servicediscovery": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.ServiceDiscovery"
            },
            "java": {
              "package": "software.amazon.awscdk.services.servicediscovery"
            },
            "python": {
              "module": "aws_cdk.aws_servicediscovery"
            }
          }
        },
        "aws-cdk-lib.aws_ses": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SES"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ses"
            },
            "python": {
              "module": "aws_cdk.aws_ses"
            }
          }
        },
        "aws-cdk-lib.aws_ses_actions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SES.Actions"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ses.actions"
            },
            "python": {
              "module": "aws_cdk.aws_ses_actions"
            }
          }
        },
        "aws-cdk-lib.aws_shield": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Shield"
            },
            "java": {
              "package": "software.amazon.awscdk.services.shield"
            },
            "python": {
              "module": "aws_cdk.aws_shield"
            }
          }
        },
        "aws-cdk-lib.aws_signer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Signer"
            },
            "java": {
              "package": "software.amazon.awscdk.services.signer"
            },
            "python": {
              "module": "aws_cdk.aws_signer"
            }
          }
        },
        "aws-cdk-lib.aws_simspaceweaver": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SimSpaceWeaver"
            },
            "java": {
              "package": "software.amazon.awscdk.services.simspaceweaver"
            },
            "python": {
              "module": "aws_cdk.aws_simspaceweaver"
            }
          }
        },
        "aws-cdk-lib.aws_smsvoice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SMSVOICE"
            },
            "java": {
              "package": "software.amazon.awscdk.services.smsvoice"
            },
            "python": {
              "module": "aws_cdk.aws_smsvoice"
            }
          }
        },
        "aws-cdk-lib.aws_sns": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SNS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.sns"
            },
            "python": {
              "module": "aws_cdk.aws_sns"
            }
          }
        },
        "aws-cdk-lib.aws_sns_subscriptions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SNS.Subscriptions"
            },
            "java": {
              "package": "software.amazon.awscdk.services.sns.subscriptions"
            },
            "python": {
              "module": "aws_cdk.aws_sns_subscriptions"
            }
          }
        },
        "aws-cdk-lib.aws_sqs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SQS"
            },
            "java": {
              "package": "software.amazon.awscdk.services.sqs"
            },
            "python": {
              "module": "aws_cdk.aws_sqs"
            }
          }
        },
        "aws-cdk-lib.aws_ssm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SSM"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ssm"
            },
            "python": {
              "module": "aws_cdk.aws_ssm"
            }
          }
        },
        "aws-cdk-lib.aws_ssmcontacts": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SSMContacts"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ssmcontacts"
            },
            "python": {
              "module": "aws_cdk.aws_ssmcontacts"
            }
          }
        },
        "aws-cdk-lib.aws_ssmguiconnect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SSMGuiConnect"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ssmguiconnect"
            },
            "python": {
              "module": "aws_cdk.aws_ssmguiconnect"
            }
          }
        },
        "aws-cdk-lib.aws_ssmincidents": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SSMIncidents"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ssmincidents"
            },
            "python": {
              "module": "aws_cdk.aws_ssmincidents"
            }
          }
        },
        "aws-cdk-lib.aws_ssmquicksetup": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SSMQuickSetup"
            },
            "java": {
              "package": "software.amazon.awscdk.services.ssmquicksetup"
            },
            "python": {
              "module": "aws_cdk.aws_ssmquicksetup"
            }
          }
        },
        "aws-cdk-lib.aws_sso": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SSO"
            },
            "java": {
              "package": "software.amazon.awscdk.services.sso"
            },
            "python": {
              "module": "aws_cdk.aws_sso"
            }
          }
        },
        "aws-cdk-lib.aws_stepfunctions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.StepFunctions"
            },
            "java": {
              "package": "software.amazon.awscdk.services.stepfunctions"
            },
            "python": {
              "module": "aws_cdk.aws_stepfunctions"
            }
          }
        },
        "aws-cdk-lib.aws_stepfunctions_tasks": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.StepFunctions.Tasks"
            },
            "java": {
              "package": "software.amazon.awscdk.services.stepfunctions.tasks"
            },
            "python": {
              "module": "aws_cdk.aws_stepfunctions_tasks"
            }
          }
        },
        "aws-cdk-lib.aws_supportapp": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SupportApp"
            },
            "java": {
              "package": "software.amazon.awscdk.services.supportapp"
            },
            "python": {
              "module": "aws_cdk.aws_supportapp"
            }
          }
        },
        "aws-cdk-lib.aws_synthetics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Synthetics"
            },
            "java": {
              "package": "software.amazon.awscdk.services.synthetics"
            },
            "python": {
              "module": "aws_cdk.aws_synthetics"
            }
          }
        },
        "aws-cdk-lib.aws_systemsmanagersap": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.SystemsManagerSAP"
            },
            "java": {
              "package": "software.amazon.awscdk.services.systemsmanagersap"
            },
            "python": {
              "module": "aws_cdk.aws_systemsmanagersap"
            }
          }
        },
        "aws-cdk-lib.aws_timestream": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Timestream"
            },
            "java": {
              "package": "software.amazon.awscdk.services.timestream"
            },
            "python": {
              "module": "aws_cdk.aws_timestream"
            }
          }
        },
        "aws-cdk-lib.aws_transfer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Transfer"
            },
            "java": {
              "package": "software.amazon.awscdk.services.transfer"
            },
            "python": {
              "module": "aws_cdk.aws_transfer"
            }
          }
        },
        "aws-cdk-lib.aws_verifiedpermissions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.VerifiedPermissions"
            },
            "java": {
              "package": "software.amazon.awscdk.services.verifiedpermissions"
            },
            "python": {
              "module": "aws_cdk.aws_verifiedpermissions"
            }
          }
        },
        "aws-cdk-lib.aws_voiceid": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.VoiceID"
            },
            "java": {
              "package": "software.amazon.awscdk.services.voiceid"
            },
            "python": {
              "module": "aws_cdk.aws_voiceid"
            }
          }
        },
        "aws-cdk-lib.aws_vpclattice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.VpcLattice"
            },
            "java": {
              "package": "software.amazon.awscdk.services.vpclattice"
            },
            "python": {
              "module": "aws_cdk.aws_vpclattice"
            }
          }
        },
        "aws-cdk-lib.aws_waf": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.WAF"
            },
            "java": {
              "package": "software.amazon.awscdk.services.waf"
            },
            "python": {
              "module": "aws_cdk.aws_waf"
            }
          }
        },
        "aws-cdk-lib.aws_wafregional": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.WAFRegional"
            },
            "java": {
              "package": "software.amazon.awscdk.services.waf.regional"
            },
            "python": {
              "module": "aws_cdk.aws_wafregional"
            }
          }
        },
        "aws-cdk-lib.aws_wafv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.WAFv2"
            },
            "java": {
              "package": "software.amazon.awscdk.services.wafv2"
            },
            "python": {
              "module": "aws_cdk.aws_wafv2"
            }
          }
        },
        "aws-cdk-lib.aws_wisdom": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.Wisdom"
            },
            "java": {
              "package": "software.amazon.awscdk.services.wisdom"
            },
            "python": {
              "module": "aws_cdk.aws_wisdom"
            }
          }
        },
        "aws-cdk-lib.aws_workspaces": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.WorkSpaces"
            },
            "java": {
              "package": "software.amazon.awscdk.services.workspaces"
            },
            "python": {
              "module": "aws_cdk.aws_workspaces"
            }
          }
        },
        "aws-cdk-lib.aws_workspacesinstances": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.WorkspacesInstances"
            },
            "java": {
              "package": "software.amazon.awscdk.services.workspacesinstances"
            },
            "python": {
              "module": "aws_cdk.aws_workspacesinstances"
            }
          }
        },
        "aws-cdk-lib.aws_workspacesthinclient": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.WorkSpacesThinClient"
            },
            "java": {
              "package": "software.amazon.awscdk.services.workspacesthinclient"
            },
            "python": {
              "module": "aws_cdk.aws_workspacesthinclient"
            }
          }
        },
        "aws-cdk-lib.aws_workspacesweb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.WorkSpacesWeb"
            },
            "java": {
              "package": "software.amazon.awscdk.services.workspacesweb"
            },
            "python": {
              "module": "aws_cdk.aws_workspacesweb"
            }
          }
        },
        "aws-cdk-lib.aws_xray": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.AWS.XRay"
            },
            "java": {
              "package": "software.amazon.awscdk.services.xray"
            },
            "python": {
              "module": "aws_cdk.aws_xray"
            }
          }
        },
        "aws-cdk-lib.cloud_assembly_schema": {},
        "aws-cdk-lib.cloudformation_include": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.CloudFormation.Include"
            },
            "java": {
              "package": "software.amazon.awscdk.cloudformation.include"
            },
            "python": {
              "module": "aws_cdk.cloudformation_include"
            }
          }
        },
        "aws-cdk-lib.custom_resources": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.CustomResources"
            },
            "java": {
              "package": "software.amazon.awscdk.customresources"
            },
            "python": {
              "module": "aws_cdk.custom_resources"
            }
          }
        },
        "aws-cdk-lib.cx_api": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.CXAPI"
            },
            "java": {
              "package": "software.amazon.awscdk.cxapi"
            },
            "python": {
              "module": "aws_cdk.cx_api"
            }
          }
        },
        "aws-cdk-lib.interfaces": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces"
            },
            "go": {
              "packageName": "interfaces"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces"
            },
            "python": {
              "module": "aws_cdk.interfaces"
            }
          }
        },
        "aws-cdk-lib.interfaces.alexa_ask": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Ask"
            },
            "go": {
              "packageName": "interfacesalexaask"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ask"
            },
            "python": {
              "module": "aws_cdk.interfaces.alexa_ask"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_accessanalyzer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AccessAnalyzer"
            },
            "go": {
              "packageName": "interfacesawsaccessanalyzer"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.accessanalyzer"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_accessanalyzer"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_acmpca": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ACMPCA"
            },
            "go": {
              "packageName": "interfacesawsacmpca"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.acmpca"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_acmpca"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_aiops": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AIOps"
            },
            "go": {
              "packageName": "interfacesawsaiops"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.aiops"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_aiops"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_amazonmq": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AmazonMQ"
            },
            "go": {
              "packageName": "interfacesawsamazonmq"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.amazonmq"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_amazonmq"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_amplify": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Amplify"
            },
            "go": {
              "packageName": "interfacesawsamplify"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.amplify"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_amplify"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_amplifyuibuilder": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AmplifyUIBuilder"
            },
            "go": {
              "packageName": "interfacesawsamplifyuibuilder"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.amplifyuibuilder"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_amplifyuibuilder"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_apigateway": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.APIGateway"
            },
            "go": {
              "packageName": "interfacesawsapigateway"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.apigateway"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_apigateway"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_apigatewayv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Apigatewayv2"
            },
            "go": {
              "packageName": "interfacesawsapigatewayv2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.apigatewayv2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_apigatewayv2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_appconfig": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppConfig"
            },
            "go": {
              "packageName": "interfacesawsappconfig"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.appconfig"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_appconfig"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_appflow": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppFlow"
            },
            "go": {
              "packageName": "interfacesawsappflow"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.appflow"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_appflow"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_appintegrations": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppIntegrations"
            },
            "go": {
              "packageName": "interfacesawsappintegrations"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.appintegrations"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_appintegrations"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_applicationautoscaling": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ApplicationAutoScaling"
            },
            "go": {
              "packageName": "interfacesawsapplicationautoscaling"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.applicationautoscaling"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_applicationautoscaling"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_applicationinsights": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ApplicationInsights"
            },
            "go": {
              "packageName": "interfacesawsapplicationinsights"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.applicationinsights"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_applicationinsights"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_applicationsignals": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ApplicationSignals"
            },
            "go": {
              "packageName": "interfacesawsapplicationsignals"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.applicationsignals"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_applicationsignals"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_appmesh": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppMesh"
            },
            "go": {
              "packageName": "interfacesawsappmesh"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.appmesh"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_appmesh"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_apprunner": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppRunner"
            },
            "go": {
              "packageName": "interfacesawsapprunner"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.apprunner"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_apprunner"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_appstream": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppStream"
            },
            "go": {
              "packageName": "interfacesawsappstream"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.appstream"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_appstream"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_appsync": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppSync"
            },
            "go": {
              "packageName": "interfacesawsappsync"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.appsync"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_appsync"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_apptest": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AppTest"
            },
            "go": {
              "packageName": "interfacesawsapptest"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.apptest"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_apptest"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_aps": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.APS"
            },
            "go": {
              "packageName": "interfacesawsaps"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.aps"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_aps"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_arcregionswitch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ARCRegionSwitch"
            },
            "go": {
              "packageName": "interfacesawsarcregionswitch"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.arcregionswitch"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_arcregionswitch"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_arczonalshift": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ARCZonalShift"
            },
            "go": {
              "packageName": "interfacesawsarczonalshift"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.arczonalshift"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_arczonalshift"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_athena": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Athena"
            },
            "go": {
              "packageName": "interfacesawsathena"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.athena"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_athena"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_auditmanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AuditManager"
            },
            "go": {
              "packageName": "interfacesawsauditmanager"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.auditmanager"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_auditmanager"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_autoscaling": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AutoScaling"
            },
            "go": {
              "packageName": "interfacesawsautoscaling"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.autoscaling"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_autoscaling"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_autoscalingplans": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.AutoScalingPlans"
            },
            "go": {
              "packageName": "interfacesawsautoscalingplans"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.autoscalingplans"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_autoscalingplans"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_b2bi": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.B2BI"
            },
            "go": {
              "packageName": "interfacesawsb2bi"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.b2bi"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_b2bi"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_backup": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Backup"
            },
            "go": {
              "packageName": "interfacesawsbackup"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.backup"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_backup"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_backupgateway": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.BackupGateway"
            },
            "go": {
              "packageName": "interfacesawsbackupgateway"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.backupgateway"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_backupgateway"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_batch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Batch"
            },
            "go": {
              "packageName": "interfacesawsbatch"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.batch"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_batch"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_bcmdataexports": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.BCMDataExports"
            },
            "go": {
              "packageName": "interfacesawsbcmdataexports"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.bcmdataexports"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_bcmdataexports"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_bedrock": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Bedrock"
            },
            "go": {
              "packageName": "interfacesawsbedrock"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.bedrock"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_bedrock"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_bedrockagentcore": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.BedrockAgentCore"
            },
            "go": {
              "packageName": "interfacesawsbedrockagentcore"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.bedrockagentcore"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_bedrockagentcore"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_billing": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Billing"
            },
            "go": {
              "packageName": "interfacesawsbilling"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.billing"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_billing"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_billingconductor": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.BillingConductor"
            },
            "go": {
              "packageName": "interfacesawsbillingconductor"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.billingconductor"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_billingconductor"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_budgets": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Budgets"
            },
            "go": {
              "packageName": "interfacesawsbudgets"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.budgets"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_budgets"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cases": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Cases"
            },
            "go": {
              "packageName": "interfacesawscases"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cases"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cases"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cassandra": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Cassandra"
            },
            "go": {
              "packageName": "interfacesawscassandra"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cassandra"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cassandra"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ce": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CE"
            },
            "go": {
              "packageName": "interfacesawsce"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ce"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ce"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_certificatemanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CertificateManager"
            },
            "go": {
              "packageName": "interfacesawscertificatemanager"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.certificatemanager"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_certificatemanager"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_chatbot": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Chatbot"
            },
            "go": {
              "packageName": "interfacesawschatbot"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.chatbot"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_chatbot"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cleanrooms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CleanRooms"
            },
            "go": {
              "packageName": "interfacesawscleanrooms"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cleanrooms"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cleanrooms"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cleanroomsml": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CleanRoomsML"
            },
            "go": {
              "packageName": "interfacesawscleanroomsml"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cleanroomsml"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cleanroomsml"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cloud9": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Cloud9"
            },
            "go": {
              "packageName": "interfacesawscloud9"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cloud9"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cloud9"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cloudformation": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CloudFormation"
            },
            "go": {
              "packageName": "interfacesawscloudformation"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cloudformation"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cloudformation"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cloudfront": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CloudFront"
            },
            "go": {
              "packageName": "interfacesawscloudfront"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cloudfront"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cloudfront"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cloudtrail": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CloudTrail"
            },
            "go": {
              "packageName": "interfacesawscloudtrail"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cloudtrail"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cloudtrail"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cloudwatch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CloudWatch"
            },
            "go": {
              "packageName": "interfacesawscloudwatch"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cloudwatch"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cloudwatch"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codeartifact": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeArtifact"
            },
            "go": {
              "packageName": "interfacesawscodeartifact"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codeartifact"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codeartifact"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codebuild": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeBuild"
            },
            "go": {
              "packageName": "interfacesawscodebuild"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codebuild"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codebuild"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codecommit": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeCommit"
            },
            "go": {
              "packageName": "interfacesawscodecommit"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codecommit"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codecommit"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codeconnections": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeConnections"
            },
            "go": {
              "packageName": "interfacesawscodeconnections"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codeconnections"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codeconnections"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codedeploy": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeDeploy"
            },
            "go": {
              "packageName": "interfacesawscodedeploy"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codedeploy"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codedeploy"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codeguruprofiler": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeGuruProfiler"
            },
            "go": {
              "packageName": "interfacesawscodeguruprofiler"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codeguruprofiler"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codeguruprofiler"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codegurureviewer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeGuruReviewer"
            },
            "go": {
              "packageName": "interfacesawscodegurureviewer"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codegurureviewer"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codegurureviewer"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codepipeline": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodePipeline"
            },
            "go": {
              "packageName": "interfacesawscodepipeline"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codepipeline"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codepipeline"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codestar": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Codestar"
            },
            "go": {
              "packageName": "interfacesawscodestar"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codestar"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codestar"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codestarconnections": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeStarConnections"
            },
            "go": {
              "packageName": "interfacesawscodestarconnections"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codestarconnections"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codestarconnections"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_codestarnotifications": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CodeStarNotifications"
            },
            "go": {
              "packageName": "interfacesawscodestarnotifications"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.codestarnotifications"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_codestarnotifications"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cognito": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Cognito"
            },
            "go": {
              "packageName": "interfacesawscognito"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cognito"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cognito"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_comprehend": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Comprehend"
            },
            "go": {
              "packageName": "interfacesawscomprehend"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.comprehend"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_comprehend"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_config": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Config"
            },
            "go": {
              "packageName": "interfacesawsconfig"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.config"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_config"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_connect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Connect"
            },
            "go": {
              "packageName": "interfacesawsconnect"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.connect"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_connect"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_connectcampaigns": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ConnectCampaigns"
            },
            "go": {
              "packageName": "interfacesawsconnectcampaigns"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.connectcampaigns"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_connectcampaigns"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_connectcampaignsv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ConnectCampaignsV2"
            },
            "go": {
              "packageName": "interfacesawsconnectcampaignsv2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.connectcampaignsv2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_connectcampaignsv2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_controltower": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ControlTower"
            },
            "go": {
              "packageName": "interfacesawscontroltower"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.controltower"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_controltower"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_cur": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CUR"
            },
            "go": {
              "packageName": "interfacesawscur"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.cur"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_cur"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_customerprofiles": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.CustomerProfiles"
            },
            "go": {
              "packageName": "interfacesawscustomerprofiles"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.customerprofiles"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_customerprofiles"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_databrew": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DataBrew"
            },
            "go": {
              "packageName": "interfacesawsdatabrew"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.databrew"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_databrew"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_datapipeline": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DataPipeline"
            },
            "go": {
              "packageName": "interfacesawsdatapipeline"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.datapipeline"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_datapipeline"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_datasync": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DataSync"
            },
            "go": {
              "packageName": "interfacesawsdatasync"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.datasync"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_datasync"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_datazone": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DataZone"
            },
            "go": {
              "packageName": "interfacesawsdatazone"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.datazone"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_datazone"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_dax": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DAX"
            },
            "go": {
              "packageName": "interfacesawsdax"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.dax"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_dax"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_deadline": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Deadline"
            },
            "go": {
              "packageName": "interfacesawsdeadline"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.deadline"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_deadline"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_detective": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Detective"
            },
            "go": {
              "packageName": "interfacesawsdetective"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.detective"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_detective"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_devicefarm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DeviceFarm"
            },
            "go": {
              "packageName": "interfacesawsdevicefarm"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.devicefarm"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_devicefarm"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_devopsagent": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DevOpsAgent"
            },
            "go": {
              "packageName": "interfacesawsdevopsagent"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.devopsagent"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_devopsagent"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_devopsguru": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DevOpsGuru"
            },
            "go": {
              "packageName": "interfacesawsdevopsguru"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.devopsguru"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_devopsguru"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_directoryservice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DirectoryService"
            },
            "go": {
              "packageName": "interfacesawsdirectoryservice"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.directoryservice"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_directoryservice"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_dlm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DLM"
            },
            "go": {
              "packageName": "interfacesawsdlm"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.dlm"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_dlm"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_dms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DMS"
            },
            "go": {
              "packageName": "interfacesawsdms"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.dms"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_dms"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_docdb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DocDB"
            },
            "go": {
              "packageName": "interfacesawsdocdb"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.docdb"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_docdb"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_docdbelastic": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DocDBElastic"
            },
            "go": {
              "packageName": "interfacesawsdocdbelastic"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.docdbelastic"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_docdbelastic"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_dsql": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DSQL"
            },
            "go": {
              "packageName": "interfacesawsdsql"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.dsql"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_dsql"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_dynamodb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.DynamoDB"
            },
            "go": {
              "packageName": "interfacesawsdynamodb"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.dynamodb"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_dynamodb"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ec2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EC2"
            },
            "go": {
              "packageName": "interfacesawsec2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ec2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ec2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ecr": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ECR"
            },
            "go": {
              "packageName": "interfacesawsecr"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ecr"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ecr"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ecs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ECS"
            },
            "go": {
              "packageName": "interfacesawsecs"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ecs"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ecs"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_efs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EFS"
            },
            "go": {
              "packageName": "interfacesawsefs"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.efs"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_efs"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_eks": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EKS"
            },
            "go": {
              "packageName": "interfacesawseks"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.eks"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_eks"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_elasticache": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ElastiCache"
            },
            "go": {
              "packageName": "interfacesawselasticache"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.elasticache"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_elasticache"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_elasticbeanstalk": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ElasticBeanstalk"
            },
            "go": {
              "packageName": "interfacesawselasticbeanstalk"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.elasticbeanstalk"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_elasticbeanstalk"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_elasticloadbalancing": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ElasticLoadBalancing"
            },
            "go": {
              "packageName": "interfacesawselasticloadbalancing"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.elasticloadbalancing"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_elasticloadbalancing"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_elasticloadbalancingv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ElasticLoadBalancingV2"
            },
            "go": {
              "packageName": "interfacesawselasticloadbalancingv2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.elasticloadbalancingv2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_elasticloadbalancingv2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_elasticsearch": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Elasticsearch"
            },
            "go": {
              "packageName": "interfacesawselasticsearch"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.elasticsearch"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_elasticsearch"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_emr": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EMR"
            },
            "go": {
              "packageName": "interfacesawsemr"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.emr"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_emr"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_emrcontainers": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EMRContainers"
            },
            "go": {
              "packageName": "interfacesawsemrcontainers"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.emrcontainers"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_emrcontainers"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_emrserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EMRServerless"
            },
            "go": {
              "packageName": "interfacesawsemrserverless"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.emrserverless"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_emrserverless"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_entityresolution": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EntityResolution"
            },
            "go": {
              "packageName": "interfacesawsentityresolution"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.entityresolution"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_entityresolution"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_events": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Events"
            },
            "go": {
              "packageName": "interfacesawsevents"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.events"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_events"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_eventschemas": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EventSchemas"
            },
            "go": {
              "packageName": "interfacesawseventschemas"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.eventschemas"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_eventschemas"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_evidently": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Evidently"
            },
            "go": {
              "packageName": "interfacesawsevidently"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.evidently"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_evidently"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_evs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.EVS"
            },
            "go": {
              "packageName": "interfacesawsevs"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.evs"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_evs"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_finspace": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.FinSpace"
            },
            "go": {
              "packageName": "interfacesawsfinspace"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.finspace"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_finspace"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_fis": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.FIS"
            },
            "go": {
              "packageName": "interfacesawsfis"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.fis"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_fis"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_fms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.FMS"
            },
            "go": {
              "packageName": "interfacesawsfms"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.fms"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_fms"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_forecast": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Forecast"
            },
            "go": {
              "packageName": "interfacesawsforecast"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.forecast"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_forecast"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_frauddetector": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.FraudDetector"
            },
            "go": {
              "packageName": "interfacesawsfrauddetector"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.frauddetector"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_frauddetector"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_fsx": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.FSx"
            },
            "go": {
              "packageName": "interfacesawsfsx"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.fsx"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_fsx"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_gamelift": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.GameLift"
            },
            "go": {
              "packageName": "interfacesawsgamelift"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.gamelift"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_gamelift"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_gameliftstreams": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.GameLiftStreams"
            },
            "go": {
              "packageName": "interfacesawsgameliftstreams"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.gameliftstreams"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_gameliftstreams"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_globalaccelerator": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.GlobalAccelerator"
            },
            "go": {
              "packageName": "interfacesawsglobalaccelerator"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.globalaccelerator"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_globalaccelerator"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_glue": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Glue"
            },
            "go": {
              "packageName": "interfacesawsglue"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.glue"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_glue"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_grafana": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Grafana"
            },
            "go": {
              "packageName": "interfacesawsgrafana"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.grafana"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_grafana"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_greengrass": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Greengrass"
            },
            "go": {
              "packageName": "interfacesawsgreengrass"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.greengrass"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_greengrass"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_greengrassv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.GreengrassV2"
            },
            "go": {
              "packageName": "interfacesawsgreengrassv2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.greengrassv2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_greengrassv2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_groundstation": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.GroundStation"
            },
            "go": {
              "packageName": "interfacesawsgroundstation"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.groundstation"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_groundstation"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_guardduty": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.GuardDuty"
            },
            "go": {
              "packageName": "interfacesawsguardduty"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.guardduty"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_guardduty"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_healthimaging": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.HealthImaging"
            },
            "go": {
              "packageName": "interfacesawshealthimaging"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.healthimaging"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_healthimaging"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_healthlake": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.HealthLake"
            },
            "go": {
              "packageName": "interfacesawshealthlake"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.healthlake"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_healthlake"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iam": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IAM"
            },
            "go": {
              "packageName": "interfacesawsiam"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iam"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iam"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_identitystore": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IdentityStore"
            },
            "go": {
              "packageName": "interfacesawsidentitystore"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.identitystore"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_identitystore"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_imagebuilder": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ImageBuilder"
            },
            "go": {
              "packageName": "interfacesawsimagebuilder"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.imagebuilder"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_imagebuilder"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_inspector": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Inspector"
            },
            "go": {
              "packageName": "interfacesawsinspector"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.inspector"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_inspector"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_inspectorv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.InspectorV2"
            },
            "go": {
              "packageName": "interfacesawsinspectorv2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.inspectorv2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_inspectorv2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_internetmonitor": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.InternetMonitor"
            },
            "go": {
              "packageName": "interfacesawsinternetmonitor"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.internetmonitor"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_internetmonitor"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_invoicing": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Invoicing"
            },
            "go": {
              "packageName": "interfacesawsinvoicing"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.invoicing"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_invoicing"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iot": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoT"
            },
            "go": {
              "packageName": "interfacesawsiot"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iot"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iot"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotanalytics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTAnalytics"
            },
            "go": {
              "packageName": "interfacesawsiotanalytics"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotanalytics"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotanalytics"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotcoredeviceadvisor": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTCoreDeviceAdvisor"
            },
            "go": {
              "packageName": "interfacesawsiotcoredeviceadvisor"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotcoredeviceadvisor"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotcoredeviceadvisor"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotevents": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTEvents"
            },
            "go": {
              "packageName": "interfacesawsiotevents"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotevents"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotevents"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotfleethub": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTFleetHub"
            },
            "go": {
              "packageName": "interfacesawsiotfleethub"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotfleethub"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotfleethub"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotfleetwise": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTFleetWise"
            },
            "go": {
              "packageName": "interfacesawsiotfleetwise"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotfleetwise"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotfleetwise"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotsitewise": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTSiteWise"
            },
            "go": {
              "packageName": "interfacesawsiotsitewise"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotsitewise"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotsitewise"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotthingsgraph": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTThingsGraph"
            },
            "go": {
              "packageName": "interfacesawsiotthingsgraph"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotthingsgraph"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotthingsgraph"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iottwinmaker": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTTwinMaker"
            },
            "go": {
              "packageName": "interfacesawsiottwinmaker"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iottwinmaker"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iottwinmaker"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_iotwireless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IoTWireless"
            },
            "go": {
              "packageName": "interfacesawsiotwireless"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.iotwireless"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_iotwireless"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ivs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Ivs"
            },
            "go": {
              "packageName": "interfacesawsivs"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ivs"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ivs"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ivschat": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.IVSChat"
            },
            "go": {
              "packageName": "interfacesawsivschat"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ivschat"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ivschat"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kafkaconnect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.KafkaConnect"
            },
            "go": {
              "packageName": "interfacesawskafkaconnect"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kafkaconnect"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kafkaconnect"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kendra": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Kendra"
            },
            "go": {
              "packageName": "interfacesawskendra"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kendra"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kendra"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kendraranking": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.KendraRanking"
            },
            "go": {
              "packageName": "interfacesawskendraranking"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kendraranking"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kendraranking"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kinesis": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Kinesis"
            },
            "go": {
              "packageName": "interfacesawskinesis"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kinesis"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kinesis"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kinesisanalytics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.KinesisAnalytics"
            },
            "go": {
              "packageName": "interfacesawskinesisanalytics"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kinesisanalytics"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kinesisanalytics"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kinesisanalyticsv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.KinesisAnalyticsV2"
            },
            "go": {
              "packageName": "interfacesawskinesisanalyticsv2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kinesisanalyticsv2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kinesisanalyticsv2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kinesisfirehose": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.KinesisFirehose"
            },
            "go": {
              "packageName": "interfacesawskinesisfirehose"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kinesisfirehose"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kinesisfirehose"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kinesisvideo": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.KinesisVideo"
            },
            "go": {
              "packageName": "interfacesawskinesisvideo"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kinesisvideo"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kinesisvideo"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_kms": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.KMS"
            },
            "go": {
              "packageName": "interfacesawskms"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.kms"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_kms"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_lakeformation": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.LakeFormation"
            },
            "go": {
              "packageName": "interfacesawslakeformation"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.lakeformation"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_lakeformation"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_lambda": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Lambda"
            },
            "go": {
              "packageName": "interfacesawslambda"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.lambda"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_lambda"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_launchwizard": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.LaunchWizard"
            },
            "go": {
              "packageName": "interfacesawslaunchwizard"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.launchwizard"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_launchwizard"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_lex": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Lex"
            },
            "go": {
              "packageName": "interfacesawslex"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.lex"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_lex"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_licensemanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.LicenseManager"
            },
            "go": {
              "packageName": "interfacesawslicensemanager"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.licensemanager"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_licensemanager"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_lightsail": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Lightsail"
            },
            "go": {
              "packageName": "interfacesawslightsail"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.lightsail"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_lightsail"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_location": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Location"
            },
            "go": {
              "packageName": "interfacesawslocation"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.location"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_location"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_logs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Logs"
            },
            "go": {
              "packageName": "interfacesawslogs"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.logs"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_logs"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_lookoutequipment": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.LookoutEquipment"
            },
            "go": {
              "packageName": "interfacesawslookoutequipment"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.lookoutequipment"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_lookoutequipment"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_lookoutmetrics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.LookoutMetrics"
            },
            "go": {
              "packageName": "interfacesawslookoutmetrics"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.lookoutmetrics"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_lookoutmetrics"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_lookoutvision": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.LookoutVision"
            },
            "go": {
              "packageName": "interfacesawslookoutvision"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.lookoutvision"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_lookoutvision"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_m2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.M2"
            },
            "go": {
              "packageName": "interfacesawsm2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.m2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_m2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_macie": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Macie"
            },
            "go": {
              "packageName": "interfacesawsmacie"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.macie"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_macie"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_managedblockchain": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ManagedBlockchain"
            },
            "go": {
              "packageName": "interfacesawsmanagedblockchain"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.managedblockchain"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_managedblockchain"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mediaconnect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MediaConnect"
            },
            "go": {
              "packageName": "interfacesawsmediaconnect"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mediaconnect"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mediaconnect"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mediaconvert": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MediaConvert"
            },
            "go": {
              "packageName": "interfacesawsmediaconvert"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mediaconvert"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mediaconvert"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_medialive": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MediaLive"
            },
            "go": {
              "packageName": "interfacesawsmedialive"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.medialive"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_medialive"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mediapackage": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MediaPackage"
            },
            "go": {
              "packageName": "interfacesawsmediapackage"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mediapackage"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mediapackage"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mediapackagev2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MediaPackageV2"
            },
            "go": {
              "packageName": "interfacesawsmediapackagev2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mediapackagev2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mediapackagev2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mediastore": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MediaStore"
            },
            "go": {
              "packageName": "interfacesawsmediastore"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mediastore"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mediastore"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mediatailor": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MediaTailor"
            },
            "go": {
              "packageName": "interfacesawsmediatailor"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mediatailor"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mediatailor"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_memorydb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MemoryDB"
            },
            "go": {
              "packageName": "interfacesawsmemorydb"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.memorydb"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_memorydb"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mpa": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MPA"
            },
            "go": {
              "packageName": "interfacesawsmpa"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mpa"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mpa"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_msk": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MSK"
            },
            "go": {
              "packageName": "interfacesawsmsk"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.msk"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_msk"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mwaa": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MWAA"
            },
            "go": {
              "packageName": "interfacesawsmwaa"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mwaa"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mwaa"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_mwaaserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.MWAAServerless"
            },
            "go": {
              "packageName": "interfacesawsmwaaserverless"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.mwaaserverless"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_mwaaserverless"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_neptune": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Neptune"
            },
            "go": {
              "packageName": "interfacesawsneptune"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.neptune"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_neptune"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_neptunegraph": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.NeptuneGraph"
            },
            "go": {
              "packageName": "interfacesawsneptunegraph"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.neptunegraph"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_neptunegraph"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_networkfirewall": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.NetworkFirewall"
            },
            "go": {
              "packageName": "interfacesawsnetworkfirewall"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.networkfirewall"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_networkfirewall"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_networkmanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.NetworkManager"
            },
            "go": {
              "packageName": "interfacesawsnetworkmanager"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.networkmanager"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_networkmanager"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_nimblestudio": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.NimbleStudio"
            },
            "go": {
              "packageName": "interfacesawsnimblestudio"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.nimblestudio"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_nimblestudio"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_notifications": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Notifications"
            },
            "go": {
              "packageName": "interfacesawsnotifications"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.notifications"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_notifications"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_notificationscontacts": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.NotificationsContacts"
            },
            "go": {
              "packageName": "interfacesawsnotificationscontacts"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.notificationscontacts"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_notificationscontacts"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_oam": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Oam"
            },
            "go": {
              "packageName": "interfacesawsoam"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.oam"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_oam"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_observabilityadmin": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ObservabilityAdmin"
            },
            "go": {
              "packageName": "interfacesawsobservabilityadmin"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.observabilityadmin"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_observabilityadmin"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_odb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ODB"
            },
            "go": {
              "packageName": "interfacesawsodb"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.odb"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_odb"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_omics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Omics"
            },
            "go": {
              "packageName": "interfacesawsomics"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.omics"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_omics"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_opensearchserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.OpenSearchServerless"
            },
            "go": {
              "packageName": "interfacesawsopensearchserverless"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.opensearchserverless"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_opensearchserverless"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_opensearchservice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.OpenSearchService"
            },
            "go": {
              "packageName": "interfacesawsopensearchservice"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.opensearchservice"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_opensearchservice"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_opsworks": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.OpsWorks"
            },
            "go": {
              "packageName": "interfacesawsopsworks"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.opsworks"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_opsworks"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_opsworkscm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.OpsWorksCM"
            },
            "go": {
              "packageName": "interfacesawsopsworkscm"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.opsworkscm"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_opsworkscm"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_organizations": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Organizations"
            },
            "go": {
              "packageName": "interfacesawsorganizations"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.organizations"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_organizations"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_osis": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.OSIS"
            },
            "go": {
              "packageName": "interfacesawsosis"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.osis"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_osis"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_panorama": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Panorama"
            },
            "go": {
              "packageName": "interfacesawspanorama"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.panorama"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_panorama"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_paymentcryptography": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.PaymentCryptography"
            },
            "go": {
              "packageName": "interfacesawspaymentcryptography"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.paymentcryptography"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_paymentcryptography"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_pcaconnectorad": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.PCAConnectorAD"
            },
            "go": {
              "packageName": "interfacesawspcaconnectorad"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.pcaconnectorad"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_pcaconnectorad"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_pcaconnectorscep": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.PCAConnectorSCEP"
            },
            "go": {
              "packageName": "interfacesawspcaconnectorscep"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.pcaconnectorscep"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_pcaconnectorscep"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_pcs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.PCS"
            },
            "go": {
              "packageName": "interfacesawspcs"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.pcs"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_pcs"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_personalize": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Personalize"
            },
            "go": {
              "packageName": "interfacesawspersonalize"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.personalize"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_personalize"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_pinpoint": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Pinpoint"
            },
            "go": {
              "packageName": "interfacesawspinpoint"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.pinpoint"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_pinpoint"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_pinpointemail": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.PinpointEmail"
            },
            "go": {
              "packageName": "interfacesawspinpointemail"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.pinpointemail"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_pinpointemail"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_pipes": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Pipes"
            },
            "go": {
              "packageName": "interfacesawspipes"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.pipes"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_pipes"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_proton": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Proton"
            },
            "go": {
              "packageName": "interfacesawsproton"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.proton"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_proton"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_qbusiness": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.QBusiness"
            },
            "go": {
              "packageName": "interfacesawsqbusiness"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.qbusiness"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_qbusiness"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_qldb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.QLDB"
            },
            "go": {
              "packageName": "interfacesawsqldb"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.qldb"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_qldb"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_quicksight": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.QuickSight"
            },
            "go": {
              "packageName": "interfacesawsquicksight"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.quicksight"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_quicksight"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ram": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RAM"
            },
            "go": {
              "packageName": "interfacesawsram"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ram"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ram"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_rbin": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Rbin"
            },
            "go": {
              "packageName": "interfacesawsrbin"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.rbin"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_rbin"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_rds": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RDS"
            },
            "go": {
              "packageName": "interfacesawsrds"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.rds"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_rds"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_redshift": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Redshift"
            },
            "go": {
              "packageName": "interfacesawsredshift"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.redshift"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_redshift"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_redshiftserverless": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RedshiftServerless"
            },
            "go": {
              "packageName": "interfacesawsredshiftserverless"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.redshiftserverless"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_redshiftserverless"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_refactorspaces": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RefactorSpaces"
            },
            "go": {
              "packageName": "interfacesawsrefactorspaces"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.refactorspaces"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_refactorspaces"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_rekognition": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Rekognition"
            },
            "go": {
              "packageName": "interfacesawsrekognition"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.rekognition"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_rekognition"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_resiliencehub": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ResilienceHub"
            },
            "go": {
              "packageName": "interfacesawsresiliencehub"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.resiliencehub"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_resiliencehub"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_resourceexplorer2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ResourceExplorer2"
            },
            "go": {
              "packageName": "interfacesawsresourceexplorer2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.resourceexplorer2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_resourceexplorer2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_resourcegroups": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ResourceGroups"
            },
            "go": {
              "packageName": "interfacesawsresourcegroups"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.resourcegroups"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_resourcegroups"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_robomaker": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RoboMaker"
            },
            "go": {
              "packageName": "interfacesawsrobomaker"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.robomaker"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_robomaker"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_rolesanywhere": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RolesAnywhere"
            },
            "go": {
              "packageName": "interfacesawsrolesanywhere"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.rolesanywhere"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_rolesanywhere"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_route53": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Route53"
            },
            "go": {
              "packageName": "interfacesawsroute53"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.route53"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_route53"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_route53profiles": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Route53Profiles"
            },
            "go": {
              "packageName": "interfacesawsroute53profiles"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.route53profiles"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_route53profiles"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_route53recoverycontrol": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Route53RecoveryControl"
            },
            "go": {
              "packageName": "interfacesawsroute53recoverycontrol"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.route53recoverycontrol"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_route53recoverycontrol"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_route53recoveryreadiness": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Route53RecoveryReadiness"
            },
            "go": {
              "packageName": "interfacesawsroute53recoveryreadiness"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.route53recoveryreadiness"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_route53recoveryreadiness"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_route53resolver": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Route53Resolver"
            },
            "go": {
              "packageName": "interfacesawsroute53resolver"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.route53resolver"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_route53resolver"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_rtbfabric": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RTBFabric"
            },
            "go": {
              "packageName": "interfacesawsrtbfabric"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.rtbfabric"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_rtbfabric"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_rum": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.RUM"
            },
            "go": {
              "packageName": "interfacesawsrum"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.rum"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_rum"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_s3": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.S3"
            },
            "go": {
              "packageName": "interfacesawss3"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.s3"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_s3"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_s3express": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.S3Express"
            },
            "go": {
              "packageName": "interfacesawss3express"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.s3express"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_s3express"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_s3objectlambda": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.S3ObjectLambda"
            },
            "go": {
              "packageName": "interfacesawss3objectlambda"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.s3objectlambda"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_s3objectlambda"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_s3outposts": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.S3Outposts"
            },
            "go": {
              "packageName": "interfacesawss3outposts"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.s3outposts"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_s3outposts"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_s3tables": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.S3Tables"
            },
            "go": {
              "packageName": "interfacesawss3tables"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.s3tables"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_s3tables"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_s3vectors": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.S3Vectors"
            },
            "go": {
              "packageName": "interfacesawss3vectors"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.s3vectors"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_s3vectors"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_sagemaker": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Sagemaker"
            },
            "go": {
              "packageName": "interfacesawssagemaker"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.sagemaker"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_sagemaker"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_sam": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SAM"
            },
            "go": {
              "packageName": "interfacesawssam"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.sam"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_sam"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_scheduler": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Scheduler"
            },
            "go": {
              "packageName": "interfacesawsscheduler"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.scheduler"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_scheduler"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_sdb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SDB"
            },
            "go": {
              "packageName": "interfacesawssdb"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.sdb"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_sdb"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_secretsmanager": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SecretsManager"
            },
            "go": {
              "packageName": "interfacesawssecretsmanager"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.secretsmanager"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_secretsmanager"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_securityhub": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SecurityHub"
            },
            "go": {
              "packageName": "interfacesawssecurityhub"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.securityhub"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_securityhub"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_securitylake": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SecurityLake"
            },
            "go": {
              "packageName": "interfacesawssecuritylake"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.securitylake"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_securitylake"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_servicecatalog": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Servicecatalog"
            },
            "go": {
              "packageName": "interfacesawsservicecatalog"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.servicecatalog"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_servicecatalog"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_servicecatalogappregistry": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Servicecatalogappregistry"
            },
            "go": {
              "packageName": "interfacesawsservicecatalogappregistry"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.servicecatalogappregistry"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_servicecatalogappregistry"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_servicediscovery": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.ServiceDiscovery"
            },
            "go": {
              "packageName": "interfacesawsservicediscovery"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.servicediscovery"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_servicediscovery"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ses": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SES"
            },
            "go": {
              "packageName": "interfacesawsses"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ses"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ses"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_shield": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Shield"
            },
            "go": {
              "packageName": "interfacesawsshield"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.shield"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_shield"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_signer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Signer"
            },
            "go": {
              "packageName": "interfacesawssigner"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.signer"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_signer"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_simspaceweaver": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SimSpaceWeaver"
            },
            "go": {
              "packageName": "interfacesawssimspaceweaver"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.simspaceweaver"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_simspaceweaver"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_smsvoice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SMSVOICE"
            },
            "go": {
              "packageName": "interfacesawssmsvoice"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.smsvoice"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_smsvoice"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_sns": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SNS"
            },
            "go": {
              "packageName": "interfacesawssns"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.sns"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_sns"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_sqs": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SQS"
            },
            "go": {
              "packageName": "interfacesawssqs"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.sqs"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_sqs"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ssm": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SSM"
            },
            "go": {
              "packageName": "interfacesawsssm"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ssm"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ssm"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ssmcontacts": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SSMContacts"
            },
            "go": {
              "packageName": "interfacesawsssmcontacts"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ssmcontacts"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ssmcontacts"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ssmguiconnect": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SSMGuiConnect"
            },
            "go": {
              "packageName": "interfacesawsssmguiconnect"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ssmguiconnect"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ssmguiconnect"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ssmincidents": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SSMIncidents"
            },
            "go": {
              "packageName": "interfacesawsssmincidents"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ssmincidents"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ssmincidents"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_ssmquicksetup": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SSMQuickSetup"
            },
            "go": {
              "packageName": "interfacesawsssmquicksetup"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.ssmquicksetup"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_ssmquicksetup"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_sso": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SSO"
            },
            "go": {
              "packageName": "interfacesawssso"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.sso"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_sso"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_stepfunctions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.StepFunctions"
            },
            "go": {
              "packageName": "interfacesawsstepfunctions"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.stepfunctions"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_stepfunctions"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_supportapp": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SupportApp"
            },
            "go": {
              "packageName": "interfacesawssupportapp"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.supportapp"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_supportapp"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_synthetics": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Synthetics"
            },
            "go": {
              "packageName": "interfacesawssynthetics"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.synthetics"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_synthetics"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_systemsmanagersap": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.SystemsManagerSAP"
            },
            "go": {
              "packageName": "interfacesawssystemsmanagersap"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.systemsmanagersap"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_systemsmanagersap"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_timestream": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Timestream"
            },
            "go": {
              "packageName": "interfacesawstimestream"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.timestream"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_timestream"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_transfer": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Transfer"
            },
            "go": {
              "packageName": "interfacesawstransfer"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.transfer"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_transfer"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_verifiedpermissions": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.VerifiedPermissions"
            },
            "go": {
              "packageName": "interfacesawsverifiedpermissions"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.verifiedpermissions"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_verifiedpermissions"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_voiceid": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.VoiceID"
            },
            "go": {
              "packageName": "interfacesawsvoiceid"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.voiceid"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_voiceid"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_vpclattice": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.VpcLattice"
            },
            "go": {
              "packageName": "interfacesawsvpclattice"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.vpclattice"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_vpclattice"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_waf": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.WAF"
            },
            "go": {
              "packageName": "interfacesawswaf"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.waf"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_waf"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_wafregional": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.WAFRegional"
            },
            "go": {
              "packageName": "interfacesawswafregional"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.regional"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_wafregional"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_wafv2": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.WAFv2"
            },
            "go": {
              "packageName": "interfacesawswafv2"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.wafv2"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_wafv2"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_wisdom": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.Wisdom"
            },
            "go": {
              "packageName": "interfacesawswisdom"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.wisdom"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_wisdom"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_workspaces": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.WorkSpaces"
            },
            "go": {
              "packageName": "interfacesawsworkspaces"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.workspaces"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_workspaces"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_workspacesinstances": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.WorkspacesInstances"
            },
            "go": {
              "packageName": "interfacesawsworkspacesinstances"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.workspacesinstances"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_workspacesinstances"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_workspacesthinclient": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.WorkSpacesThinClient"
            },
            "go": {
              "packageName": "interfacesawsworkspacesthinclient"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.workspacesthinclient"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_workspacesthinclient"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_workspacesweb": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.WorkSpacesWeb"
            },
            "go": {
              "packageName": "interfacesawsworkspacesweb"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.workspacesweb"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_workspacesweb"
            }
          }
        },
        "aws-cdk-lib.interfaces.aws_xray": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Interfaces.XRay"
            },
            "go": {
              "packageName": "interfacesawsxray"
            },
            "java": {
              "package": "software.amazon.awscdk.interfaces.xray"
            },
            "python": {
              "module": "aws_cdk.interfaces.aws_xray"
            }
          }
        },
        "aws-cdk-lib.lambda_layer_awscli": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.LambdaLayer.AwsCli"
            },
            "java": {
              "package": "software.amazon.awscdk.lambdalayer.awscli"
            },
            "python": {
              "module": "aws_cdk.lambda_layer_awscli"
            }
          }
        },
        "aws-cdk-lib.lambda_layer_node_proxy_agent": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.LambdaLayer.NodeProxyAgent"
            },
            "java": {
              "package": "software.amazon.awscdk.lambda.layer.node.proxy.agent"
            },
            "python": {
              "module": "aws_cdk.lambda_layer_node_proxy_agent"
            }
          }
        },
        "aws-cdk-lib.pipelines": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Pipelines"
            },
            "java": {
              "package": "software.amazon.awscdk.pipelines"
            },
            "python": {
              "module": "aws_cdk.pipelines"
            }
          }
        },
        "aws-cdk-lib.region_info": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.RegionInfo"
            },
            "java": {
              "package": "software.amazon.awscdk.regioninfo"
            },
            "python": {
              "module": "aws_cdk.region_info"
            }
          }
        },
        "aws-cdk-lib.triggers": {
          "targets": {
            "dotnet": {
              "namespace": "Amazon.CDK.Triggers"
            },
            "java": {
              "package": "software.amazon.awscdk.triggers"
            },
            "python": {
              "module": "aws_cdk.triggers"
            }
          }
        }
      },
      "targets": {
        "dotnet": {
          "iconUrl": "https://raw.githubusercontent.com/aws/aws-cdk/main/logo/default-256-dark.png",
          "namespace": "Amazon.CDK",
          "packageId": "Amazon.CDK.Lib"
        },
        "go": {
          "moduleName": "github.com/aws/aws-cdk-go",
          "packageName": "awscdk"
        },
        "java": {
          "maven": {
            "artifactId": "aws-cdk-lib",
            "groupId": "software.amazon.awscdk"
          },
          "package": "software.amazon.awscdk"
        },
        "js": {
          "npm": "aws-cdk-lib"
        },
        "python": {
          "distName": "aws-cdk-lib",
          "module": "aws_cdk"
        }
      }
    },
    "constructs": {
      "targets": {
        "dotnet": {
          "namespace": "Constructs",
          "packageId": "Constructs"
        },
        "go": {
          "moduleName": "github.com/aws/constructs-go"
        },
        "java": {
          "maven": {
            "artifactId": "constructs",
            "groupId": "software.constructs"
          },
          "package": "software.constructs"
        },
        "js": {
          "npm": "constructs"
        },
        "python": {
          "distName": "constructs",
          "module": "constructs"
        }
      }
    }
  },
  "description": "CDK construct to create GitHub Actions self-hosted runners. Creates ephemeral runners on demand. Easy to deploy and highly customizable.",
  "docs": {
    "stability": "experimental"
  },
  "homepage": "https://github.com/CloudSnorkel/cdk-github-runners.git",
  "jsiiVersion": "5.9.33 (build 8ebb533)",
  "keywords": [
    "aws",
    "aws-cdk",
    "aws-cdk-construct",
    "cdk",
    "codebuild",
    "fargate",
    "github",
    "github-actions",
    "lambda",
    "self-hosted"
  ],
  "license": "Apache-2.0",
  "metadata": {
    "jsii": {
      "pacmak": {
        "hasDefaultInterfaces": true
      }
    },
    "tscRootDir": "src"
  },
  "name": "@cloudsnorkel/cdk-github-runners",
  "readme": {
    "markdown": "# GitHub Self-Hosted Runners CDK Constructs\n\n[![NPM](https://img.shields.io/npm/v/@cloudsnorkel/cdk-github-runners?label=npm&logo=npm)][7]\n[![PyPI](https://img.shields.io/pypi/v/cloudsnorkel.cdk-github-runners?label=pypi&logo=pypi)][6]\n[![Maven Central](https://img.shields.io/maven-central/v/com.cloudsnorkel/cdk.github.runners.svg?label=Maven%20Central&logo=apachemaven)][8]\n[![Go](https://img.shields.io/github/v/tag/CloudSnorkel/cdk-github-runners?color=red&label=go&logo=go)][11]\n[![Nuget](https://img.shields.io/nuget/v/CloudSnorkel.Cdk.Github.Runners?color=red&&logo=nuget)][12]\n[![Release](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml/badge.svg)](https://github.com/CloudSnorkel/cdk-github-runners/actions/workflows/release.yml)\n[![Discord](https://img.shields.io/badge/Discord-5865F2?logo=discord&logoColor=white)][20]\n[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](https://github.com/CloudSnorkel/cdk-github-runners/blob/main/LICENSE)\n\nUse this CDK construct to create ephemeral [self-hosted GitHub runners][1] on-demand inside your AWS account.\n\n* 🧩 Easy to configure GitHub integration with a web-based interface\n* 🧠 Customizable runners with decent defaults\n* 🏃🏻 Multiple runner configurations controlled by labels\n* 🔐 Everything fully hosted in your account\n* 🔃 Automatically updated build environment with latest runner version\n\nSelf-hosted runners in AWS are useful when:\n\n* You need easy access to internal resources in your actions\n* You want to pre-install some software for your actions\n* You want to provide some basic AWS API access (but [aws-actions/configure-aws-credentials][2] has more security controls)\n* You are using GitHub Enterprise Server\n\nEphemeral (or on-demand) runners are the [recommended way by GitHub][14] for auto-scaling, and they make sure all jobs run with a clean image. Runners are started on-demand. You don't pay unless a job is running.\n\n## Table of Contents\n\n- [API](#api)\n- [Providers](#providers)\n- [Installation](#installation)\n- [Customizing](#customizing)\n  - [Composite Providers](#composite-providers)\n  - [Custom Provider Selection](#custom-provider-selection)\n  - [Warm Runners](#warm-runners)\n- [Examples](#examples)\n- [Architecture](#architecture)\n- [Troubleshooting](#troubleshooting)\n- [Monitoring](#monitoring)\n- [Getting Help](#getting-help)\n- [Contributing](#contributing)\n- [Sponsors](#sponsors)\n- [Other Options](#other-options)\n\n## API\n\nThe best way to browse API documentation is on [Constructs Hub][13]. It is available in all supported programming languages.\n\n## Providers\n\nA runner provider creates compute resources on-demand and uses [actions/runner][5] to start a runner.\n\n|                  | EC2               | CodeBuild                  | Fargate        | ECS            | Lambda        |\n|------------------|-------------------|----------------------------|----------------|----------------|---------------|\n| **Time limit**   | Unlimited         | 36 hours (default 1 hour)  | Unlimited      | Unlimited      | 15 minutes    |\n| **vCPUs**        | Unlimited         | 2, 4, 8, or 72             | 0.25 to 4      | Unlimited      | 1 to 6        |\n| **RAM**          | Unlimited         | 3gb, 7gb, 15gb, or 145gb   | 512mb to 30gb  | Unlimited      | 128mb to 10gb |\n| **Storage**      | Unlimited         | 50gb to 824gb              | 20gb to 200gb  | Unlimited      | Up to 10gb    |\n| **Architecture** | x86_64, ARM64     | x86_64, ARM64              | x86_64, ARM64  | x86_64, ARM64  | x86_64, ARM64 |\n| **sudo**         | ✔                 | ✔                         | ✔              | ✔              | ❌           |\n| **Docker**       | ✔                 | ✔ (Linux only)            | ❌              | ✔              | ❌           |\n| **Spot pricing** | ✔                 | ❌                         | ✔              | ✔              | ❌           |\n| **OS**           | Linux, Windows    | Linux, Windows             | Linux, Windows | Linux, Windows | Linux         |\n\nThe best provider to use mostly depends on your current infrastructure. When in doubt, CodeBuild is always a good choice. Execution history and logs are easy to view, and it has no restrictive limits unless you need to run for more than 8 hours.\n\n* EC2 is useful when you want runners to have complete access to the host\n* ECS is useful when you want to control the infrastructure, like leaving the runner host running for faster startups\n* Lambda is useful for short jobs that can work within time, size and readonly system constraints\n\nYou can also create your own provider by implementing `IRunnerProvider`.\n\n## Installation\n\n1. Install and use the appropriate package\n   <details><summary>Python</summary>\n\n   ### Install\n   Available on [PyPI][6].\n   ```bash\n   pip install cloudsnorkel.cdk-github-runners\n   ```\n   ### Use\n   ```python\n   from aws_cdk import App, Stack\n   from cloudsnorkel.cdk_github_runners import GitHubRunners\n\n   app = App()\n   stack = Stack(app, \"github-runners\")\n   GitHubRunners(stack, \"runners\")\n\n   app.synth()\n   ```\n   </details>\n   <details><summary>TypeScript or JavaScript</summary>\n\n   ### Install\n   Available on [npm][7].\n   ```bash\n   npm i @cloudsnorkel/cdk-github-runners\n   ```\n   ### Use\n   ```typescript\n   import { App, Stack } from 'aws-cdk-lib';\n   import { GitHubRunners } from '@cloudsnorkel/cdk-github-runners';\n\n   const app = new App();\n   const stack = new Stack(app, 'github-runners');\n   new GitHubRunners(stack, 'runners');\n\n   app.synth();\n   ```\n   </details>\n   <details><summary>Java</summary>\n\n   ### Install\n   Available on [Maven][8].\n   ```xml\n   <dependency>\n      <groupId>com.cloudsnorkel</groupId>\n      <artifactId>cdk.github.runners</artifactId>\n   </dependency>\n   ```\n   ### Use\n   ```java\n   import software.amazon.awscdk.App;\n   import software.amazon.awscdk.Stack;\n   import com.cloudsnorkel.cdk.github.runners.GitHubRunners;\n\n   public class Example {\n     public static void main(String[] args){\n       App app = new App();\n       Stack stack = new Stack(app, \"github-runners\");\n       GitHubRunners.Builder.create(stack, \"runners\").build();\n\n       app.synth();\n     }\n   }\n   ```\n   </details>\n   <details><summary>Go</summary>\n\n   ### Install\n   Available on [GitHub][11].\n   ```bash\n   go get github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n   ```\n   ### Use\n   ```go\n   package main\n\n   import (\n     \"github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\"\n     \"github.com/aws/aws-cdk-go/awscdk/v2\"\n     \"github.com/aws/jsii-runtime-go\"\n   )\n\n   func main() {\n     app := awscdk.NewApp(nil)\n     stack := awscdk.NewStack(app, jsii.String(\"github-runners\"), &awscdk.StackProps{})\n     cloudsnorkelcdkgithubrunners.NewGitHubRunners(stack, jsii.String(\"runners\"), &cloudsnorkelcdkgithubrunners.GitHubRunnersProps{})\n\n     app.Synth(nil)\n   }\n   ```\n   </details>\n   <details><summary>.NET</summary>\n\n   ### Install\n   Available on [Nuget][12].\n   ```bash\n   dotnet add package CloudSnorkel.Cdk.Github.Runners\n   ```\n   ### Use\n   ```csharp\n   using Amazon.CDK;\n   using CloudSnorkel;\n\n   namespace Example\n   {\n     sealed class Program\n     {\n       public static void Main(string[] args)\n       {\n         var app = new App();\n         var stack = new Stack(app, \"github-runners\");\n         new GitHubRunners(stack, \"runners\");\n         app.Synth();\n       }\n     }\n   }\n   ```\n   </details>\n2. Use `GitHubRunners` construct in your code (starting with default arguments is fine)\n3. Deploy your stack\n4. Look for the status command output similar to `aws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json`\n   ```\n    ✅  github-runners-test\n\n   ✨  Deployment time: 260.01s\n\n   Outputs:\n   github-runners-test.runnersstatuscommand4A30F0F5 = aws --region us-east-1 lambda invoke --function-name github-runners-test-runnersstatus1A5771C0-mvttg8oPQnQS status.json\n   ```\n5. Execute the status command (you may need to specify `--profile` too) and open the resulting `status.json` file\n6. Open the URL in `github.setup.url` from `status.json` or [manually setup GitHub](SETUP_GITHUB.md) integration as an app or with personal access token\n7. Run status command again to confirm `github.auth.status` and `github.webhook.status` are OK\n8. Trigger a GitHub action that has a `self-hosted` label with `runs-on: [self-hosted, codebuild]` (or non-default labels you set in step 2)\n9. If the action is not successful, see [troubleshooting](#Troubleshooting)\n\n[![Demo](demo-thumbnail.jpg)](https://youtu.be/wlyv_3V8lIw)\n\n## Customizing\n\nThe default providers configured by `GitHubRunners` are useful for testing but probably not too much for actual production work. They run in the default VPC or no VPC and have no added IAM permissions. You would usually want to configure the providers yourself.\n\nFor example:\n\n```typescript\nlet vpc: ec2.Vpc;\nlet runnerSg: ec2.SecurityGroup;\nlet dbSg: ec2.SecurityGroup;\nlet bucket: s3.Bucket;\n\n// create a custom CodeBuild provider\nconst myProvider = new CodeBuildRunnerProvider(this, 'codebuild runner', {\n   labels: ['my-codebuild'],\n   vpc: vpc,\n   securityGroups: [runnerSg],\n});\n// grant some permissions to the provider\nbucket.grantReadWrite(myProvider);\ndbSg.connections.allowFrom(runnerSg, ec2.Port.tcp(3306), 'allow runners to connect to MySQL database');\n\n// create the runner infrastructure\nnew GitHubRunners(this, 'runners', {\n   providers: [myProvider],\n});\n```\n\nAnother way to customize runners is by modifying the image used to spin them up. The image contains the [runner][5], any required dependencies, and integration code with the provider. You may choose to customize this image by adding more packages, for example.\n\n```typescript\nconst myBuilder = FargateRunnerProvider.imageBuilder(this, 'image builder');\nmyBuilder.addComponent(\n  RunnerImageComponent.custom({ commands: ['apt install -y nginx xz-utils'] }),\n);\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n   labels: ['customized-fargate'],\n   imageBuilder: myBuilder,\n});\n\n// create the runner infrastructure\nnew GitHubRunners(this, 'runners', {\n   providers: [myProvider],\n});\n```\n\nYour workflow will then look like:\n\n```yaml\nname: self-hosted example\non: push\njobs:\n  self-hosted:\n    runs-on: [self-hosted, customized-fargate]\n    steps:\n      - run: echo hello world\n```\n\nWindows images can also be customized the same way.\n\n```typescript\nconst myWindowsBuilder = FargateRunnerProvider.imageBuilder(this, 'Windows image builder', {\n   architecture: Architecture.X86_64,\n   os: Os.WINDOWS,\n});\nmyWindowsBuilder.addComponent(\n   RunnerImageComponent.custom({\n     name: 'Ninja',\n     commands: [\n       'Invoke-WebRequest -UseBasicParsing -Uri \"https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip\" -OutFile ninja.zip',\n       'Expand-Archive ninja.zip -DestinationPath C:\\\\actions',\n       'del ninja.zip',\n     ],\n   }),\n);\n\nconst myProvider = new FargateRunnerProvider(this, 'fargate runner', {\n   labels: ['customized-windows-fargate'],\n   imageBuilder: myWindowsBuilder,\n});\n\nnew GitHubRunners(this, 'runners', {\n   providers: [myProvider],\n});\n```\n\nThe runner OS and architecture is determined by the image it is set to use. For example, to create a Fargate runner provider for ARM64 set the `architecture` property for the image builder to `Architecture.ARM64` in the image builder properties.\n\n```typescript\nnew GitHubRunners(this, 'runners', {\n   providers: [\n      new FargateRunnerProvider(this, 'fargate runner', {\n         labels: ['arm64', 'fargate'],\n         imageBuilder: FargateRunnerProvider.imageBuilder(this, 'image builder', {\n            architecture: Architecture.ARM64,\n            os: Os.LINUX_UBUNTU,\n         }),\n      }),\n   ],\n});\n```\n\n### Composite Providers\n\nComposite providers allow you to combine multiple runner providers with different strategies. There are two types:\n\n**Fallback Strategy**: Try providers in order until one succeeds. Useful for trying spot instances first, then falling back to on-demand if spot capacity is unavailable.\n\n```typescript\n// Try spot instances first, fall back to on-demand if spot is unavailable\nconst ecsFallback = CompositeProvider.fallback(this, 'ECS Fallback', [\n  new EcsRunnerProvider(this, 'ECS Spot', {\n    labels: ['ecs', 'linux', 'x64'],\n    spot: true,\n    // ... other config\n  }),\n  new EcsRunnerProvider(this, 'ECS On-Demand', {\n    labels: ['ecs', 'linux', 'x64'],\n    spot: false,\n    // ... other config\n  }),\n]);\n\nnew GitHubRunners(this, 'runners', {\n  providers: [ecsFallback],\n});\n```\n\n**Weighted Distribution Strategy**: Randomly select a provider based on weights. Useful for distributing load across multiple availability zones or instance types.\n\n```typescript\n// Distribute 60% of traffic to AZ-1, 40% to AZ-2\nconst distributedProvider = CompositeProvider.distribute(this, 'Fargate Distribution', [\n  {\n    weight: 3, // 3/(3+2) = 60%\n    provider: new FargateRunnerProvider(this, 'Fargate AZ-1', {\n      labels: ['fargate', 'linux', 'x64'],\n      subnetSelection: vpc.selectSubnets({\n        availabilityZones: [vpc.availabilityZones[0]],\n      }),\n      // ... other config\n    }),\n  },\n  {\n    weight: 2, // 2/(3+2) = 40%\n    provider: new FargateRunnerProvider(this, 'Fargate AZ-2', {\n      labels: ['fargate', 'linux', 'x64'],\n      subnetSelection: vpc.selectSubnets({\n        availabilityZones: [vpc.availabilityZones[1]],\n      }),\n      // ... other config\n    }),\n  },\n]);\n\nnew GitHubRunners(this, 'runners', {\n  providers: [distributedProvider],\n});\n```\n\n**Important**: All providers in a composite must have the exact same labels. This ensures any provisioned runner can match the labels requested by the GitHub workflow job.\n\n### Custom Provider Selection\n\nBy default, providers are selected based on label matching: the first provider that has all the labels requested by the job is selected. You can customize this behavior using a provider selector Lambda function to:\n\n* Filter out certain jobs (prevent runner provisioning)\n* Dynamically select a provider based on job characteristics (repository, branch, time of day, etc.)\n* Customize labels for the runner (add, remove, or modify labels dynamically)\n\nThe selector function receives the full GitHub webhook payload, a map of all available providers and their labels, and the default provider/labels that would have been selected. It returns the provider to use (or `undefined` to skip runner creation) and the labels to assign to the runner.\n\n**Example: Route jobs to different providers based on repository**\n\n```typescript\nimport { ComputeType } from 'aws-cdk-lib/aws-codebuild';\nimport { Function, Code, Runtime } from 'aws-cdk-lib/aws-lambda';\nimport { GitHubRunners, CodeBuildRunnerProvider } from '@cloudsnorkel/cdk-github-runners';\n\nconst defaultProvider = new CodeBuildRunnerProvider(this, 'default', {\n  labels: ['custom-runner', 'default'],\n});\nconst productionProvider = new CodeBuildRunnerProvider(this, 'production', {\n  labels: ['custom-runner', 'production'],\n  computeType: ComputeType.LARGE,\n});\n\nconst providerSelector = new Function(this, 'provider-selector', {\n  runtime: Runtime.NODEJS_LATEST,\n  handler: 'index.handler',\n  code: Code.fromInline(`\n    exports.handler = async (event) => {\n      const { payload, providers, defaultProvider, defaultLabels } = event;\n\n      // Route production repos to dedicated provider\n      if (payload.repository.name.includes('prod')) {\n        return {\n          provider: '${productionProvider.node.path}',\n          labels: ['custom-runner', 'production', 'modified-via-selector'],\n        };\n      }\n\n      // Filter out draft PRs\n      if (payload.workflow_job.head_branch?.startsWith('draft/')) {\n        return { provider: undefined }; // Skip runner provisioning\n      }\n\n      // Use default for everything else\n      return {\n        provider: defaultProvider,\n        labels: defaultLabels,\n      };\n    };\n  `),\n});\n\nnew GitHubRunners(this, 'runners', {\n   providers: [defaultProvider, productionProvider],\n   providerSelector: providerSelector,\n});\n```\n\n**Example: Add dynamic labels based on job metadata**\n\n```typescript\nconst providerSelector = new Function(this, 'provider-selector', {\n  runtime: Runtime.NODEJS_LATEST,\n  handler: 'index.handler',\n  code: Code.fromInline(`\n    exports.handler = async (event) => {\n      const { payload, defaultProvider, defaultLabels } = event;\n\n      // Add branch name as a label\n      const branch = payload.workflow_job.head_branch || 'unknown';\n      const labels = [...(defaultLabels || []), 'branch:' + branch];\n\n      return {\n        provider: defaultProvider,\n        labels: labels,\n      };\n    };\n  `),\n});\n```\n\n**Important considerations:**\n\n* ⚠️ **Label matching responsibility**: You are responsible for ensuring the selected provider's labels match what the job requires. If labels don't match, the runner will be provisioned but GitHub Actions won't assign the job to it.\n* ⚠️ **No guarantee of assignment**: Provider selection only determines which provider will provision a runner. GitHub Actions may still route the job to any available runner with matching labels. For reliable provider assignment, consider repo-level runner registration (the default).\n* ⚡ **Performance**: The selector runs synchronously during webhook processing. Keep it fast and efficient—the webhook has a 30-second timeout total.\n\n### Warm Runners\n\nWarm runners are pre-provisioned and stay idle until a job arrives, reducing startup latency. Use `AlwaysOnWarmRunner` for 24/7 pools or `ScheduledWarmRunner` for time-windowed pools. You specify the provider directly.\n\n```typescript\nimport { AlwaysOnWarmRunner, CodeBuildRunnerProvider, GitHubRunners } from '@cloudsnorkel/cdk-github-runners';\n\nconst provider = new CodeBuildRunnerProvider(this, 'provider', { labels: ['codebuild', 'linux'] });\nconst runners = new GitHubRunners(this, 'runners', { providers: [provider] });\n\nnew AlwaysOnWarmRunner(this, 'warm', {\n  runners,\n  provider,\n  count: 2,\n  owner: 'my-org',\n  repo: 'my-repo',\n});\n```\n\nWarm runner pools can be stacked. If you want 2 warm runners always available but 3 during peak work hours, you can create one pool with 2 runners always on and another pool with 1 runner during work hours.\n\n```typescript\nimport { aws_events as events, Duration } from 'aws-cdk-lib';\nimport { AlwaysOnWarmRunner, ScheduledWarmRunner, CodeBuildRunnerProvider, GitHubRunners } from '@cloudsnorkel/cdk-github-runners';\n\nconst provider = new CodeBuildRunnerProvider(this, 'provider', { labels: ['codebuild', 'linux'] });\nconst runners = new GitHubRunners(this, 'runners', { providers: [provider] });\n\nnew AlwaysOnWarmRunner(this, 'warm', {\n  runners,\n  provider,\n  count: 2,\n  owner: 'my-org',\n  repo: 'my-repo',\n});\n\nnew ScheduledWarmRunner(this, 'work hours warm', {\n  runners,\n  provider,\n  count: 1,\n  owner: 'my-org',\n  repo: 'my-repo',\n  schedule: events.Schedule.cron({ hour: '13', minute: '0', weekDay: 'MON-FRI' }),\n  duration: Duration.hours(2),\n});\n```\n\nSee the [warm-runners example](examples/typescript/warm-runners/) for a complete setup.\n\n## Examples\n\nWe provide comprehensive examples in the [`examples/`](examples/) folder to help you get started quickly:\n\n### Getting Started\n- **[Simple CodeBuild](examples/typescript/simple-codebuild/)** - Basic setup with just a CodeBuild provider (also available in [Python](examples/python/simple-codebuild/))\n- **[Warm Runners](examples/typescript/warm-runners/)** - Pre-provisioned runners for low-latency job starts (also available in [Python](examples/python/warm-runners/))\n\n### Provider Configuration\n- **[Composite Provider](examples/typescript/composite-provider/)** - Fallback and weighted distribution strategies (also available in [Python](examples/python/composite-provider/))\n- **[Provider Selector](examples/typescript/provider-selector/)** - Custom provider selection with Lambda function (also available in [Python](examples/python/provider-selector/))\n- **[EC2 Windows Provider](examples/typescript/ec2-windows-provider/)** - EC2 configuration for Windows runners (also available in [Python](examples/python/ec2-windows-provider/))\n- **[Split Stacks](examples/typescript/split-stacks/)** - Split image builders and providers across multiple stacks (also available in [Python](examples/python/split-stacks/))\n\n### Compute & Performance\n- **[Compute Options](examples/typescript/compute-options/)** - Configure CPU, memory, and instance types for different providers (also available in [Python](examples/python/compute-options/))\n- **[Spot Instances](examples/typescript/spot-instances/)** - Use spot instances for cost savings across EC2, Fargate, and ECS (also available in [Python](examples/python/spot-instances/))\n- **[Storage Options](examples/typescript/storage-options/)** - Custom EBS storage options for EC2 runners (also available in [Python](examples/python/storage-options/))\n- **[ECS Scaling](examples/typescript/ecs-scaling/)** - Custom autoscaling group scaling policies for ECS providers (also available in [Python](examples/python/ecs-scaling/))\n\n### Security & Access\n- **[IAM Permissions](examples/typescript/iam-permissions/)** - Grant AWS IAM permissions to runners (also available in [Python](examples/python/iam-permissions/))\n- **[Network Access](examples/typescript/network-access/)** - Configure network access with VPCs and security groups (also available in [Python](examples/python/network-access/))\n- **[Access Control](examples/typescript/access-control/)** - Configure access control for webhook and setup functions (also available in [Python](examples/python/access-control/))\n\n### Customization\n- **[Add Software](examples/typescript/add-software/)** - Add custom software to runner images (also available in [Python](examples/python/add-software/))\n- **[GPU](examples/typescript/gpu/)** - GPU support with NVIDIA drivers across EC2, CodeBuild, and ECS (also available in [Python](examples/python/gpu/))\n\n### Enterprise & Monitoring\n- **[GHES](examples/typescript/ghes/)** - Configure runners for GitHub Enterprise Server (also available in [Python](examples/python/ghes/))\n- **[Monitoring](examples/typescript/monitoring/)** - Set up CloudWatch alarms and SNS notifications (also available in [Python](examples/python/monitoring/))\n\nEach example is self-contained with its own dependencies and README. Start with the simple examples and work your way up to more advanced configurations.\n\nAnother good and very full example is the [integration test](test/default.integ.ts).\n\nIf you have more to share, please open a PR adding examples to the `examples` folder.\n\n## Architecture\n\n![Architecture diagram](architecture.svg)\n\n## Troubleshooting\n\nRunners are started in response to a webhook coming in from GitHub. If there are any issues starting the runner like missing capacity or transient API issues, the provider will keep retrying for 24 hours. Configuration issue related errors like pointing to a missing AMI will not be retried. GitHub itself will cancel the job if it can't find a runner for 24 hours. If your jobs don't start, follow the steps below to examine all parts of this workflow.\n\n1. Always start with the status function, make sure no errors are reported, and confirm all status codes are OK\n2. Make sure `runs-on` in the workflow matches the expected labels set in the runner provider\n3. Diagnose relevant executions of the orchestrator step function by visiting the URL in `troubleshooting.stepFunctionUrl` from `status.json`\n   1. If the execution failed, check your runner provider configuration for errors\n   2. If the execution is still running for a long time, check the execution events to see why runner starting is being retried\n   3. If there are no relevant executions, move to the next step\n4. Confirm the webhook Lambda was called by visiting the URL in `troubleshooting.webhookHandlerUrl` from `status.json`\n   1. If it's not called or logs errors, confirm the webhook settings on the GitHub side\n   2. If you see too many errors, make sure you're only sending `workflow_job` events\n5. When using GitHub app, make sure there are active installations in `github.auth.app.installations`\n\nAll logs are saved in CloudWatch.\n* Log group names can be found in `status.json` for each provider, image builder, and other parts of the system\n* Some useful Logs Insights queries can be enabled with `GitHubRunners.createLogsInsightsQueries()`\n\nTo get `status.json`, check out the CloudFormation stack output for a command that generates it. The command looks like:\n\n```\naws --region us-east-1 lambda invoke --function-name status-XYZ123 status.json\n```\n\n## Monitoring\n\nThere are two important ways to monitor your runners:\n\n1. Make sure runners don't fail to start. When that happens, jobs may sit and wait. Use `GitHubRunners.metricFailed()` to get a metric for the number of failed runner starts. You should use this metric to trigger an alarm.\n2. Make sure runner images don't fail to build. Failed runner image builds mean you will get stuck with out-of-date software on your runners. It may lead to security vulnerabilities, or it may lead to slower runner start-ups as the runner software itself needs to be updated. Use `GitHubRunners.failedImageBuildsTopic()` to get SNS topic that gets notified of failed runner image builds. You should subscribe to this topic.\n\nOther useful metrics to track:\n\n1. Use `GitHubRunners.metricJobCompleted()` to get a metric for the number of completed jobs broken down by labels and job success.\n2. Use `GitHubRunners.metricTime()` to get a metric for the total time a runner is running. This includes the overhead of starting the runner.\n\n## Getting Help\n\nNeed help? We're here for you!\n\n* 💬 **GitHub Discussions**: Ask questions, share ideas, or get help from the community by opening a [discussion][18]\n* 🐛 **GitHub Issues**: Report bugs or request features by opening an [issue][16]\n* 💬 **Discord**: Join our [Discord community][20] for real-time help and discussions\n\n## Contributing\n\nIf you use and love this project, please consider contributing.\n\n1. 🪳 If you see something, say something. [Issues][16] help improve the quality of the project.\n   * Include relevant logs and package versions for bugs.\n   * When possible, describe the use-case behind feature requests.\n1. 🛠️ [Pull requests][17] are welcome.\n   * Run `npm run build` before submitting to make sure all tests pass.\n   * Allow edits from maintainers so small adjustments can be made easily.\n1. 💵 Consider [sponsoring][15] the project to show your support and optionally get your name listed below.\n\n## Sponsors\n\nThanks to our generous sponsors who helped make this project possible!\n\n<table>\n  <tr>\n    <td align=\"center\">\n      <a href=\"https://github.com/threat-down\">\n        <img src=\"https://github.com/threat-down.png?size=100\" width=\"100\" height=\"100\" alt=\"ThreatDown\" />\n        <br />\n        <sub><b>ThreatDown</b></sub>\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://github.com/magicbell\">\n        <img src=\"https://github.com/magicbell.png?size=100\" width=\"100\" height=\"100\" alt=\"MagicBell\" />\n        <br />\n        <sub><b>MagicBell</b></sub>\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://github.com/fragment-dev\">\n        <img src=\"https://github.com/fragment-dev.png?size=100\" width=\"100\" height=\"100\" alt=\"Fragment\" />\n        <br />\n        <sub><b>Fragment</b></sub>\n      </a>\n    </td>\n    <td align=\"center\">\n      <a href=\"https://github.com/andresionek91\">\n        <img src=\"https://github.com/andresionek91.png?size=100\" width=\"100\" height=\"100\" alt=\"Andre Sionek\" />\n        <br />\n        <sub><b>Andre Sionek</b></sub>\n      </a>\n    </td>\n  </tr>\n</table>\n\n## Other Options\n\n1. [github-aws-runners/terraform-aws-github-runner][3] if you're using Terraform\n2. [actions/actions-runner-controller][4] if you're using Kubernetes\n\n\n[1]: https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners\n[2]: https://github.com/marketplace/actions/configure-aws-credentials-action-for-github-actions\n[3]: https://github.com/github-aws-runners/terraform-aws-github-runner\n[4]: https://github.com/actions/actions-runner-controller\n[5]: https://github.com/actions/runner\n[6]: https://pypi.org/project/cloudsnorkel.cdk-github-runners\n[7]: https://www.npmjs.com/package/@cloudsnorkel/cdk-github-runners\n[8]: https://central.sonatype.com/artifact/com.cloudsnorkel/cdk.github.runners/\n[9]: https://docs.github.com/en/developers/apps/getting-started-with-apps/about-apps\n[10]: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token\n[11]: https://pkg.go.dev/github.com/CloudSnorkel/cdk-github-runners-go/cloudsnorkelcdkgithubrunners\n[12]: https://www.nuget.org/packages/CloudSnorkel.Cdk.Github.Runners/\n[13]: https://constructs.dev/packages/@cloudsnorkel/cdk-github-runners/\n[14]: https://docs.github.com/en/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners#using-ephemeral-runners-for-autoscaling\n[15]: https://github.com/sponsors/CloudSnorkel\n[16]: https://github.com/CloudSnorkel/cdk-github-runners/issues\n[17]: https://github.com/CloudSnorkel/cdk-github-runners/pulls\n[18]: https://github.com/CloudSnorkel/cdk-github-runners/discussions\n[20]: https://discord.gg/vdrTUTqQKv\n"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/CloudSnorkel/cdk-github-runners.git"
  },
  "schema": "jsii/0.10.0",
  "targets": {
    "dotnet": {
      "namespace": "CloudSnorkel",
      "packageId": "CloudSnorkel.Cdk.Github.Runners"
    },
    "go": {
      "moduleName": "github.com/CloudSnorkel/cdk-github-runners-go"
    },
    "java": {
      "maven": {
        "artifactId": "cdk.github.runners",
        "groupId": "com.cloudsnorkel"
      },
      "package": "com.cloudsnorkel.cdk.github.runners"
    },
    "js": {
      "npm": "@cloudsnorkel/cdk-github-runners"
    },
    "python": {
      "distName": "cloudsnorkel.cdk-github-runners",
      "module": "cloudsnorkel.cdk_github_runners"
    }
  },
  "types": {
    "@cloudsnorkel/cdk-github-runners.AlwaysOnWarmRunner": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "Runners will be provisioned using the specified provider and registered in the specified repository or organization.\n\nRegistration level must match the one selected during setup.",
        "see": "https://github.com/CloudSnorkel/cdk-github-runners/blob/main/SETUP_GITHUB.md\n\n## Limitations\n\n- Jobs will still trigger provisioning of on-demand runners, even if a warm runner ends up being used.\n- You may briefly see more than `count` runners when changing config or at rotation.\n- To remove: set `count` to 0, deploy, wait for warm runners to stop, then remove and deploy again.\nIf you don't follow this procedure, warm runners may linger until they expire.\n- Provider failures or timeouts (like Lambda provider timing out after 15 minutes) will result in a\ngap in coverage until the retry succeeds. Current retry mechanism has built-in back-off rate and\ncan be tweaked using `retryOptions`. This will be improved in the future.\n\n```typescript\nnew AlwaysOnWarmRunner(stack, 'AlwaysOnLinux', {\nrunners,\nprovider: myProvider,\ncount: 3,\nowner: 'my-org',\nrepo: 'my-repo',\n});\n```",
        "stability": "experimental",
        "summary": "Warm runners that run 24/7. Fills at midnight UTC and each runner stays alive for 24 hours."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.AlwaysOnWarmRunner",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/warm-runner.ts",
          "line": 170
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.AlwaysOnWarmRunnerProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/warm-runner.ts",
        "line": 163
      },
      "name": "AlwaysOnWarmRunner",
      "symbolId": "src/warm-runner:AlwaysOnWarmRunner"
    },
    "@cloudsnorkel/cdk-github-runners.AlwaysOnWarmRunnerProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for always on warm runners."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.AlwaysOnWarmRunnerProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/warm-runner.ts",
        "line": 59
      },
      "name": "AlwaysOnWarmRunnerProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Number of warm runners to maintain."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 33
          },
          "name": "count",
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "GitHub owner where runners will be registered (org or user login)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 38
          },
          "name": "owner",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Warm runners bypass the provider selector — they always use\nthis provider, regardless of job characteristics. Labels cannot be modified.",
            "stability": "experimental",
            "summary": "Provider to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 28
          },
          "name": "provider",
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
                },
                {
                  "fqn": "@cloudsnorkel/cdk-github-runners.ICompositeProvider"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The GitHubRunners construct that owns the shared warm runner infrastructure."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 22
          },
          "name": "runners",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunners"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'repo'",
            "remarks": "Choose\n'org' for org-wide runners, 'repo' for repo-level. See the setup wizard for choosing repo vs org.",
            "see": "https://github.com/CloudSnorkel/cdk-github-runners/blob/main/SETUP_GITHUB.md",
            "stability": "experimental",
            "summary": "Registration level — must match how your runners are set up in GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 48
          },
          "name": "registrationLevel",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Required when `registrationLevel` is 'repo'.",
            "stability": "experimental",
            "summary": "Repository name (without owner) where runners will be registered."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 53
          },
          "name": "repo",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/warm-runner:AlwaysOnWarmRunnerProps"
    },
    "@cloudsnorkel/cdk-github-runners.AmiBuilder": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "deprecated": "use RunnerImageBuilder, e.g. with Ec2RunnerProvider.imageBuilder()",
        "remarks": "Builders can be used with {@link Ec2RunnerProvider }.\n\nEach builder re-runs automatically at a set interval to make sure the AMIs contain the latest versions of everything.\n\nYou can create an instance of this construct to customize the AMI used to spin-up runners. Some runner providers may require custom components. Check the runner provider documentation.\n\nFor example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the EC2 provider, use:\n\n```\nconst builder = new AmiBuilder(this, 'Builder', {\n    runnerVersion: RunnerVersion.specific('2.293.0'),\n    rebuildInterval: Duration.days(14),\n});\nbuilder.addComponent(new ImageBuilderComponent(scope, id, {\n  platform: 'Linux',\n  displayName: 'p7zip',\n  description: 'Install some more packages',\n  commands: [\n    'apt-get install p7zip',\n  ],\n}));\nnew Ec2RunnerProvider(this, 'EC2 provider', {\n    labels: ['custom-ec2'],\n    amiBuilder: builder,\n});\n```",
        "stability": "deprecated",
        "summary": "An AMI builder that uses AWS Image Builder to build AMIs pre-baked with all the GitHub Actions runner requirements."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.AmiBuilder",
      "initializer": {
        "docs": {
          "stability": "deprecated"
        },
        "locationInModule": {
          "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
          "line": 144
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.AmiBuilderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
        "line": 141
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Add a component to be installed."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 212
          },
          "name": "addComponent",
          "parameters": [
            {
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "This helps deal with self-signed certificates for GitHub Enterprise Server.",
            "stability": "deprecated",
            "summary": "Add extra trusted certificates."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 227
          },
          "name": "addExtraCertificates",
          "parameters": [
            {
              "docs": {
                "summary": "path to directory containing a file called certs.pem containing all the required certificates."
              },
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Called by IRunnerProvider to finalize settings and create the AMI builder."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 240
          },
          "name": "bindAmi",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi"
            }
          }
        },
        {
          "docs": {
            "remarks": "Anything that ends up with an ECR repository containing a Docker image that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing image and nothing else.\n\nIt's important that the specified image tag be available at the time the repository is available. Providers usually assume the image is ready and will fail if it's not.\n\nThe image can be further updated over time manually or using a schedule as long as it is always written to the same tag.",
            "stability": "deprecated",
            "summary": "Build and return a Docker image with GitHub Runner installed in it."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 325
          },
          "name": "bindDockerImage",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 126
          },
          "name": "createImage",
          "parameters": [
            {
              "name": "infra",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
              }
            },
            {
              "name": "dist",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration"
              }
            },
            {
              "name": "log",
              "type": {
                "fqn": "aws-cdk-lib.aws_logs.LogGroup"
              }
            },
            {
              "name": "imageRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "containerRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_imagebuilder.CfnImage"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 97
          },
          "name": "createInfrastructure",
          "parameters": [
            {
              "name": "managedPolicies",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "aws-cdk-lib.aws_iam.IManagedPolicy"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 89
          },
          "name": "createLog",
          "parameters": [
            {
              "name": "recipeName",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_logs.LogGroup"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 143
          },
          "name": "createPipeline",
          "parameters": [
            {
              "name": "infra",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
              }
            },
            {
              "name": "dist",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration"
              }
            },
            {
              "name": "log",
              "type": {
                "fqn": "aws-cdk-lib.aws_logs.LogGroup"
              }
            },
            {
              "name": "imageRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "containerRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_imagebuilder.CfnImagePipeline"
            }
          }
        },
        {
          "docs": {
            "remarks": "Useful for required system settings like certificates or proxy settings.",
            "stability": "deprecated",
            "summary": "Add a component to be installed before any other components."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 198
          },
          "name": "prependComponent",
          "parameters": [
            {
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
              }
            }
          ]
        }
      ],
      "name": "AmiBuilder",
      "properties": [
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 12
          },
          "name": "architecture",
          "protected": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 173
          },
          "name": "connections",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 16
          },
          "name": "description",
          "protected": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 13
          },
          "name": "os",
          "protected": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 14
          },
          "name": "platform",
          "protected": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 18
          },
          "name": "runnerVersion",
          "protected": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 20
          },
          "name": "components",
          "protected": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/deprecated/ami:AmiBuilder"
    },
    "@cloudsnorkel/cdk-github-runners.AmiBuilderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for {@link AmiBuilder} construct."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.AmiBuilderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
        "line": 17
      },
      "name": "AmiBuilderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "Architecture.X86_64",
            "stability": "experimental",
            "summary": "Image architecture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 23
          },
          "name": "architecture",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "stability": "experimental",
            "summary": "Install Docker inside the image, so it can be used by the runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 108
          },
          "name": "installDocker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "m6i.large",
            "stability": "experimental",
            "summary": "The instance type used to build the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 83
          },
          "name": "instanceType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "RemovalPolicy.DESTROY",
            "remarks": "If deployment fails on the custom resource, try setting this to `RemovalPolicy.RETAIN`. This way the logs can still be viewed, and you can see why the build failed.\n\nWe try to not leave anything behind when removed. But sometimes a log staying behind is useful.",
            "stability": "experimental",
            "summary": "Removal policy for logs of image builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 101
          },
          "name": "logRemovalPolicy",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.RemovalPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "logs.RetentionDays.ONE_MONTH",
            "remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
            "stability": "experimental",
            "summary": "The number of days log events are kept in CloudWatch Logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 92
          },
          "name": "logRetention",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.RetentionDays"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "OS.LINUX",
            "stability": "experimental",
            "summary": "Image OS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 30
          },
          "name": "os",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.days(7)",
            "remarks": "Useful for keeping the AMI up-do-date with the latest GitHub runner version and latest OS updates.\n\nSet to zero to disable.",
            "stability": "experimental",
            "summary": "Schedule the AMI to be rebuilt every given interval."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 46
          },
          "name": "rebuildInterval",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "latest version available",
            "stability": "experimental",
            "summary": "Version of GitHub Runners to install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 37
          },
          "name": "runnerVersion",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "new security group",
            "deprecated": "use {@link securityGroups }",
            "stability": "deprecated",
            "summary": "Security group to assign to launched builder instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 62
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "new security group",
            "stability": "experimental",
            "summary": "Security groups to assign to launched builder instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 69
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default VPC subnet",
            "remarks": "Only the first matched subnet will be used.",
            "stability": "experimental",
            "summary": "Where to place the network interfaces within the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 76
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default account VPC",
            "stability": "experimental",
            "summary": "VPC where builder instances will be launched."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/ami.ts",
            "line": 53
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/deprecated/ami:AmiBuilderProps"
    },
    "@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/access.ts",
        "line": 9
      },
      "name": "ApiGatewayAccessProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "If not specified on public API Gateway, all IP addresses are allowed.\n\nIf not specified on private API Gateway, no IP addresses are allowed (but specified security groups are).",
            "stability": "experimental",
            "summary": "List of IP addresses in CIDR notation that are allowed to access the API Gateway."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 28
          },
          "name": "allowedIps",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Only works for private API Gateways with {@link allowedVpc}.",
            "stability": "experimental",
            "summary": "List of security groups that are allowed to access the API Gateway."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 40
          },
          "name": "allowedSecurityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Create a private API Gateway and allow access from the specified VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 33
          },
          "name": "allowedVpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Use this to make use of existing VPC endpoints or to share an endpoint between multiple functions. The VPC endpoint must point to `ec2.InterfaceVpcEndpointAwsService.APIGATEWAY`.\n\nNo other settings are supported when using this option.\n\nAll endpoints will be allowed access, but only the first one will be used as the URL by the runner system for setting up the webhook, and as setup URL.",
            "stability": "experimental",
            "summary": "Create a private API Gateway and allow access from the specified VPC endpoints."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 19
          },
          "name": "allowedVpcEndpoints",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.IVpcEndpoint"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/access:ApiGatewayAccessProps"
    },
    "@cloudsnorkel/cdk-github-runners.Architecture": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "CPU architecture enum for an image."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.Architecture",
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 56
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Checks if a given EC2 instance type matches this architecture."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 102
          },
          "name": "instanceTypeMatch",
          "parameters": [
            {
              "docs": {
                "summary": "instance type to check."
              },
              "name": "instanceType",
              "type": {
                "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Checks if the given architecture is the same as this one."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 79
          },
          "name": "is",
          "parameters": [
            {
              "docs": {
                "summary": "architecture to compare."
              },
              "name": "arch",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Checks if this architecture is in a given list."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 88
          },
          "name": "isIn",
          "parameters": [
            {
              "docs": {
                "summary": "architectures to check."
              },
              "name": "arches",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        }
      ],
      "name": "Architecture",
      "properties": [
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "ARM64."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 60
          },
          "name": "ARM64",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "X86_64."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 65
          },
          "name": "X86_64",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 71
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/providers/common:Architecture"
    },
    "@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/builder.ts",
        "line": 34
      },
      "name": "AwsImageBuilderRunnerImageBuilderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "disabled",
            "remarks": "This is only supported for Windows AMIs.",
            "stability": "experimental",
            "summary": "Options for fast launch."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 58
          },
          "name": "fastLaunchOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.FastLaunchOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "m6i.large",
            "stability": "experimental",
            "summary": "The instance type used to build the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 40
          },
          "name": "instanceType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default size for AMI (usually 30GB for Linux and 50GB for Windows)",
            "remarks": "Use this if you're building images with big components and need more space.",
            "stability": "experimental",
            "summary": "Size of volume available for builder instances. This modifies the boot volume size and doesn't add any additional volumes."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 49
          },
          "name": "storageSize",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Size"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/builder:AwsImageBuilderRunnerImageBuilderProps"
    },
    "@cloudsnorkel/cdk-github-runners.BaseContainerImage": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "This class is adapted from AWS CDK's BaseContainerImage class to support both string and object inputs.",
        "stability": "experimental",
        "summary": "Represents a base container image that is used to start from in EC2 Image Builder container builds."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.BaseContainerImage",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/image-builders/aws-image-builder/base-image.ts",
          "line": 203
        },
        "parameters": [
          {
            "name": "image",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "ecrRepository",
            "optional": true,
            "type": {
              "fqn": "aws-cdk-lib.aws_ecr.IRepository"
            }
          }
        ],
        "protected": true
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/base-image.ts",
        "line": 150
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The DockerHub image to use as the base image in a container recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 157
          },
          "name": "fromDockerHub",
          "parameters": [
            {
              "docs": {
                "summary": "The DockerHub repository where the base image resides in."
              },
              "name": "repository",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The tag of the base image in the DockerHub repository."
              },
              "name": "tag",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseContainerImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The ECR container image to use as the base image in a container recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 167
          },
          "name": "fromEcr",
          "parameters": [
            {
              "docs": {
                "summary": "The ECR repository where the base image resides in."
              },
              "name": "repository",
              "type": {
                "fqn": "aws-cdk-lib.aws_ecr.IRepository"
              }
            },
            {
              "docs": {
                "summary": "The tag of the base image in the ECR repository."
              },
              "name": "tag",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseContainerImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The ECR public container image to use as the base image in a container recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 178
          },
          "name": "fromEcrPublic",
          "parameters": [
            {
              "docs": {
                "summary": "The alias of the ECR public registry where the base image resides in."
              },
              "name": "registryAlias",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The name of the ECR public repository, where the base image resides in."
              },
              "name": "repositoryName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The tag of the base image in the ECR public repository."
              },
              "name": "tag",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseContainerImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This can be an EC2 Image Builder image ARN,\nan ECR or ECR public image, or a container URI sourced from a third-party container registry such as DockerHub.",
            "stability": "experimental",
            "summary": "The string value of the base image to use in a container recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 188
          },
          "name": "fromString",
          "parameters": [
            {
              "docs": {
                "summary": "The base image as a direct string value."
              },
              "name": "baseContainerImageString",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseContainerImage"
            }
          },
          "static": true
        }
      ],
      "name": "BaseContainerImage",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The rendered base image to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 195
          },
          "name": "image",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "remarks": "This allows automatic permission granting for CodeBuild.",
            "stability": "experimental",
            "summary": "The ECR repository if this image was created from an ECR repository."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 201
          },
          "name": "ecrRepository",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ecr.IRepository"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/base-image:BaseContainerImage"
    },
    "@cloudsnorkel/cdk-github-runners.BaseImage": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "This class is adapted from AWS CDK's BaseImage class to support both string and object inputs.",
        "stability": "experimental",
        "summary": "Represents a base image that is used to start from in EC2 Image Builder image builds."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/image-builders/aws-image-builder/base-image.ts",
          "line": 131
        },
        "parameters": [
          {
            "name": "image",
            "type": {
              "primitive": "string"
            }
          }
        ],
        "protected": true
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/base-image.ts",
        "line": 21
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The AMI ID to use as a base image in an image recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 27
          },
          "name": "fromAmiId",
          "parameters": [
            {
              "docs": {
                "summary": "The AMI ID to use as the base image."
              },
              "name": "amiId",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "custom": {
              "throws": "Error if the OS/architecture combo has no GPU base AMI"
            },
            "remarks": "Uses AWS Deep Learning AMIs for Linux (Ubuntu, Amazon Linux 2, Amazon Linux 2023).\nFor Windows, subscribe to NVIDIA RTX Virtual Workstation in AWS Marketplace, then use\n{@link fromMarketplaceProductId} with the product ID.",
            "stability": "experimental",
            "summary": "A base AMI with NVIDIA drivers pre-installed for GPU workloads."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 98
          },
          "name": "fromGpuBase",
          "parameters": [
            {
              "docs": {
                "summary": "Target operating system."
              },
              "name": "os",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            },
            {
              "docs": {
                "summary": "Target architecture."
              },
              "name": "architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This constructs an Image Builder ARN for AWS-provided images like `ubuntu-server-22-lts-x86/x.x.x`.",
            "stability": "experimental",
            "summary": "An AWS-provided EC2 Image Builder image to use as a base image in an image recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 40
          },
          "name": "fromImageBuilder",
          "parameters": [
            {
              "docs": {
                "summary": "The construct scope (used to determine the stack and region)."
              },
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "docs": {
                "summary": "The Image Builder resource name pattern (e.g., `ubuntu-server-22-lts-x86` or `ubuntu-server-22-lts-${arch}`)."
              },
              "name": "resourceName",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "The version pattern (defaults to `x.x.x` to use the latest version)."
              },
              "name": "version",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The marketplace product ID for an AMI product to use as the base image in an image recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 55
          },
          "name": "fromMarketplaceProductId",
          "parameters": [
            {
              "docs": {
                "summary": "The Marketplace AMI product ID to use as the base image."
              },
              "name": "productId",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The SSM parameter to use as the base image in an image recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 64
          },
          "name": "fromSsmParameter",
          "parameters": [
            {
              "docs": {
                "summary": "The SSM parameter to use as the base image."
              },
              "name": "parameter",
              "type": {
                "fqn": "aws-cdk-lib.aws_ssm.IParameter"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The parameter name for the SSM parameter to use as the base image in an image recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 73
          },
          "name": "fromSsmParameterName",
          "parameters": [
            {
              "docs": {
                "summary": "The name of the SSM parameter to use as the base image."
              },
              "name": "parameterName",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This can be an EC2 Image Builder image ARN,\nan SSM parameter, an AWS Marketplace product ID, or an AMI ID.",
            "stability": "experimental",
            "summary": "The direct string value of the base image to use in an image recipe."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 83
          },
          "name": "fromString",
          "parameters": [
            {
              "docs": {
                "summary": "The base image as a direct string value."
              },
              "name": "baseImageString",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
            }
          },
          "static": true
        }
      ],
      "name": "BaseImage",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The rendered base image to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/base-image.ts",
            "line": 129
          },
          "name": "image",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/base-image:BaseImage"
    },
    "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "deprecated": "use RunnerImageBuilder",
        "remarks": "Builders can be used with runner providers.\n\nEach builder re-runs automatically at a set interval to make sure the images contain the latest versions of everything.\n\nYou can create an instance of this construct to customize the image used to spin-up runners. Each provider has its own requirements for what an image should do. That's why they each provide their own Dockerfile.\n\nFor example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the Fargate provider, use:\n\n```\nconst builder = new CodeBuildImageBuilder(this, 'Builder', {\n    dockerfilePath: FargateRunnerProvider.LINUX_X64_DOCKERFILE_PATH,\n    runnerVersion: RunnerVersion.specific('2.293.0'),\n    rebuildInterval: Duration.days(14),\n});\nbuilder.setBuildArg('EXTRA_PACKAGES', 'nginx xz-utils');\nnew FargateRunnerProvider(this, 'Fargate provider', {\n    labels: ['customized-fargate'],\n    imageBuilder: builder,\n});\n```",
        "stability": "deprecated",
        "summary": "An image builder that uses CodeBuild to build Docker images pre-baked with all the GitHub Actions runner requirements."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilder",
      "initializer": {
        "docs": {
          "stability": "deprecated"
        },
        "locationInModule": {
          "filename": "src/image-builders/codebuild-deprecated.ts",
          "line": 181
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/codebuild-deprecated.ts",
        "line": 162
      },
      "methods": [
        {
          "docs": {
            "remarks": "All first party Dockerfiles support this. Others may not.",
            "stability": "deprecated",
            "summary": "Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 289
          },
          "name": "addExtraCertificates",
          "parameters": [
            {
              "docs": {
                "summary": "path to directory containing a file called certs.pem containing all the required certificates."
              },
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Uploads a folder to the build server at a given folder name."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 223
          },
          "name": "addFiles",
          "parameters": [
            {
              "docs": {
                "summary": "path to source directory."
              },
              "name": "sourcePath",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "name of destination folder."
              },
              "name": "destName",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Add a policy statement to the builder to access resources required to the image build."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 275
          },
          "name": "addPolicyStatement",
          "parameters": [
            {
              "docs": {
                "summary": "IAM policy statement."
              },
              "name": "statement",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.PolicyStatement"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Adds a command that runs after `docker build` and `docker push`."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 250
          },
          "name": "addPostBuildCommand",
          "parameters": [
            {
              "docs": {
                "summary": "command to add."
              },
              "name": "command",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Adds a command that runs before `docker build`."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 238
          },
          "name": "addPreBuildCommand",
          "parameters": [
            {
              "docs": {
                "summary": "command to add."
              },
              "name": "command",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.\n\nThe AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.",
            "stability": "deprecated",
            "summary": "Build and return an AMI with GitHub Runner installed in it."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 530
          },
          "name": "bindAmi",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Called by IRunnerProvider to finalize settings and create the image builder."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 299
          },
          "name": "bindDockerImage",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
            }
          }
        },
        {
          "docs": {
            "remarks": "See the documentation for the Dockerfile you're using for a list of supported build arguments.",
            "stability": "deprecated",
            "summary": "Adds a build argument for Docker."
          },
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 263
          },
          "name": "setBuildArg",
          "parameters": [
            {
              "docs": {
                "summary": "build argument name."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "build argument value."
              },
              "name": "value",
              "type": {
                "primitive": "string"
              }
            }
          ]
        }
      ],
      "name": "CodeBuildImageBuilder",
      "properties": [
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 524
          },
          "name": "connections",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 181
          },
          "name": "props",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps"
          }
        }
      ],
      "symbolId": "src/image-builders/codebuild-deprecated:CodeBuildImageBuilder"
    },
    "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for CodeBuildImageBuilder construct."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildImageBuilderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/codebuild-deprecated.ts",
        "line": 36
      },
      "name": "CodeBuildImageBuilderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "It can be a path to a Dockerfile, a folder containing a Dockerfile, or a zip file containing a Dockerfile.",
            "stability": "experimental",
            "summary": "Path to Dockerfile to be built."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 54
          },
          "name": "dockerfilePath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Architecture.X86_64",
            "stability": "experimental",
            "summary": "Image architecture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 42
          },
          "name": "architecture",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Ubuntu 22.04 for x64 and Amazon Linux 2 for ARM64",
            "remarks": "This is the image that's going to run the code that builds the runner image.\n\nThe only action taken in CodeBuild is running `docker build`. You would therefore not need to change this setting often.",
            "stability": "experimental",
            "summary": "Build image to use in CodeBuild."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 108
          },
          "name": "buildImage",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_codebuild.IBuildImage"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{@link ComputeType#SMALL }",
            "remarks": "See the {@link ComputeType} enum for the possible values.",
            "stability": "experimental",
            "summary": "The type of compute to use for this build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 99
          },
          "name": "computeType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_codebuild.ComputeType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "RemovalPolicy.DESTROY",
            "remarks": "If deployment fails on the custom resource, try setting this to `RemovalPolicy.RETAIN`. This way the CodeBuild logs can still be viewed, and you can see why the build failed.\n\nWe try to not leave anything behind when removed. But sometimes a log staying behind is useful.",
            "stability": "experimental",
            "summary": "Removal policy for logs of image builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 135
          },
          "name": "logRemovalPolicy",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.RemovalPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "logs.RetentionDays.ONE_MONTH",
            "remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
            "stability": "experimental",
            "summary": "The number of days log events are kept in CloudWatch Logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 126
          },
          "name": "logRetention",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.RetentionDays"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "OS.LINUX",
            "stability": "experimental",
            "summary": "Image OS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 49
          },
          "name": "os",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.days(7)",
            "remarks": "Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.\n\nSet to zero to disable.",
            "stability": "experimental",
            "summary": "Schedule the image to be rebuilt every given interval."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 70
          },
          "name": "rebuildInterval",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "latest version available",
            "stability": "experimental",
            "summary": "Version of GitHub Runners to install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 61
          },
          "name": "runnerVersion",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "public project with no security group",
            "stability": "experimental",
            "summary": "Security Group to assign to this instance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 84
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no subnet",
            "stability": "experimental",
            "summary": "Where to place the network interfaces within the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 91
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.hours(1)",
            "remarks": "For valid values, see the timeoutInMinutes field in the AWS\nCodeBuild User Guide.",
            "stability": "experimental",
            "summary": "The number of minutes after which AWS CodeBuild stops the build if it's not complete."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 117
          },
          "name": "timeout",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no VPC",
            "stability": "experimental",
            "summary": "VPC to build the image in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild-deprecated.ts",
            "line": 77
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/image-builders/codebuild-deprecated:CodeBuildImageBuilderProps"
    },
    "@cloudsnorkel/cdk-github-runners.CodeBuildRunner": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider",
      "docs": {
        "deprecated": "use {@link CodeBuildRunnerProvider }",
        "stability": "deprecated"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunner",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/codebuild.ts",
          "line": 273
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/codebuild.ts",
        "line": 521
      },
      "name": "CodeBuildRunner",
      "symbolId": "src/providers/codebuild:CodeBuildRunner"
    },
    "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/codebuild.ts",
        "line": 33
      },
      "name": "CodeBuildRunnerImageBuilderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "Amazon Linux 2023",
            "remarks": "This is the image that's going to run the code that builds the runner image.\n\nThe only action taken in CodeBuild is running `docker build`. You would therefore not need to change this setting often.",
            "stability": "experimental",
            "summary": "Build image to use in CodeBuild."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild.ts",
            "line": 59
          },
          "name": "buildImage",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_codebuild.IBuildImage"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "{@link ComputeType#SMALL }",
            "remarks": "The compute type determines CPU, memory, and disk space:\n- SMALL: 2 vCPU, 3 GB RAM, 64 GB disk\n- MEDIUM: 4 vCPU, 7 GB RAM, 128 GB disk\n- LARGE: 8 vCPU, 15 GB RAM, 128 GB disk\n- X2_LARGE: 72 vCPU, 145 GB RAM, 256 GB disk (Linux) or 824 GB disk (Windows)\n\nUse a larger compute type when you need more disk space for building larger Docker images.\n\nFor more details, see https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types",
            "stability": "experimental",
            "summary": "The type of compute to use for this build. See the {@link ComputeType} enum for the possible values."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild.ts",
            "line": 50
          },
          "name": "computeType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_codebuild.ComputeType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.hours(1)",
            "remarks": "For valid values, see the timeoutInMinutes field in the AWS\nCodeBuild User Guide.",
            "stability": "experimental",
            "summary": "The number of minutes after which AWS CodeBuild stops the build if it's not complete."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/codebuild.ts",
            "line": 68
          },
          "name": "timeout",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        }
      ],
      "symbolId": "src/image-builders/codebuild:CodeBuildRunnerImageBuilderProps"
    },
    "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "Creates a project that gets started for each job.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
        "stability": "experimental",
        "summary": "GitHub Actions runner provider using CodeBuild to execute jobs."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProvider",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/codebuild.ts",
          "line": 273
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/codebuild.ts",
        "line": 167
      },
      "methods": [
        {
          "docs": {
            "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
            "stability": "experimental",
            "summary": "Create new image builder that builds CodeBuild specific runner images."
          },
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 216
          },
          "name": "imageBuilder",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Called by GithubRunners and shouldn't be called manually.",
            "stability": "experimental",
            "summary": "Generate step function task(s) to start a new runner."
          },
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 434
          },
          "name": "getStepFunctionTask",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "docs": {
                "summary": "workflow job details."
              },
              "name": "parameters",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
            }
          }
        },
        {
          "docs": {
            "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
            "stability": "experimental",
            "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
          },
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 488
          },
          "name": "grantStateMachine",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "_",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 677
          },
          "name": "labelsFromProperties",
          "parameters": [
            {
              "name": "defaultLabel",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabel",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabels",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
            "stability": "experimental",
            "summary": "Return status of the runner provider to be used in the main status function."
          },
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 491
          },
          "name": "status",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "statusFunctionRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Override to inject static strings into `$.consts` on the orchestrator state machine."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 673
          },
          "name": "stepFunctionConstants",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "CodeBuildRunnerProvider",
      "properties": [
        {
          "const": true,
          "docs": {
            "deprecated": "Use `imageBuilder()` instead.",
            "remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.\n* `DOCKER_CHANNEL` overrides the channel from which Docker will be downloaded. Defaults to `\"stable\"`.\n* `DIND_COMMIT` overrides the commit where dind is found.\n* `DOCKER_VERSION` overrides the installed Docker version.\n* `DOCKER_COMPOSE_VERSION` overrides the installed docker-compose version.",
            "stability": "deprecated",
            "summary": "Path to Dockerfile for Linux ARM64 with all the requirements for CodeBuild runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 196
          },
          "name": "LINUX_ARM64_DOCKERFILE_PATH",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "const": true,
          "docs": {
            "deprecated": "Use `imageBuilder()` instead.",
            "remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.\n* `DOCKER_CHANNEL` overrides the channel from which Docker will be downloaded. Defaults to `\"stable\"`.\n* `DIND_COMMIT` overrides the commit where dind is found.\n* `DOCKER_VERSION` overrides the installed Docker version.\n* `DOCKER_COMPOSE_VERSION` overrides the installed docker-compose version.",
            "stability": "deprecated",
            "summary": "Path to Dockerfile for Linux x64 with all the requirements for CodeBuild runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 181
          },
          "name": "LINUX_X64_DOCKERFILE_PATH",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 513
          },
          "name": "connections",
          "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Grant principal used to add permissions to the runner role."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 246
          },
          "name": "grantPrincipal",
          "overrides": "aws-cdk-lib.aws_iam.IGrantable",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "remarks": "The image is built by an image builder and is specific to CodeBuild.",
            "stability": "deprecated",
            "summary": "Docker image loaded with GitHub Actions Runner and its prerequisites."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 253
          },
          "name": "image",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Labels associated with this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 241
          },
          "name": "labels",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
            "stability": "experimental",
            "summary": "Log group where provided runners will save their logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 260
          },
          "name": "logGroup",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "CodeBuild project hosting the runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 236
          },
          "name": "project",
          "type": {
            "fqn": "aws-cdk-lib.aws_codebuild.Project"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of step functions errors that should be retried."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 262
          },
          "name": "retryableErrors",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/providers/codebuild:CodeBuildRunnerProvider"
    },
    "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerProviderProps",
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/codebuild.ts",
        "line": 32
      },
      "name": "CodeBuildRunnerProviderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "{@link ComputeType#SMALL }",
            "remarks": "The compute type determines CPU, memory, and disk space:\n- SMALL: 2 vCPU, 3 GB RAM, 64 GB disk\n- MEDIUM: 4 vCPU, 7 GB RAM, 128 GB disk\n- LARGE: 8 vCPU, 15 GB RAM, 128 GB disk\n- X2_LARGE: 72 vCPU, 145 GB RAM, 256 GB disk (Linux) or 824 GB disk (Windows)\n\nUse a larger compute type when you need more disk space for building larger Docker images.\n\nFor more details, see https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-compute-types.html#environment.types",
            "stability": "experimental",
            "summary": "The type of compute to use for this build. See the {@link ComputeType} enum for the possible values."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 123
          },
          "name": "computeType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_codebuild.ComputeType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Disabling this can\nspeed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times.",
            "stability": "experimental",
            "summary": "Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 140
          },
          "name": "dockerInDocker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "When enabled, the default compute type is BUILD_GENERAL1_SMALL (4 vCPU, 16 GB RAM, 1 NVIDIA A10G GPU).\n\nYou can override the compute type using the `computeType` property (for example, to use BUILD_GENERAL1_LARGE for more resources),\nsubject to the supported GPU compute types.\n\nWhen using GPU compute, ensure your runner image includes any required GPU libraries (for example, CUDA)\neither by using a base image that has them preinstalled (such as an appropriate nvidia/cuda image) or by\nadding image components that install them. The default image builder does not automatically switch to a\nCUDA-enabled base image when GPU is enabled.\n\nGPU compute is only available for Linux x64 images. Not supported on Windows or ARM.",
            "stability": "experimental",
            "summary": "Use GPU compute for builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 157
          },
          "name": "gpu",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It\nrequires a paid GitHub account.\n\nThe group must exist or the runner will not start.\n\nUsers will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.",
            "stability": "experimental",
            "summary": "GitHub Actions runner group name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 75
          },
          "name": "group",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "CodeBuildRunnerProvider.imageBuilder()",
            "remarks": "The image builder must contain the {@link RunnerImageComponent.docker} component unless `dockerInDocker` is set to false.\n\nThe image builder determines the OS and architecture of the runner.",
            "stability": "experimental",
            "summary": "Runner image builder used to build Docker images containing GitHub Runner and all requirements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 42
          },
          "name": "imageBuilder",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "deprecated": "use {@link labels } instead",
            "stability": "deprecated",
            "summary": "GitHub Actions label used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 50
          },
          "name": "label",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "['codebuild']",
            "remarks": "These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for\nbased on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the\njob's labels, this provider will be chosen and spawn a new runner.",
            "stability": "experimental",
            "summary": "GitHub Actions labels used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 61
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "public project with no security group",
            "deprecated": "use {@link securityGroups }",
            "stability": "deprecated",
            "summary": "Security group to assign to this instance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 91
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new security group, if {@link vpc } is used",
            "stability": "experimental",
            "summary": "Security groups to assign to this instance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 98
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no subnet",
            "stability": "experimental",
            "summary": "Where to place the network interfaces within the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 105
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.hours(1)",
            "remarks": "For valid values, see the timeoutInMinutes field in the AWS\nCodeBuild User Guide.",
            "stability": "experimental",
            "summary": "The number of minutes after which AWS CodeBuild stops the build if it's not complete."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 132
          },
          "name": "timeout",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no VPC",
            "stability": "experimental",
            "summary": "VPC to launch the runners in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/codebuild.ts",
            "line": 82
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/providers/codebuild:CodeBuildRunnerProviderProps"
    },
    "@cloudsnorkel/cdk-github-runners.CompositeProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "A composite runner provider that implements fallback and distribution strategies."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.CompositeProvider",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/composite.ts",
        "line": 31
      },
      "methods": [
        {
          "docs": {
            "remarks": "For example, given providers A (weight 10), B (weight 20), C (weight 30):\n- Total weight = 60\n- Probability of selecting A = 10/60 = 16.67%\n- Probability of selecting B = 20/60 = 33.33%\n- Probability of selecting C = 30/60 = 50%\n\nYou can use this to distribute load across multiple instance types or availability zones.",
            "stability": "experimental",
            "summary": "Creates a weighted distribution runner provider that randomly selects a provider based on weights."
          },
          "locationInModule": {
            "filename": "src/providers/composite.ts",
            "line": 73
          },
          "name": "distribute",
          "parameters": [
            {
              "docs": {
                "summary": "The scope in which to define this construct."
              },
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "docs": {
                "summary": "The scoped construct ID."
              },
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "List of weighted runner providers."
              },
              "name": "weightedProviders",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "@cloudsnorkel/cdk-github-runners.WeightedRunnerProvider"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ICompositeProvider"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "For example, given providers A, B, C:\n- Try A first\n- If A fails, try B\n- If B fails, try C\n\nYou can use this to try spot instance first, and switch to on-demand instances if spot is unavailable.\n\nOr you can use this to try different instance types in order of preference.",
            "stability": "experimental",
            "summary": "Creates a fallback runner provider that tries each provider in order until one succeeds."
          },
          "locationInModule": {
            "filename": "src/providers/composite.ts",
            "line": 48
          },
          "name": "fallback",
          "parameters": [
            {
              "docs": {
                "summary": "The scope in which to define this construct."
              },
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "docs": {
                "summary": "The scoped construct ID."
              },
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "List of runner providers to try in order."
              },
              "name": "providers",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ICompositeProvider"
            }
          },
          "static": true
        }
      ],
      "name": "CompositeProvider",
      "symbolId": "src/providers/composite:CompositeProvider"
    },
    "@cloudsnorkel/cdk-github-runners.ContainerImageBuilder": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "deprecated": "use RunnerImageBuilder",
        "remarks": "Builders can be used with runner providers.\n\nThe CodeBuild builder is better and faster. Only use this one if you have no choice. For example, if you need Windows containers.\n\nEach builder re-runs automatically at a set interval to make sure the images contain the latest versions of everything.\n\nYou can create an instance of this construct to customize the image used to spin-up runners. Some runner providers may require custom components. Check the runner provider documentation. The default components work with CodeBuild and Fargate.\n\nFor example, to set a specific runner version, rebuild the image every 2 weeks, and add a few packages for the Fargate provider, use:\n\n```\nconst builder = new ContainerImageBuilder(this, 'Builder', {\n    runnerVersion: RunnerVersion.specific('2.293.0'),\n    rebuildInterval: Duration.days(14),\n});\nnew CodeBuildRunnerProvider(this, 'CodeBuild provider', {\n    labels: ['custom-codebuild'],\n    imageBuilder: builder,\n});\n```",
        "stability": "deprecated",
        "summary": "An image builder that uses AWS Image Builder to build Docker images pre-baked with all the GitHub Actions runner requirements."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ContainerImageBuilder",
      "initializer": {
        "docs": {
          "stability": "deprecated"
        },
        "locationInModule": {
          "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
          "line": 155
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
        "line": 150
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Add a component to be installed."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 218
          },
          "name": "addComponent",
          "parameters": [
            {
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "All first party Dockerfiles support this. Others may not.",
            "stability": "deprecated",
            "summary": "Add extra trusted certificates. This helps deal with self-signed certificates for GitHub Enterprise Server."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 235
          },
          "name": "addExtraCertificates",
          "parameters": [
            {
              "docs": {
                "summary": "path to directory containing a file called certs.pem containing all the required certificates."
              },
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.\n\nThe AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.",
            "stability": "deprecated",
            "summary": "Build and return an AMI with GitHub Runner installed in it."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 315
          },
          "name": "bindAmi",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Called by IRunnerProvider to finalize settings and create the image builder."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 248
          },
          "name": "bindDockerImage",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 126
          },
          "name": "createImage",
          "parameters": [
            {
              "name": "infra",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
              }
            },
            {
              "name": "dist",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration"
              }
            },
            {
              "name": "log",
              "type": {
                "fqn": "aws-cdk-lib.aws_logs.LogGroup"
              }
            },
            {
              "name": "imageRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "containerRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_imagebuilder.CfnImage"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 97
          },
          "name": "createInfrastructure",
          "parameters": [
            {
              "name": "managedPolicies",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "aws-cdk-lib.aws_iam.IManagedPolicy"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 89
          },
          "name": "createLog",
          "parameters": [
            {
              "name": "recipeName",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_logs.LogGroup"
            }
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 143
          },
          "name": "createPipeline",
          "parameters": [
            {
              "name": "infra",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnInfrastructureConfiguration"
              }
            },
            {
              "name": "dist",
              "type": {
                "fqn": "aws-cdk-lib.aws_imagebuilder.CfnDistributionConfiguration"
              }
            },
            {
              "name": "log",
              "type": {
                "fqn": "aws-cdk-lib.aws_logs.LogGroup"
              }
            },
            {
              "name": "imageRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "containerRecipeArn",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_imagebuilder.CfnImagePipeline"
            }
          }
        },
        {
          "docs": {
            "remarks": "Useful for required system settings like certificates or proxy settings.",
            "stability": "deprecated",
            "summary": "Add a component to be installed before any other components."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 204
          },
          "name": "prependComponent",
          "parameters": [
            {
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
              }
            }
          ]
        }
      ],
      "name": "ContainerImageBuilder",
      "properties": [
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 12
          },
          "name": "architecture",
          "protected": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 173
          },
          "name": "connections",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 16
          },
          "name": "description",
          "protected": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 13
          },
          "name": "os",
          "protected": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 14
          },
          "name": "platform",
          "protected": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 151
          },
          "name": "repository",
          "type": {
            "fqn": "aws-cdk-lib.aws_ecr.IRepository"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 18
          },
          "name": "runnerVersion",
          "protected": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/common.ts",
            "line": 20
          },
          "name": "components",
          "protected": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/deprecated/container:ContainerImageBuilder"
    },
    "@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for ContainerImageBuilder construct."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ContainerImageBuilderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
        "line": 32
      },
      "name": "ContainerImageBuilderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "Architecture.X86_64",
            "stability": "experimental",
            "summary": "Image architecture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 38
          },
          "name": "architecture",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "m6i.large",
            "stability": "experimental",
            "summary": "The instance type used to build the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 105
          },
          "name": "instanceType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "RemovalPolicy.DESTROY",
            "remarks": "If deployment fails on the custom resource, try setting this to `RemovalPolicy.RETAIN`. This way the CodeBuild logs can still be viewed, and you can see why the build failed.\n\nWe try to not leave anything behind when removed. But sometimes a log staying behind is useful.",
            "stability": "experimental",
            "summary": "Removal policy for logs of image builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 123
          },
          "name": "logRemovalPolicy",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.RemovalPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "logs.RetentionDays.ONE_MONTH",
            "remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
            "stability": "experimental",
            "summary": "The number of days log events are kept in CloudWatch Logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 114
          },
          "name": "logRetention",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.RetentionDays"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "OS.LINUX",
            "stability": "experimental",
            "summary": "Image OS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 45
          },
          "name": "os",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'mcr.microsoft.com/windows/servercore:ltsc2019-amd64'",
            "remarks": "You can use either Image Builder image ARN or public registry image.",
            "stability": "experimental",
            "summary": "Parent image for the new Docker Image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 52
          },
          "name": "parentImage",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.days(7)",
            "remarks": "Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.\n\nSet to zero to disable.",
            "stability": "experimental",
            "summary": "Schedule the image to be rebuilt every given interval."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 68
          },
          "name": "rebuildInterval",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "latest version available",
            "stability": "experimental",
            "summary": "Version of GitHub Runners to install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 59
          },
          "name": "runnerVersion",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "new security group",
            "deprecated": "use {@link securityGroups }",
            "stability": "deprecated",
            "summary": "Security group to assign to launched builder instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 84
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "new security group",
            "stability": "experimental",
            "summary": "Security groups to assign to launched builder instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 91
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default VPC subnet",
            "stability": "experimental",
            "summary": "Where to place the network interfaces within the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 98
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default account VPC",
            "stability": "experimental",
            "summary": "VPC to launch the runners in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/container.ts",
            "line": 75
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/deprecated/container:ContainerImageBuilderProps"
    },
    "@cloudsnorkel/cdk-github-runners.Ec2Runner": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider",
      "docs": {
        "deprecated": "use {@link Ec2RunnerProvider }",
        "stability": "deprecated"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.Ec2Runner",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/ec2.ts",
          "line": 414
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/ec2.ts",
        "line": 679
      },
      "name": "Ec2Runner",
      "symbolId": "src/providers/ec2:Ec2Runner"
    },
    "@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "This construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
        "stability": "experimental",
        "summary": "GitHub Actions runner provider using EC2 to execute jobs."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.Ec2RunnerProvider",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/ec2.ts",
          "line": 414
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/ec2.ts",
        "line": 339
      },
      "methods": [
        {
          "docs": {
            "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.cloudWatchAgent()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
            "stability": "experimental",
            "summary": "Create new image builder that builds EC2 specific runner images."
          },
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 359
          },
          "name": "imageBuilder",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Called by GithubRunners and shouldn't be called manually.",
            "stability": "experimental",
            "summary": "Generate step function task(s) to start a new runner."
          },
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 493
          },
          "name": "getStepFunctionTask",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "docs": {
                "summary": "workflow job details."
              },
              "name": "parameters",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
            }
          }
        },
        {
          "docs": {
            "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
            "stability": "experimental",
            "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
          },
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 618
          },
          "name": "grantStateMachine",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "stateMachineRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 677
          },
          "name": "labelsFromProperties",
          "parameters": [
            {
              "name": "defaultLabel",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabel",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabels",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
            "stability": "experimental",
            "summary": "Return status of the runner provider to be used in the main status function."
          },
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 648
          },
          "name": "status",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "statusFunctionRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Override to inject static strings into `$.consts` on the orchestrator state machine."
          },
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 481
          },
          "name": "stepFunctionConstants",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "Ec2RunnerProvider",
      "properties": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 671
          },
          "name": "connections",
          "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Grant principal used to add permissions to the runner role."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 386
          },
          "name": "grantPrincipal",
          "overrides": "aws-cdk-lib.aws_iam.IGrantable",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Labels associated with this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 381
          },
          "name": "labels",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
            "stability": "experimental",
            "summary": "Log group where provided runners will save their logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 393
          },
          "name": "logGroup",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of step functions errors that should be retried."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 395
          },
          "name": "retryableErrors",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/providers/ec2:Ec2RunnerProvider"
    },
    "@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for {@link Ec2RunnerProvider} construct."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.Ec2RunnerProviderProps",
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/ec2.ts",
        "line": 216
      },
      "name": "Ec2RunnerProviderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "deprecated": "use imageBuilder",
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 229
          },
          "name": "amiBuilder",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It\nrequires a paid GitHub account.\n\nThe group must exist or the runner will not start.\n\nUsers will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.",
            "stability": "experimental",
            "summary": "GitHub Actions runner group name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 254
          },
          "name": "group",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Ec2RunnerProvider.imageBuilder()",
            "remarks": "The image builder determines the OS and architecture of the runner.",
            "stability": "experimental",
            "summary": "Runner image builder used to build AMI containing GitHub Runner and all requirements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 224
          },
          "name": "imageBuilder",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "m6i.large",
            "remarks": "For GPU instance types (g4dn, g5, p3, etc.), we automatically use a GPU base image (AWS Deep Learning AMI)\nwith NVIDIA drivers pre-installed. If you provide your own image builder, use\n`baseAmi: BaseImage.fromGpuBase(os, architecture)` or another image preloaded with NVIDIA drivers, or use\nan image component to install NVIDIA drivers.",
            "stability": "experimental",
            "summary": "Instance type for launched runner instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 266
          },
          "name": "instanceType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "['ec2']",
            "remarks": "These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for\nbased on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the\njob's labels, this provider will be chosen and spawn a new runner.",
            "stability": "experimental",
            "summary": "GitHub Actions labels used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 240
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new security group",
            "deprecated": "use {@link securityGroups }",
            "stability": "deprecated",
            "summary": "Security Group to assign to launched runner instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 287
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new security group",
            "stability": "experimental",
            "summary": "Security groups to assign to launched runner instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 294
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "Spot instances are cheaper but not always available and can be stopped prematurely.",
            "stability": "experimental",
            "summary": "Use spot instances to save money."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 324
          },
          "name": "spot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no max price (you will pay current spot price)",
            "stability": "experimental",
            "summary": "Set a maximum price for spot instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 331
          },
          "name": "spotMaxPrice",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for runner instance storage volume."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 278
          },
          "name": "storageOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.StorageOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "30GB",
            "remarks": "This modifies the boot volume size and doesn't add any additional volumes.",
            "stability": "experimental",
            "summary": "Size of volume available for launched runner instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 273
          },
          "name": "storageSize",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Size"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default subnet of account's default VPC",
            "deprecated": "use {@link vpc } and {@link subnetSelection }",
            "stability": "deprecated",
            "summary": "Subnet where the runner instances will be launched."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 303
          },
          "name": "subnet",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISubnet"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default VPC subnet",
            "remarks": "Only the first matched subnet will be used.",
            "stability": "experimental",
            "summary": "Where to place the network interfaces within the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 317
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default account VPC",
            "stability": "experimental",
            "summary": "VPC where runner instances will be launched."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ec2.ts",
            "line": 310
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/providers/ec2:Ec2RunnerProviderProps"
    },
    "@cloudsnorkel/cdk-github-runners.EcsRunnerProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "ECS can be useful when you want more control of the infrastructure running the GitHub Actions Docker containers. You can control the autoscaling\ngroup to scale down to zero during the night and scale up during work hours. This way you can still save money, but have to wait less for\ninfrastructure to spin up.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
        "stability": "experimental",
        "summary": "GitHub Actions runner provider using ECS on EC2 to execute jobs."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.EcsRunnerProvider",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/ecs.ts",
          "line": 379
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/ecs.ts",
        "line": 237
      },
      "methods": [
        {
          "docs": {
            "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.docker()`\n * `RunnerImageComponent.githubRunner()`",
            "stability": "experimental",
            "summary": "Create new image builder that builds ECS specific runner images."
          },
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 256
          },
          "name": "imageBuilder",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Called by GithubRunners and shouldn't be called manually.",
            "stability": "experimental",
            "summary": "Generate step function task(s) to start a new runner."
          },
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 632
          },
          "name": "getStepFunctionTask",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "docs": {
                "summary": "workflow job details."
              },
              "name": "parameters",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
            }
          }
        },
        {
          "docs": {
            "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
            "stability": "experimental",
            "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
          },
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 702
          },
          "name": "grantStateMachine",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "_",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 677
          },
          "name": "labelsFromProperties",
          "parameters": [
            {
              "name": "defaultLabel",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabel",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabels",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
            "stability": "experimental",
            "summary": "Return status of the runner provider to be used in the main status function."
          },
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 705
          },
          "name": "status",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "statusFunctionRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Override to inject static strings into `$.consts` on the orchestrator state machine."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 673
          },
          "name": "stepFunctionConstants",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "EcsRunnerProvider",
      "properties": [
        {
          "docs": {
            "remarks": "Use capacityProvider.autoScalingGroup to access the auto scaling group. This can help set up custom scaling policies.",
            "stability": "experimental",
            "summary": "Capacity provider used to scale the cluster."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 283
          },
          "name": "capacityProvider",
          "type": {
            "fqn": "aws-cdk-lib.aws_ecs.AsgCapacityProvider"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 323
          },
          "name": "connections",
          "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Grant principal used to add permissions to the runner role."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 318
          },
          "name": "grantPrincipal",
          "overrides": "aws-cdk-lib.aws_iam.IGrantable",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Labels associated with this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 298
          },
          "name": "labels",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
            "stability": "experimental",
            "summary": "Log group where provided runners will save their logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 335
          },
          "name": "logGroup",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of step functions errors that should be retried."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 372
          },
          "name": "retryableErrors",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/providers/ecs:EcsRunnerProvider"
    },
    "@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for EcsRunnerProvider."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.EcsRunnerProviderProps",
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/ecs.ts",
        "line": 38
      },
      "name": "EcsRunnerProviderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Make sure the task will have access to GitHub. A public IP might be required unless you have NAT gateway.",
            "stability": "experimental",
            "summary": "Assign public IP to the runner task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 117
          },
          "name": "assignPublicIp",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "new capacity provider",
            "remarks": "Make sure the AMI used by the capacity provider is compatible with ECS.",
            "stability": "experimental",
            "summary": "Existing capacity provider to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 108
          },
          "name": "capacityProvider",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ecs.AsgCapacityProvider"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new cluster",
            "stability": "experimental",
            "summary": "Existing ECS cluster to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 99
          },
          "name": "cluster",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ecs.Cluster"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "1024",
            "remarks": "1024 units is 1 vCPU. Fractions of a vCPU are supported.",
            "stability": "experimental",
            "summary": "The number of cpu units used by the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 124
          },
          "name": "cpu",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Disabling this can\nspeed up provisioning of CodeBuild runners. If you don't intend on running or building Docker images, disable this for faster start-up times.",
            "stability": "experimental",
            "summary": "Support building and running Docker images by enabling Docker-in-Docker (dind) and the required CodeBuild privileged mode."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 181
          },
          "name": "dockerInDocker",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined (no GPU)",
            "remarks": "Requires a GPU-capable instance type (e.g., g4dn.xlarge for 1 GPU, g4dn.12xlarge for 4 GPUs) and GPU AMI.\nWhen creating a new cluster, instanceType defaults to g4dn.xlarge and the ECS Optimized GPU AMI is used.\n\nYou must ensure that the task's container image includes the CUDA runtime. Provide a CUDA-enabled base image\nvia `baseDockerImage`, use an image builder that starts from a GPU-capable image (such as nvidia/cuda), or add\nan image component that installs the CUDA runtime into the image.",
            "stability": "experimental",
            "summary": "Number of GPUs to request for the runner task. When set, the task will be scheduled on GPU-capable instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 225
          },
          "name": "gpu",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It\nrequires a paid GitHub account.\n\nThe group must exist or the runner will not start.\n\nUsers will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.",
            "stability": "experimental",
            "summary": "GitHub Actions runner group name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 71
          },
          "name": "group",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "EcsRunnerProvider.imageBuilder()",
            "remarks": "The image builder determines the OS and architecture of the runner.",
            "stability": "experimental",
            "summary": "Runner image builder used to build Docker images containing GitHub Runner and all requirements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 46
          },
          "name": "imageBuilder",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "m6i.large or m6g.large",
            "remarks": "Only used when creating a new cluster.",
            "stability": "experimental",
            "summary": "Instance type of ECS cluster instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 145
          },
          "name": "instanceType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.InstanceType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "['ecs']",
            "remarks": "These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for\nbased on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the\njob's labels, this provider will be chosen and spawn a new runner.",
            "stability": "experimental",
            "summary": "GitHub Actions labels used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 57
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "5",
            "remarks": "Only used when creating a new cluster.",
            "stability": "experimental",
            "summary": "The maximum number of instances to run in the cluster."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 159
          },
          "name": "maxInstances",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "3500, unless `memoryReservationMiB` is used and then it's undefined",
            "stability": "experimental",
            "summary": "The amount (in MiB) of memory used by the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 131
          },
          "name": "memoryLimitMiB",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "stability": "experimental",
            "summary": "The soft limit (in MiB) of memory to reserve for the container."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 138
          },
          "name": "memoryReservationMiB",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "0",
            "remarks": "Only used when creating a new cluster.",
            "stability": "experimental",
            "summary": "The minimum number of instances to run in the cluster."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 152
          },
          "name": "minInstances",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined (no placement constraints)",
            "remarks": "Example: [ecs.PlacementConstraint.memberOf('ecs-placement')]",
            "stability": "experimental",
            "summary": "ECS placement constraints to influence task placement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 211
          },
          "name": "placementConstraints",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ecs.PlacementConstraint"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined (no placement strategies)",
            "remarks": "Example: [ecs.PlacementStrategy.packedByCpu()]",
            "stability": "experimental",
            "summary": "ECS placement strategies to influence task placement."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 202
          },
          "name": "placementStrategies",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ecs.PlacementStrategy"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new security group",
            "stability": "experimental",
            "summary": "Security groups to assign to the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 92
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false (true if spotMaxPrice is specified)",
            "stability": "experimental",
            "summary": "Use spot capacity."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 188
          },
          "name": "spot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Maximum price for spot instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 193
          },
          "name": "spotMaxPrice",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Options for runner instance storage volume."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 173
          },
          "name": "storageOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.StorageOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default size for AMI (usually 30GB for Linux and 50GB for Windows)",
            "remarks": "This modifies the boot volume size and doesn't add any additional volumes.\n\nEach instance can be used by multiple runners, so make sure there is enough space for all of them.",
            "stability": "experimental",
            "summary": "Size of volume available for launched cluster instances."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 168
          },
          "name": "storageSize",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Size"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ECS default",
            "stability": "experimental",
            "summary": "Subnets to run the runners in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 85
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default account VPC",
            "stability": "experimental",
            "summary": "VPC to launch the runners in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/ecs.ts",
            "line": 78
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/providers/ecs:EcsRunnerProviderProps"
    },
    "@cloudsnorkel/cdk-github-runners.FargateRunner": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "@cloudsnorkel/cdk-github-runners.FargateRunnerProvider",
      "docs": {
        "deprecated": "use {@link FargateRunnerProvider }",
        "stability": "deprecated"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.FargateRunner",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/fargate.ts",
          "line": 364
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/fargate.ts",
        "line": 554
      },
      "name": "FargateRunner",
      "symbolId": "src/providers/fargate:FargateRunner"
    },
    "@cloudsnorkel/cdk-github-runners.FargateRunnerProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "Creates a task definition with a single container that gets started for each job.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
        "stability": "experimental",
        "summary": "GitHub Actions runner provider using Fargate to execute jobs."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.FargateRunnerProvider",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/fargate.ts",
          "line": 364
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/fargate.ts",
        "line": 222
      },
      "methods": [
        {
          "docs": {
            "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Ubuntu running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.githubRunner()`",
            "stability": "experimental",
            "summary": "Create new image builder that builds Fargate specific runner images."
          },
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 262
          },
          "name": "imageBuilder",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Called by GithubRunners and shouldn't be called manually.",
            "stability": "experimental",
            "summary": "Generate step function task(s) to start a new runner."
          },
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 457
          },
          "name": "getStepFunctionTask",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "docs": {
                "summary": "workflow job details."
              },
              "name": "parameters",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
            }
          }
        },
        {
          "docs": {
            "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
            "stability": "experimental",
            "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
          },
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 528
          },
          "name": "grantStateMachine",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "_",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 677
          },
          "name": "labelsFromProperties",
          "parameters": [
            {
              "name": "defaultLabel",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabel",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabels",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
            "stability": "experimental",
            "summary": "Return status of the runner provider to be used in the main status function."
          },
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 531
          },
          "name": "status",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "statusFunctionRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Override to inject static strings into `$.consts` on the orchestrator state machine."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 673
          },
          "name": "stepFunctionConstants",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "FargateRunnerProvider",
      "properties": [
        {
          "const": true,
          "docs": {
            "deprecated": "Use `imageBuilder()` instead.",
            "remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
            "stability": "deprecated",
            "summary": "Path to Dockerfile for Linux ARM64 with all the requirement for Fargate runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 243
          },
          "name": "LINUX_ARM64_DOCKERFILE_PATH",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "const": true,
          "docs": {
            "deprecated": "Use `imageBuilder()` instead.",
            "remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be an Ubuntu compatible image.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
            "stability": "deprecated",
            "summary": "Path to Dockerfile for Linux x64 with all the requirement for Fargate runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 232
          },
          "name": "LINUX_X64_DOCKERFILE_PATH",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "stability": "deprecated",
            "summary": "Whether runner task will have a public IP."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 321
          },
          "name": "assignPublicIp",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Cluster hosting the task hosting the runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 281
          },
          "name": "cluster",
          "type": {
            "fqn": "aws-cdk-lib.aws_ecs.Cluster"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 331
          },
          "name": "connections",
          "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "stability": "deprecated",
            "summary": "Container definition hosting the runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 295
          },
          "name": "container",
          "type": {
            "fqn": "aws-cdk-lib.aws_ecs.ContainerDefinition"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Grant principal used to add permissions to the runner role."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 326
          },
          "name": "grantPrincipal",
          "overrides": "aws-cdk-lib.aws_iam.IGrantable",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "remarks": "The image is built by an image builder and is specific to Fargate tasks.",
            "stability": "deprecated",
            "summary": "Docker image loaded with GitHub Actions Runner and its prerequisites."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 345
          },
          "name": "image",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Labels associated with this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 300
          },
          "name": "labels",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
            "stability": "experimental",
            "summary": "Log group where provided runners will save their logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 352
          },
          "name": "logGroup",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of step functions errors that should be retried."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 354
          },
          "name": "retryableErrors",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "stability": "deprecated",
            "summary": "Use spot pricing for Fargate tasks."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 338
          },
          "name": "spot",
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "stability": "deprecated",
            "summary": "Fargate task hosting the runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 288
          },
          "name": "task",
          "type": {
            "fqn": "aws-cdk-lib.aws_ecs.FargateTaskDefinition"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "stability": "deprecated",
            "summary": "Subnets used for hosting the runner task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 314
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "stability": "deprecated",
            "summary": "VPC used for hosting the runner task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 307
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/providers/fargate:FargateRunnerProvider"
    },
    "@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for FargateRunnerProvider."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.FargateRunnerProviderProps",
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/fargate.ts",
        "line": 33
      },
      "name": "FargateRunnerProviderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Make sure the task will have access to GitHub. A public IP might be required unless you have NAT gateway.",
            "stability": "experimental",
            "summary": "Assign public IP to the runner task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 120
          },
          "name": "assignPublicIp",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new cluster",
            "stability": "experimental",
            "summary": "Existing Fargate cluster to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 111
          },
          "name": "cluster",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ecs.Cluster"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "1024",
            "remarks": "For tasks using the Fargate launch type,\nthis field is required and you must use one of the following values,\nwhich determines your range of valid values for the memory parameter:\n\n256 (.25 vCPU) - Available memory values: 512 (0.5 GB), 1024 (1 GB), 2048 (2 GB)\n\n512 (.5 vCPU) - Available memory values: 1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB)\n\n1024 (1 vCPU) - Available memory values: 2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB)\n\n2048 (2 vCPU) - Available memory values: Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB)\n\n4096 (4 vCPU) - Available memory values: Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB)",
            "stability": "experimental",
            "summary": "The number of cpu units used by the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 139
          },
          "name": "cpu",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "20",
            "remarks": "The maximum supported value is 200 GiB.\n\nNOTE: This parameter is only supported for tasks hosted on AWS Fargate using platform version 1.4.0 or later.",
            "stability": "experimental",
            "summary": "The amount (in GiB) of ephemeral storage to be allocated to the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 166
          },
          "name": "ephemeralStorageGiB",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It\nrequires a paid GitHub account.\n\nThe group must exist or the runner will not start.\n\nUsers will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.",
            "stability": "experimental",
            "summary": "GitHub Actions runner group name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 74
          },
          "name": "group",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "FargateRunnerProvider.imageBuilder()",
            "remarks": "The image builder determines the OS and architecture of the runner.",
            "stability": "experimental",
            "summary": "Runner image builder used to build Docker images containing GitHub Runner and all requirements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 41
          },
          "name": "imageBuilder",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "deprecated": "use {@link labels } instead",
            "stability": "deprecated",
            "summary": "GitHub Actions label used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 49
          },
          "name": "label",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "['fargate']",
            "remarks": "These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for\nbased on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the\njob's labels, this provider will be chosen and spawn a new runner.",
            "stability": "experimental",
            "summary": "GitHub Actions labels used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 60
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "2048",
            "remarks": "For tasks using the Fargate launch type,\nthis field is required and you must use one of the following values, which determines your range of valid values for the cpu parameter:\n\n512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)\n\n1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)\n\n2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)\n\nBetween 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)\n\nBetween 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)",
            "stability": "experimental",
            "summary": "The amount (in MiB) of memory used by the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 157
          },
          "name": "memoryLimitMiB",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new security group",
            "deprecated": "use {@link securityGroups }",
            "stability": "deprecated",
            "summary": "Security group to assign to the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 97
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "a new security group",
            "stability": "experimental",
            "summary": "Security groups to assign to the task."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 104
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "* Runners may fail to start due to missing capacity.\n* Runners might be stopped prematurely with spot pricing.",
            "stability": "experimental",
            "summary": "Use Fargate spot capacity provider to save money."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 176
          },
          "name": "spot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Fargate default",
            "stability": "experimental",
            "summary": "Subnets to run the runners in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 88
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "default account VPC",
            "stability": "experimental",
            "summary": "VPC to launch the runners in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/fargate.ts",
            "line": 81
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/providers/fargate:FargateRunnerProviderProps"
    },
    "@cloudsnorkel/cdk-github-runners.FastLaunchOptions": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Options for fast launch."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.FastLaunchOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/builder.ts",
        "line": 64
      },
      "name": "FastLaunchOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "custom": {
              "note": "enabling fast launch on an existing builder will not enable it for existing AMIs. It will only affect new AMIs. If you want immediate effect, trigger a new image build. Alternatively, you can create a new builder with fast launch enabled and use it for new AMIs."
            },
            "default": "false",
            "remarks": "It creates a snapshot of the root volume and uses it to launch new instances faster.\n\nThis is only supported for Windows AMIs.",
            "stability": "experimental",
            "summary": "Enable fast launch for AMIs generated by this builder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 75
          },
          "name": "enabled",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "6",
            "remarks": "Must be at least 6.",
            "stability": "experimental",
            "summary": "The maximum number of parallel instances that are launched for creating resources."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 84
          },
          "name": "maxParallelLaunches",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "1",
            "stability": "experimental",
            "summary": "The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled Windows AMI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 91
          },
          "name": "targetResourceCount",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/builder:FastLaunchOptions"
    },
    "@cloudsnorkel/cdk-github-runners.GitHubRunners": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "It creates a webhook, secrets, and a step function to orchestrate all runs. Secrets are not automatically filled. See README.md for instructions on how to setup GitHub integration.\n\nBy default, this will create a runner provider of each available type with the defaults. This is good enough for the initial setup stage when you just want to get GitHub integration working.\n\n```typescript\nnew GitHubRunners(this, 'runners');\n```\n\nUsually you'd want to configure the runner providers so the runners can run in a certain VPC or have certain permissions.\n\n```typescript\nconst vpc = ec2.Vpc.fromLookup(this, 'vpc', { vpcId: 'vpc-1234567' });\nconst runnerSg = new ec2.SecurityGroup(this, 'runner security group', { vpc: vpc });\nconst dbSg = ec2.SecurityGroup.fromSecurityGroupId(this, 'database security group', 'sg-1234567');\nconst bucket = new s3.Bucket(this, 'runner bucket');\n\n// create a custom CodeBuild provider\nconst myProvider = new CodeBuildRunnerProvider(\n  this, 'codebuild runner',\n  {\n     labels: ['my-codebuild'],\n     vpc: vpc,\n     securityGroups: [runnerSg],\n  },\n);\n// grant some permissions to the provider\nbucket.grantReadWrite(myProvider);\ndbSg.connections.allowFrom(runnerSg, ec2.Port.tcp(3306), 'allow runners to connect to MySQL database');\n\n// create the runner infrastructure\nnew GitHubRunners(\n  this,\n  'runners',\n  {\n    providers: [myProvider],\n  }\n);\n```",
        "stability": "experimental",
        "summary": "Create all the required infrastructure to provide self-hosted GitHub runners."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunners",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/runner.ts",
          "line": 317
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunnersProps"
            }
          }
        ]
      },
      "interfaces": [
        "aws-cdk-lib.aws_ec2.IConnectable"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/runner.ts",
        "line": 285
      },
      "methods": [
        {
          "docs": {
            "remarks": "* \"Webhook errors\" helps diagnose configuration issues with GitHub integration\n* \"Ignored webhook\" helps understand why runners aren't started\n* \"Ignored jobs based on labels\" helps debug label matching issues\n* \"Webhook started runners\" helps understand which runners were started\n* \"Warm runner status\" and \"Warm runner errors\" (when warm runners are configured)",
            "stability": "experimental",
            "summary": "Creates CloudWatch Logs Insights saved queries that can be used to debug issues with the runners."
          },
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 945
          },
          "name": "createLogsInsightsQueries",
          "parameters": [
            {
              "docs": {
                "remarks": "Defaults to \"GitHub Runners\".",
                "summary": "Prefix for the query definitions."
              },
              "name": "prefix",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ]
        },
        {
          "docs": {
            "remarks": "Runner images are rebuilt every week by default. This provides the latest GitHub Runner version and software updates.\n\nIf you want to be sure you are using the latest runner version, you can use this topic to be notified when a build fails.\n\nWhen the image builder is defined in a separate stack (e.g. in a split-stacks setup), pass that stack or construct\nas the optional scope so the topic and failure-notification aspects are created in the same stack as the image\nbuilder. Otherwise the aspects may not find the image builder resources.",
            "stability": "experimental",
            "summary": "Creates a topic for notifications when a runner image build fails."
          },
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 921
          },
          "name": "failedImageBuildsTopic",
          "parameters": [
            {
              "docs": {
                "summary": "Optional scope (e.g. the image builder stack) where the topic and aspects will be created. Defaults to this construct."
              },
              "name": "scope",
              "optional": true,
              "type": {
                "fqn": "constructs.Construct"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_sns.Topic"
            }
          }
        },
        {
          "docs": {
            "remarks": "A failed runner usually means the runner failed to start and so a job was never executed. It doesn't necessarily mean the job was executed and failed. For that, see {@link metricJobCompleted}.",
            "stability": "experimental",
            "summary": "Metric for failed runner executions."
          },
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 897
          },
          "name": "metricFailed",
          "parameters": [
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
            }
          }
        },
        {
          "docs": {
            "remarks": "It has `ProviderLabels` and `Status` dimensions. The status can be one of \"Succeeded\", \"SucceededWithIssues\", \"Failed\", \"Canceled\", \"Skipped\", or \"Abandoned\".\n\n**WARNING:** this method creates a metric filter for each provider. Each metric has a status dimension with six possible values. These resources may incur cost.",
            "stability": "experimental",
            "summary": "Metric for the number of GitHub Actions jobs completed."
          },
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 841
          },
          "name": "metricJobCompleted",
          "parameters": [
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
            }
          }
        },
        {
          "docs": {
            "remarks": "A successful execution doesn't always mean a runner was started. It can be successful even without any label matches.\n\nA successful runner doesn't mean the job it executed was successful. For that, see {@link metricJobCompleted}.",
            "stability": "experimental",
            "summary": "Metric for successful executions."
          },
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 888
          },
          "name": "metricSucceeded",
          "parameters": [
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
            }
          }
        },
        {
          "docs": {
            "remarks": "This time may be longer than the time the runner took.",
            "stability": "experimental",
            "summary": "Metric for the interval, in milliseconds, between the time the execution starts and the time it closes."
          },
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 904
          },
          "name": "metricTime",
          "parameters": [
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "aws-cdk-lib.aws_cloudwatch.MetricOptions"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_cloudwatch.Metric"
            }
          }
        }
      ],
      "name": "GitHubRunners",
      "properties": [
        {
          "docs": {
            "remarks": "Use this to enable connections to your GitHub Enterprise Server in a VPC.\n\nThis cannot be used to manage connections of the runners. Use the `connections` property of each runner provider to manage runner connections.",
            "stability": "experimental",
            "summary": "Manage the connections of all management functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 301
          },
          "name": "connections",
          "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Configured runner providers."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 289
          },
          "name": "providers",
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
                    },
                    {
                      "fqn": "@cloudsnorkel/cdk-github-runners.ICompositeProvider"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Secrets for GitHub communication including webhook secret and runner authentication."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 294
          },
          "name": "secrets",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Secrets"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 317
          },
          "name": "props",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunnersProps"
          }
        }
      ],
      "symbolId": "src/runner:GitHubRunners"
    },
    "@cloudsnorkel/cdk-github-runners.GitHubRunnersProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for GitHubRunners."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunnersProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/runner.ts",
        "line": 45
      },
      "name": "GitHubRunnersProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "remarks": "**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.",
            "stability": "experimental",
            "summary": "Allow management functions to run in public subnets. Lambda Functions in a public subnet can NOT access the internet."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 92
          },
          "name": "allowPublicSubnet",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "If a directory is provided, all .pem and .crt files in that directory will be used. The certificates will be concatenated into a single file for use by Node.js.\n\nYou may also want to use custom images for your runner providers that contain the same certificates. See {@link RunnerImageComponent.extraCertificates }.\n\n```typescript\nconst selfSignedCertificates = 'certs/ghes.pem'; // or 'path-to-my-extra-certs-folder' for a directory\nconst imageBuilder = CodeBuildRunnerProvider.imageBuilder(this, 'Image Builder with Certs');\nimageBuilder.addComponent(RunnerImageComponent.extraCertificates(selfSignedCertificates, 'private-ca'));\n\nconst provider = new CodeBuildRunnerProvider(this, 'CodeBuild', {\n    imageBuilder: imageBuilder,\n});\n\nnew GitHubRunners(\n  this,\n  'runners',\n  {\n    providers: [provider],\n    extraCertificates: selfSignedCertificates,\n  }\n);\n```",
            "stability": "experimental",
            "summary": "Path to a certificate file (.pem or .crt) or a directory containing certificate files (.pem or .crt) required to trust GitHub Enterprise Server. Use this when GitHub Enterprise Server certificates are self-signed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 138
          },
          "name": "extraCertificates",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "5 minutes",
            "remarks": "If the user cancelled the job, or if another runner stole it, this stops the runner to avoid wasting resources.",
            "stability": "experimental",
            "summary": "Time to wait before stopping a runner that remains idle."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 145
          },
          "name": "idleTimeout",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no logs",
            "stability": "experimental",
            "summary": "Logging options for the state machine that manages the runners."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 152
          },
          "name": "logOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.LogOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "CodeBuild, Lambda and Fargate runners with all the defaults (no VPC or default account VPC)",
            "remarks": "At least one provider is required. Provider will be selected when its label matches the labels requested by the workflow job.",
            "stability": "experimental",
            "summary": "List of runner providers to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 51
          },
          "name": "providers",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "union": {
                  "types": [
                    {
                      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
                    },
                    {
                      "fqn": "@cloudsnorkel/cdk-github-runners.ICompositeProvider"
                    }
                  ]
                }
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "* The function receives the webhook payload along with default provider and its labels as {@link ProviderSelectorInput }\n* The function returns a selected provider and its labels as {@link ProviderSelectorResult }\n* You can decline to provision a runner by returning undefined as the provider selector result\n* You can fully customize the labels for the about-to-be-provisioned runner (add, remove, modify, dynamic labels, etc.)\n* Labels don't have to match the labels originally configured for the provider, but see warnings below\n* This function will be called synchronously during webhook processing, so it should be fast and efficient (webhook limit is 30 seconds total)\n\n**WARNING: It is your responsibility to ensure the selected provider's labels match the job's required labels. If you return the wrong labels, the runner will be created but GitHub Actions will not assign the job to it.**\n\n**WARNING: Provider selection is not a guarantee that a specific provider will be assigned for the job. GitHub Actions may assign the job to any runner with matching labels. The provider selector only determines which provider's runner will be *created*, but GitHub Actions may route the job to any available runner with the required labels.**\n\n**For reliable provider assignment based on job characteristics, consider using repo-level runner registration where you can control which runners are available for specific repositories. This information is also available while using the setup wizard.",
            "see": "https://github.com/CloudSnorkel/cdk-github-runners/blob/main/SETUP_GITHUB.md",
            "stability": "experimental",
            "summary": "Optional Lambda function to customize provider selection logic and label assignment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 209
          },
          "name": "providerSelector",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_lambda.IFunction"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "If `true`, the runner will only start if the workflow job explicitly requests the `self-hosted` label.\n\nBe careful when setting this to `false`. Avoid setting up providers with generic label requirements like `linux` as they may match workflows that are not meant to run on self-hosted runners.",
            "stability": "experimental",
            "summary": "Whether to require the `self-hosted` label."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 60
          },
          "name": "requireSelfHostedLabel",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "retry 23 times up to about 24 hours",
            "remarks": "GitHub jobs time out after not being able to get a runner for 24 hours. You should not retry for more than 24 hours.\n\nTotal time spent waiting can be calculated with interval * (backoffRate ^ maxAttempts) / (backoffRate - 1).",
            "stability": "experimental",
            "summary": "Options to retry operation in case of failure like missing capacity, or API quota issues."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 189
          },
          "name": "retryOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.ProviderRetryOptions"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "use {@link securityGroups } instead",
            "remarks": "Use this with to provide access to GitHub Enterprise Server hosted inside a VPC.\n\n**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.",
            "stability": "deprecated",
            "summary": "Security group attached to all management functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 101
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Use this to provide outbound access from management functions to GitHub Enterprise Server hosted inside a VPC.\n\n**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.\n\n**Note:** Defining inbound rules on this security group does nothing. This security group only controls outbound access FROM the management functions. To limit access TO the webhook or setup functions, use {@link webhookAccess} and {@link setupAccess} instead.",
            "stability": "experimental",
            "summary": "Security groups attached to all management functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 110
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "LambdaAccess.lambdaUrl()",
            "remarks": "Once you finish the setup process, you can set this to `LambdaAccess.noAccess()` to remove access to the setup function. You can also use `LambdaAccess.apiGateway({ allowedIps: ['my-ip/0']})` to limit access to your IP only.",
            "stability": "experimental",
            "summary": "Access configuration for the setup function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 159
          },
          "name": "setupAccess",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.LambdaAccess"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "LambdaAccess.noAccess()",
            "remarks": "This function returns a lot of sensitive information about the runner, so you should only allow access to it from trusted IPs, if at all.",
            "stability": "experimental",
            "summary": "Access configuration for the status function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 178
          },
          "name": "statusAccess",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.LambdaAccess"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting and will run outside the VPC.\n\nMake sure the selected VPC and subnets have access to the following with either NAT Gateway or VPC Endpoints:\n* GitHub Enterprise Server\n* Secrets Manager\n* SQS\n* Step Functions\n* CloudFormation (status function only)\n* EC2 (status function only)\n* ECR (status function only)",
            "stability": "experimental",
            "summary": "VPC used for all management functions. Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 76
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Use this with GitHub Enterprise Server hosted that's inaccessible from outside the VPC.\n\n**Note:** This only affects management functions that interact with GitHub. Lambda functions that help with runner image building and don't interact with GitHub are NOT affected by this setting.",
            "stability": "experimental",
            "summary": "VPC subnets used for all management functions."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 83
          },
          "name": "vpcSubnets",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "LambdaAccess.lambdaUrl()",
            "remarks": "This function is called by GitHub when a new workflow job is scheduled. For an extra layer of security, you can set this to `LambdaAccess.apiGateway({ allowedIps: LambdaAccess.githubWebhookIps() })`.\n\nYou can also set this to `LambdaAccess.apiGateway({allowedVpc: vpc, allowedIps: ['GHES.IP.ADDRESS/32']})` if your GitHub Enterprise Server is hosted in a VPC. This will create an API Gateway endpoint that's only accessible from within the VPC.\n\n*WARNING*: changing access type may change the URL. When the URL changes, you must update GitHub as well.",
            "stability": "experimental",
            "summary": "Access configuration for the webhook function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 171
          },
          "name": "webhookAccess",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.LambdaAccess"
          }
        }
      ],
      "symbolId": "src/runner:GitHubRunnersProps"
    },
    "@cloudsnorkel/cdk-github-runners.ICompositeProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "Unlike IRunnerProvider, composite providers do not have connections, grant capabilities,\nlog groups, or retryable errors as they delegate to their sub-providers.",
        "stability": "experimental",
        "summary": "Interface for composite runner providers that interact with multiple sub-providers."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ICompositeProvider",
      "interfaces": [
        "constructs.IConstruct"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 553
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "remarks": "If the provider has multiple attempts, each attempt should be followed by a `Catch` that deletes the failed runner. Use\n{@link IRunnerRuntimeParameters.addCatchAndCleanUp} to add the catch.\n\nCalled by GithubRunners and shouldn't be called manually.",
            "stability": "experimental",
            "summary": "Generate step function tasks that execute the runner."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 579
          },
          "name": "getStepFunctionTask",
          "parameters": [
            {
              "docs": {
                "summary": "specific build parameters."
              },
              "name": "parameters",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
            "stability": "experimental",
            "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 593
          },
          "name": "grantStateMachine",
          "parameters": [
            {
              "docs": {
                "summary": "role for the state machine that executes the task returned from {@link getStepFunctionTask}."
              },
              "name": "stateMachineRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Also gives the status function any needed permissions to query the Docker images or AMIs.",
            "stability": "experimental",
            "summary": "Return statuses of all sub-providers to be used in the main status function."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 600
          },
          "name": "status",
          "parameters": [
            {
              "docs": {
                "summary": "grantable for the status function."
              },
              "name": "statusFunctionRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Merged constants from all sub-providers for the single orchestrator `$.consts` pass. Duplicate keys across sub-providers must be avoided."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 585
          },
          "name": "stepFunctionConstants",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "ICompositeProvider",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for\nbased on runs-on. We use match the labels from the webhook with the labels specified here. If all the labels specified here are present in the\njob's labels, this provider will be chosen and spawn a new runner.",
            "stability": "experimental",
            "summary": "GitHub Actions labels used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 561
          },
          "name": "labels",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This is used to extract providers for metric filters and other operations.",
            "stability": "experimental",
            "summary": "All sub-providers contained in this composite provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 567
          },
          "name": "providers",
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/providers/common:ICompositeProvider"
    },
    "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "The image can be configured by adding or removing components. The image builder can be configured by adding grants or allowing connections.\n\nAn image can be a Docker image or AMI.",
        "stability": "experimental",
        "summary": "Interface for constructs that build an image that can be used in {@link IRunnerProvider }."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder",
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
        "aws-cdk-lib.aws_ec2.IConnectable",
        "aws-cdk-lib.aws_iam.IGrantable"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/common.ts",
        "line": 327
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "remarks": "The component will be added to the end of the list of components.",
            "stability": "experimental",
            "summary": "Add a component to the image builder."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 333
          },
          "name": "addComponent",
          "parameters": [
            {
              "docs": {
                "summary": "component to add."
              },
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
              }
            }
          ]
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Removal is done by component name. Multiple components with the same name will all be removed.",
            "stability": "experimental",
            "summary": "Remove a component from the image builder."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 340
          },
          "name": "removeComponent",
          "parameters": [
            {
              "docs": {
                "summary": "component to remove."
              },
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
              }
            }
          ]
        }
      ],
      "name": "IConfigurableRunnerImageBuilder",
      "symbolId": "src/image-builders/common:IConfigurableRunnerImageBuilder"
    },
    "@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "AMI status returned from runner providers to be displayed as output of status function."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 422
      },
      "name": "IRunnerAmiStatus",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Id of launch template pointing to the latest AMI built by the AMI builder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 426
          },
          "name": "launchTemplate",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Log group name for the AMI builder where history of builds can be analyzed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 431
          },
          "name": "amiBuilderLogGroup",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/providers/common:IRunnerAmiStatus"
    },
    "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "An image can be a Docker image or AMI.",
        "stability": "experimental",
        "summary": "Interface for constructs that build an image that can be used in {@link IRunnerProvider }."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/common.ts",
        "line": 300
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.\n\nThe AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.",
            "stability": "experimental",
            "summary": "Build and return an AMI with GitHub Runner installed in it."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 319
          },
          "name": "bindAmi",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Anything that ends up with an ECR repository containing a Docker image that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing image and nothing else.\n\nIt's important that the specified image tag be available at the time the repository is available. Providers usually assume the image is ready and will fail if it's not.\n\nThe image can be further updated over time manually or using a schedule as long as it is always written to the same tag.",
            "stability": "experimental",
            "summary": "Build and return a Docker image with GitHub Runner installed in it."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 310
          },
          "name": "bindDockerImage",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
            }
          }
        }
      ],
      "name": "IRunnerImageBuilder",
      "symbolId": "src/image-builders/common:IRunnerImageBuilder"
    },
    "@cloudsnorkel/cdk-github-runners.IRunnerImageStatus": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "Image status returned from runner providers to be displayed in status.json."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageStatus",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 402
      },
      "name": "IRunnerImageStatus",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Image repository where image builder pushes runner images."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 406
          },
          "name": "imageRepository",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Tag of image that should be used."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 411
          },
          "name": "imageTag",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Log group name for the image builder where history of image builds can be analyzed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 416
          },
          "name": "imageBuilderLogGroup",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/providers/common:IRunnerImageStatus"
    },
    "@cloudsnorkel/cdk-github-runners.IRunnerProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "Implementations create all required resources and return a step function task that starts those resources from {@link getStepFunctionTask}.\n\nThis interface is not guaranteed to be stable. If you end up implementing your own provider, please let us know so we can consider changing that contract.",
        "stability": "experimental",
        "summary": "Interface for all runner providers."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
      "interfaces": [
        "aws-cdk-lib.aws_ec2.IConnectable",
        "aws-cdk-lib.aws_iam.IGrantable",
        "constructs.IConstruct"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 489
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Called by GithubRunners and shouldn't be called manually.",
            "stability": "experimental",
            "summary": "Generate step function tasks that execute the runner."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 520
          },
          "name": "getStepFunctionTask",
          "parameters": [
            {
              "docs": {
                "summary": "specific build parameters."
              },
              "name": "parameters",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
            "stability": "experimental",
            "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 538
          },
          "name": "grantStateMachine",
          "parameters": [
            {
              "docs": {
                "summary": "role for the state machine that executes the task returned from {@link getStepFunctionTask}."
              },
              "name": "stateMachineRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
            "stability": "experimental",
            "summary": "Return status of the runner provider to be used in the main status function."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 545
          },
          "name": "status",
          "parameters": [
            {
              "docs": {
                "summary": "grantable for the status function."
              },
              "name": "statusFunctionRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "`{}` — {@link BaseProvider } returns an empty object; override when needed (e.g. EC2 userdata template).",
            "remarks": "To use the constants in your provider, use `'$.consts.key'` as a path.",
            "stability": "experimental",
            "summary": "Static string constants injected once into the orchestrator execution input at `$.consts`. Use unique keys for dynamic values (e.g. include `this.node.path` in the key). Values must be plain strings known at synthesis time."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 530
          },
          "name": "stepFunctionConstants",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "IRunnerProvider",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for\nbased on runs-on. We use match the labels from the webhook with the labels specified here. If all the labels specified here are present in the\njob's labels, this provider will be chosen and spawn a new runner.",
            "stability": "experimental",
            "summary": "GitHub Actions labels used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 497
          },
          "name": "labels",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
            "stability": "experimental",
            "summary": "Log group where provided runners will save their logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 504
          },
          "name": "logGroup",
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "do not use",
            "stability": "deprecated",
            "summary": "List of step functions errors that should be retried."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 511
          },
          "name": "retryableErrors",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/providers/common:IRunnerProvider"
    },
    "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "Interface for runner image status used by status.json."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 437
      },
      "name": "IRunnerProviderStatus",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Labels associated with provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 446
          },
          "name": "labels",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Runner provider type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 441
          },
          "name": "type",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Details about AMI used by this runner provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 476
          },
          "name": "ami",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerAmiStatus"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "CDK construct node path for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 451
          },
          "name": "constructPath",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Details about Docker image used by this runner provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 471
          },
          "name": "image",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageStatus"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Log group for runners."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 481
          },
          "name": "logGroup",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Role attached to runners."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 466
          },
          "name": "roleArn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Security groups attached to runners."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 461
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "VPC where runners will be launched."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 456
          },
          "name": "vpcArn",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/providers/common:IRunnerProviderStatus"
    },
    "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "```sh\n./config.sh --unattended --url \"{REGISTRATION_URL}\" --token \"${RUNNER_TOKEN}\" --ephemeral --work _work --labels \"${RUNNER_LABEL}\" --name \"${RUNNER_NAME}\" --disableupdate\n```\n\nAll parameters are specified as step function paths and therefore must be used only in step function task parameters.",
        "stability": "experimental",
        "summary": "Workflow job parameters as parsed from the webhook event. Pass these into your runner executor and run something like:."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 345
      },
      "methods": [
        {
          "abstract": true,
          "docs": {
            "remarks": "It is important to fully clean up after any failed runner provisioning. GitHub\nwill fail booting a new runner if the previous one with the same name is not\nfully cleaned up.",
            "stability": "experimental",
            "summary": "Catches all errors and cleans up the failed runner from GitHub Actions."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 391
          },
          "name": "addCatchAndCleanUp",
          "parameters": [
            {
              "docs": {
                "summary": "state whose failures should trigger cleanup."
              },
              "name": "state",
              "type": {
                "union": {
                  "types": [
                    {
                      "fqn": "aws-cdk-lib.aws_stepfunctions.TaskStateBase"
                    },
                    {
                      "fqn": "aws-cdk-lib.aws_stepfunctions.Parallel"
                    },
                    {
                      "fqn": "aws-cdk-lib.aws_stepfunctions.Map"
                    }
                  ]
                }
              }
            },
            {
              "docs": {
                "summary": "optional subgraph to run after cleanup."
              },
              "name": "next",
              "optional": true,
              "type": {
                "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
              }
            }
          ]
        }
      ],
      "name": "IRunnerRuntimeParameters",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Most of the time this will be github.com but for self-hosted GitHub instances, this will be different.",
            "stability": "experimental",
            "summary": "Path to GitHub domain."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 359
          },
          "name": "githubDomainPath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to comma-separated labels string to use for runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 379
          },
          "name": "labelsPath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to repository owner name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 364
          },
          "name": "ownerPath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Repository or organization URL to register runner at."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 374
          },
          "name": "registrationUrl",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to repository name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 369
          },
          "name": "repoPath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "We specifically set the name to make troubleshooting easier.",
            "stability": "experimental",
            "summary": "Path to desired runner name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 354
          },
          "name": "runnerNamePath",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to runner token used to register token."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 349
          },
          "name": "runnerTokenPath",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/providers/common:IRunnerRuntimeParameters"
    },
    "@cloudsnorkel/cdk-github-runners.ImageBuilderAsset": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "An asset including file or directory to place inside the built image."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderAsset",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/builder.ts",
        "line": 97
      },
      "name": "ImageBuilderAsset",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Asset to place in the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 106
          },
          "name": "asset",
          "type": {
            "fqn": "aws-cdk-lib.aws_s3_assets.Asset"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Path to place asset in the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 101
          },
          "name": "path",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/builder:ImageBuilderAsset"
    },
    "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "aws-cdk-lib.Resource",
      "docs": {
        "deprecated": "Use `RunnerImageComponent` instead as this be internal soon.",
        "remarks": "Components are the building blocks of images built by Image Builder.\n\nExample:\n\n```\nnew ImageBuilderComponent(this, 'AWS CLI', {\n  platform: 'Windows',\n  displayName: 'AWS CLI',\n  description: 'Install latest version of AWS CLI',\n  commands: [\n    '$p = Start-Process msiexec.exe -PassThru -Wait -ArgumentList \\'/i https://awscli.amazonaws.com/AWSCLIV2.msi /qn\\'',\n    'if ($p.ExitCode -ne 0) { throw \"Exit code is $p.ExitCode\" }',\n  ],\n}\n```",
        "stability": "deprecated",
        "summary": "Components are a set of commands to run and optional files to add to an image."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent",
      "initializer": {
        "docs": {
          "stability": "deprecated"
        },
        "locationInModule": {
          "filename": "src/image-builders/aws-image-builder/builder.ts",
          "line": 180
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/builder.ts",
        "line": 167
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Grants read permissions to the principal on the assets buckets."
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 278
          },
          "name": "grantAssetsRead",
          "parameters": [
            {
              "name": "grantee",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 284
          },
          "name": "prefixCommandsWithErrorHandling",
          "parameters": [
            {
              "name": "platform",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "commands",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        }
      ],
      "name": "ImageBuilderComponent",
      "properties": [
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Component ARN."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 171
          },
          "name": "arn",
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "deprecated",
            "summary": "Supported platform for the component."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 176
          },
          "name": "platform",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/builder:ImageBuilderComponent"
    },
    "@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for ImageBuilderComponent construct."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponentProperties",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/builder.ts",
        "line": 112
      },
      "name": "ImageBuilderComponentProperties",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "On Linux, these are bash commands. On Windows, there are PowerShell commands.",
            "stability": "experimental",
            "summary": "Shell commands to run when adding this component to the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 133
          },
          "name": "commands",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Component description."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 126
          },
          "name": "description",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Component display name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 121
          },
          "name": "displayName",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Must match the builder platform.",
            "stability": "experimental",
            "summary": "Component platform."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 116
          },
          "name": "platform",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Optional assets to add to the built image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 138
          },
          "name": "assets",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderAsset"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Require a reboot after installing this component."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/builder.ts",
            "line": 145
          },
          "name": "reboot",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/image-builders/aws-image-builder/builder:ImageBuilderComponentProperties"
    },
    "@cloudsnorkel/cdk-github-runners.LambdaAccess": {
      "abstract": true,
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "If you need a custom access point, you can implement this abstract class yourself. Note that the Lambda functions expect API Gateway v1 or v2 input. They also expect every URL under the constructed URL to point to the function.",
        "stability": "experimental",
        "summary": "Access configuration options for Lambda functions like setup and webhook function. Use this to limit access to these functions."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.LambdaAccess",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/access.ts",
        "line": 48
      },
      "methods": [
        {
          "docs": {
            "remarks": "This is the most secure option, but requires additional configuration. It allows you to limit access to specific IP addresses and even to a specific VPC.\n\nTo limit access to GitHub.com use:\n\n```\nLambdaAccess.apiGateway({\n  allowedIps: LambdaAccess.githubWebhookIps(),\n});\n```\n\nAlternatively, get and manually update the list manually with:\n\n```\ncurl https://api.github.com/meta | jq .hooks\n```",
            "stability": "experimental",
            "summary": "Provide access using API Gateway."
          },
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 80
          },
          "name": "apiGateway",
          "parameters": [
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.ApiGatewayAccessProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.LambdaAccess"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Note that downloading dynamic data during deployment is not recommended in CDK. This is a workaround for the lack of a better solution.",
            "stability": "experimental",
            "summary": "Downloads the list of IP addresses used by GitHub.com for webhooks."
          },
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 89
          },
          "name": "githubWebhookIps",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This is the default and simplest option. It puts no limits on the requester, but the Lambda functions themselves authenticate every request.",
            "stability": "experimental",
            "summary": "Provide access using Lambda URL."
          },
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 59
          },
          "name": "lambdaUrl",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.LambdaAccess"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This is useful for the setup function after setup is done.",
            "stability": "experimental",
            "summary": "Disables access to the configured Lambda function."
          },
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 52
          },
          "name": "noAccess",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.LambdaAccess"
            }
          },
          "static": true
        },
        {
          "abstract": true,
          "docs": {
            "returns": "access URL or empty string if disabled",
            "stability": "experimental",
            "summary": "Creates all required resources and returns access URL or empty string if disabled."
          },
          "locationInModule": {
            "filename": "src/access.ts",
            "line": 100
          },
          "name": "bind",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "lambdaFunction",
              "type": {
                "fqn": "aws-cdk-lib.aws_lambda.Function"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "string"
            }
          }
        }
      ],
      "name": "LambdaAccess",
      "symbolId": "src/access:LambdaAccess"
    },
    "@cloudsnorkel/cdk-github-runners.LambdaRunner": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider",
      "docs": {
        "deprecated": "use {@link LambdaRunnerProvider }",
        "stability": "deprecated"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunner",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/lambda.ts",
          "line": 241
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/lambda.ts",
        "line": 484
      },
      "name": "LambdaRunner",
      "symbolId": "src/providers/lambda:LambdaRunner"
    },
    "@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "Creates a Docker-based function that gets executed for each job.\n\nThis construct is not meant to be used by itself. It should be passed in the providers property for GitHubRunners.",
        "stability": "experimental",
        "summary": "GitHub Actions runner provider using Lambda to execute jobs."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunnerProvider",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/lambda.ts",
          "line": 241
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps"
            }
          }
        ]
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/lambda.ts",
        "line": 141
      },
      "methods": [
        {
          "docs": {
            "remarks": "You can customize the OS, architecture, VPC, subnet, security groups, etc. by passing in props.\n\nYou can add components to the image builder by calling `imageBuilder.addComponent()`.\n\nThe default OS is Amazon Linux 2023 running on x64 architecture.\n\nIncluded components:\n * `RunnerImageComponent.requiredPackages()`\n * `RunnerImageComponent.runnerUser()`\n * `RunnerImageComponent.git()`\n * `RunnerImageComponent.githubCli()`\n * `RunnerImageComponent.awsCli()`\n * `RunnerImageComponent.githubRunner()`\n * `RunnerImageComponent.lambdaEntrypoint()`",
            "stability": "experimental",
            "summary": "Create new image builder that builds Lambda specific runner images."
          },
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 182
          },
          "name": "imageBuilder",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Called by GithubRunners and shouldn't be called manually.",
            "stability": "experimental",
            "summary": "Generate step function task(s) to start a new runner."
          },
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 335
          },
          "name": "getStepFunctionTask",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "docs": {
                "summary": "workflow job details."
              },
              "name": "parameters",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerRuntimeParameters"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "aws-cdk-lib.aws_stepfunctions.IChainable"
            }
          }
        },
        {
          "docs": {
            "remarks": "This can be used to add additional policy\nstatements to the state machine role that are not automatically added by the task returned from {@link getStepFunctionTask}.",
            "stability": "experimental",
            "summary": "An optional method that modifies the role of the state machine after all the tasks have been generated."
          },
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 400
          },
          "name": "grantStateMachine",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "_",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ]
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 677
          },
          "name": "labelsFromProperties",
          "parameters": [
            {
              "name": "defaultLabel",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabel",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "propsLabels",
              "optional": true,
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "protected": true,
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "Also gives the status function any needed permissions to query the Docker image or AMI.",
            "stability": "experimental",
            "summary": "Return status of the runner provider to be used in the main status function."
          },
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 403
          },
          "name": "status",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "parameters": [
            {
              "name": "statusFunctionRole",
              "type": {
                "fqn": "aws-cdk-lib.aws_iam.IGrantable"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProviderStatus"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Override to inject static strings into `$.consts` on the orchestrator state machine."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 673
          },
          "name": "stepFunctionConstants",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "map"
              }
            }
          }
        }
      ],
      "name": "LambdaRunnerProvider",
      "properties": [
        {
          "const": true,
          "docs": {
            "deprecated": "Use `imageBuilder()` instead.",
            "remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be similar to public.ecr.aws/lambda/nodejs:14.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
            "stability": "deprecated",
            "summary": "Path to Dockerfile for Linux ARM64 with all the requirement for Lambda runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 162
          },
          "name": "LINUX_ARM64_DOCKERFILE_PATH",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "const": true,
          "docs": {
            "deprecated": "Use `imageBuilder()` instead.",
            "remarks": "Use this Dockerfile unless you need to customize it further than allowed by hooks.\n\nAvailable build arguments that can be set in the image builder:\n* `BASE_IMAGE` sets the `FROM` line. This should be similar to public.ecr.aws/lambda/nodejs:14.\n* `EXTRA_PACKAGES` can be used to install additional packages.",
            "stability": "deprecated",
            "summary": "Path to Dockerfile for Linux x64 with all the requirement for Lambda runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 151
          },
          "name": "LINUX_X64_DOCKERFILE_PATH",
          "static": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 324
          },
          "name": "connections",
          "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "The function hosting the GitHub runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 202
          },
          "name": "function",
          "type": {
            "fqn": "aws-cdk-lib.aws_lambda.Function"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Grant principal used to add permissions to the runner role."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 212
          },
          "name": "grantPrincipal",
          "overrides": "aws-cdk-lib.aws_iam.IGrantable",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
          }
        },
        {
          "docs": {
            "deprecated": "This field is internal and should not be accessed directly.",
            "remarks": "The image is built by an image builder and is specific to Lambda.",
            "stability": "deprecated",
            "summary": "Docker image loaded with GitHub Actions Runner and its prerequisites."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 219
          },
          "name": "image",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Labels associated with this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 207
          },
          "name": "labels",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "docs": {
            "remarks": "Note that this is not the job log, but the runner itself. It will not contain output from the GitHub Action but only metadata on its execution.",
            "stability": "experimental",
            "summary": "Log group where provided runners will save their logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 226
          },
          "name": "logGroup",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.ILogGroup"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "List of step functions errors that should be retried."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 228
          },
          "name": "retryableErrors",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerProvider",
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/providers/lambda:LambdaRunnerProvider"
    },
    "@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.LambdaRunnerProviderProps",
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.RunnerProviderProps"
      ],
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/lambda.ts",
        "line": 32
      },
      "name": "LambdaRunnerProviderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "10 GiB",
            "stability": "experimental",
            "summary": "The size of the function’s /tmp directory in MiB."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 92
          },
          "name": "ephemeralStorageSize",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Size"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "remarks": "If specified, the runner will be registered with this group name. Setting a runner group can help managing access to self-hosted runners. It\nrequires a paid GitHub account.\n\nThe group must exist or the runner will not start.\n\nUsers will still be able to trigger this runner with the correct labels. But the runner will only be able to run jobs from repos allowed to use the group.",
            "stability": "experimental",
            "summary": "GitHub Actions runner group name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 75
          },
          "name": "group",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "LambdaRunnerProvider.imageBuilder()",
            "remarks": "The image builder must contain the {@link RunnerImageComponent.lambdaEntrypoint} component.\n\nThe image builder determines the OS and architecture of the runner.",
            "stability": "experimental",
            "summary": "Runner image builder used to build Docker images containing GitHub Runner and all requirements."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 42
          },
          "name": "imageBuilder",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "undefined",
            "deprecated": "use {@link labels } instead",
            "stability": "deprecated",
            "summary": "GitHub Actions label used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 50
          },
          "name": "label",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "['lambda']",
            "remarks": "These labels are used to identify which provider should spawn a new on-demand runner. Every job sends a webhook with the labels it's looking for\nbased on runs-on. We match the labels from the webhook with the labels specified here. If all the labels specified here are present in the\njob's labels, this provider will be chosen and spawn a new runner.",
            "stability": "experimental",
            "summary": "GitHub Actions labels used for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 61
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "2048",
            "remarks": "Lambda uses this value to proportionally allocate the amount of CPU\npower. For more information, see Resource Model in the AWS Lambda\nDeveloper Guide.",
            "stability": "experimental",
            "summary": "The amount of memory, in MB, that is allocated to your Lambda function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 85
          },
          "name": "memorySize",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "public lambda with no security group",
            "deprecated": "use {@link securityGroups }",
            "stability": "deprecated",
            "summary": "Security group to assign to this instance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 117
          },
          "name": "securityGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "public lambda with no security group",
            "stability": "experimental",
            "summary": "Security groups to assign to this instance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 124
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no subnet",
            "stability": "experimental",
            "summary": "Where to place the network interfaces within the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 131
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.minutes(15)",
            "remarks": "Because the execution time affects cost, set this value\nbased on the function's expected execution time.",
            "stability": "experimental",
            "summary": "The function execution time (in seconds) after which Lambda terminates the function."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 101
          },
          "name": "timeout",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no VPC",
            "stability": "experimental",
            "summary": "VPC to launch the runners in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/lambda.ts",
            "line": 108
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        }
      ],
      "symbolId": "src/providers/lambda:LambdaRunnerProviderProps"
    },
    "@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "deprecated": "Use `RunnerImageComponent` instead.",
        "remarks": "These cannot be used by {@link CodeBuildImageBuilder }.",
        "stability": "deprecated",
        "summary": "Components for Ubuntu Linux that can be used with AWS Image Builder based builders."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.LinuxUbuntuComponents",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
        "line": 11
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 50
          },
          "name": "awsCli",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 133
          },
          "name": "docker",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 151
          },
          "name": "extraCertificates",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 88
          },
          "name": "git",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 73
          },
          "name": "githubCli",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 101
          },
          "name": "githubRunner",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "runnerVersion",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
              }
            },
            {
              "name": "architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 12
          },
          "name": "requiredPackages",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/linux-components.ts",
            "line": 37
          },
          "name": "runnerUser",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        }
      ],
      "name": "LinuxUbuntuComponents",
      "symbolId": "src/image-builders/aws-image-builder/deprecated/linux-components:LinuxUbuntuComponents"
    },
    "@cloudsnorkel/cdk-github-runners.LogOptions": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Defines what execution history events are logged and where they are logged."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.LogOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/runner.ts",
        "line": 215
      },
      "name": "LogOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "false",
            "stability": "experimental",
            "summary": "Determines whether execution data is included in your log."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 226
          },
          "name": "includeExecutionData",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "ERROR",
            "stability": "experimental",
            "summary": "Defines which category of execution history events are logged."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 233
          },
          "name": "level",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_stepfunctions.LogLevel"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The log group where the execution history events will be logged."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 219
          },
          "name": "logGroupName",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "logs.RetentionDays.ONE_MONTH",
            "remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
            "stability": "experimental",
            "summary": "The number of days log events are kept in CloudWatch Logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/runner.ts",
            "line": 242
          },
          "name": "logRetention",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.RetentionDays"
          }
        }
      ],
      "symbolId": "src/runner:LogOptions"
    },
    "@cloudsnorkel/cdk-github-runners.Os": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "OS enum for an image."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.Os",
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 116
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Checks if the given OS is the same as this one."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 182
          },
          "name": "is",
          "parameters": [
            {
              "docs": {
                "summary": "OS to compare."
              },
              "name": "os",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Checks if this OS is in a given list."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 191
          },
          "name": "isIn",
          "parameters": [
            {
              "docs": {
                "summary": "list of OS to check."
              },
              "name": "oses",
              "type": {
                "collection": {
                  "elementtype": {
                    "fqn": "@cloudsnorkel/cdk-github-runners.Os"
                  },
                  "kind": "array"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        }
      ],
      "name": "Os",
      "properties": [
        {
          "const": true,
          "docs": {
            "deprecated": "use {@link LINUX_UBUNTU }, {@link LINUX_UBUNTU_2404 }, {@link LINUX_AMAZON_2 } or {@link LINUX_AMAZON_2023 }",
            "stability": "deprecated",
            "summary": "Linux."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 122
          },
          "name": "LINUX",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Amazon Linux 2."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 142
          },
          "name": "LINUX_AMAZON_2",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Amazon Linux 2023."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 147
          },
          "name": "LINUX_AMAZON_2023",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Ubuntu Linux."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 127
          },
          "name": "LINUX_UBUNTU",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Ubuntu Linux 22.04."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 132
          },
          "name": "LINUX_UBUNTU_2204",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Ubuntu Linux 24.04."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 137
          },
          "name": "LINUX_UBUNTU_2404",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "const": true,
          "docs": {
            "stability": "experimental",
            "summary": "Windows."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 168
          },
          "name": "WINDOWS",
          "static": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 174
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/providers/common:Os"
    },
    "@cloudsnorkel/cdk-github-runners.ProviderRetryOptions": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "remarks": "The default is to retry 23 times for about 24 hours with increasing interval.",
        "stability": "experimental",
        "summary": "Retry options for providers."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ProviderRetryOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 280
      },
      "name": "ProviderRetryOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "1.3",
            "stability": "experimental",
            "summary": "Multiplication for how much longer the wait interval gets on every retry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 307
          },
          "name": "backoffRate",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "1 minute",
            "remarks": "This interval will be multiplied by {@link backoffRate} each retry.",
            "stability": "experimental",
            "summary": "How much time to wait after first retryable failure."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 293
          },
          "name": "interval",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "23",
            "stability": "experimental",
            "summary": "How many times to retry."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 300
          },
          "name": "maxAttempts",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "Which failures generate a retry depends on the specific provider.",
            "stability": "experimental",
            "summary": "Set to true to retry provider on supported failures."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 286
          },
          "name": "retry",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/providers/common:ProviderRetryOptions"
    },
    "@cloudsnorkel/cdk-github-runners.ProviderSelectorInput": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Input to the provider selector Lambda function."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ProviderSelectorInput",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/webhook.ts",
        "line": 12
      },
      "name": "ProviderSelectorInput",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "* Original labels requested by the workflow job can be found at `payload.workflow_job.labels`.\n* Repository path (e.g. CloudSnorkel/cdk-github-runners) is at `payload.repository.full_name`.\n* Commit hash is at `payload.workflow_job.head_sha`.",
            "see": "https://docs.github.com/en/webhooks/webhook-events-and-payloads?actionType=queued#workflow_job",
            "stability": "experimental",
            "summary": "Full GitHub webhook payload (workflow_job event structure with action=\"queued\")."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/webhook.ts",
            "line": 22
          },
          "name": "payload",
          "type": {
            "primitive": "any"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Example: { \"MyStack/Small\": [\"linux\", \"small\"], \"MyStack/Large\": [\"linux\", \"large\"] }",
            "stability": "experimental",
            "summary": "Map of available provider node paths to their configured labels."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/webhook.ts",
            "line": 28
          },
          "name": "providers",
          "type": {
            "collection": {
              "elementtype": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "array"
                }
              },
              "kind": "map"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "May be undefined if no provider matched by default.",
            "stability": "experimental",
            "summary": "Labels that would have been used by default (the selected provider's labels)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/webhook.ts",
            "line": 41
          },
          "name": "defaultLabels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Use this to easily return the default selection: `{ provider: input.defaultProvider, labels: input.defaultLabels }`\nMay be undefined if no provider matched by default.",
            "stability": "experimental",
            "summary": "Provider node path that would have been selected by default label matching."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/webhook.ts",
            "line": 35
          },
          "name": "defaultProvider",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/webhook:ProviderSelectorInput"
    },
    "@cloudsnorkel/cdk-github-runners.ProviderSelectorResult": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Result from the provider selector Lambda function."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ProviderSelectorResult",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/webhook.ts",
        "line": 47
      },
      "name": "ProviderSelectorResult",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Must be returned when a provider is selected.\nCan be used to add, remove, or modify labels.",
            "stability": "experimental",
            "summary": "Labels to use when registering the runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/webhook.ts",
            "line": 60
          },
          "name": "labels",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Node path of the provider to use (e.g., \"MyStack/MyProvider\"). Must match one of the configured provider node paths from the input. If not provided, the job will be skipped (no runner created)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/webhook.ts",
            "line": 53
          },
          "name": "provider",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/webhook:ProviderSelectorResult"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerAmi": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Description of a AMI built by {@link RunnerImageBuilder }."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 248
      },
      "name": "RunnerAmi",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Architecture of the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 257
          },
          "name": "architecture",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Launch template pointing to the latest AMI."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 252
          },
          "name": "launchTemplate",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.ILaunchTemplate"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "OS type of the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 262
          },
          "name": "os",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "open a ticket if you need this",
            "stability": "deprecated",
            "summary": "Installed runner version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 274
          },
          "name": "runnerVersion",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Log group where image builds are logged."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 267
          },
          "name": "logGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.LogGroup"
          }
        }
      ],
      "symbolId": "src/providers/common:RunnerAmi"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerImage": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Description of a Docker image built by {@link RunnerImageBuilder }."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 204
      },
      "name": "RunnerImage",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Architecture of the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 218
          },
          "name": "architecture",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "ECR repository containing the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 208
          },
          "name": "imageRepository",
          "type": {
            "fqn": "aws-cdk-lib.aws_ecr.IRepository"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Static image tag where the image will be pushed."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 213
          },
          "name": "imageTag",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "OS type of the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 223
          },
          "name": "os",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "open a ticket if you need this",
            "stability": "deprecated",
            "summary": "Installed runner version."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 235
          },
          "name": "runnerVersion",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Log group where image builds are logged."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 228
          },
          "name": "logGroup",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.LogGroup"
          }
        }
      ],
      "symbolId": "src/providers/common:RunnerImage"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerImageAsset": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Asset to copy into a built image."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageAsset",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/common.ts",
        "line": 120
      },
      "name": "RunnerImageAsset",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Can be a file or a directory.",
            "stability": "experimental",
            "summary": "Path on local system to copy into the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 124
          },
          "name": "source",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Target path in the built image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 129
          },
          "name": "target",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/image-builders/common:RunnerImageAsset"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder": {
      "abstract": true,
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "Images can be customized before passed into the provider by adding or removing components to be installed.\n\nImages are rebuilt every week by default to ensure that the latest security patches are applied.",
        "stability": "experimental",
        "summary": "GitHub Runner image builder. Builds a Docker image or AMI with GitHub Runner and other requirements installed."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/image-builders/common.ts",
          "line": 349
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "optional": true,
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
            }
          }
        ],
        "protected": true
      },
      "interfaces": [
        "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
      ],
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/api.ts",
        "line": 15
      },
      "methods": [
        {
          "docs": {
            "remarks": "The implementation will differ based on the OS, architecture, and requested builder type.",
            "stability": "experimental",
            "summary": "Create a new image builder based on the provided properties."
          },
          "locationInModule": {
            "filename": "src/image-builders/api.ts",
            "line": 19
          },
          "name": "new",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "props",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "The component will be added to the end of the list of components.",
            "stability": "experimental",
            "summary": "Add a component to the image builder."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 364
          },
          "name": "addComponent",
          "overrides": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder",
          "parameters": [
            {
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
              }
            }
          ]
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Anything that ends up with a launch template pointing to an AMI that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing AMI and nothing else.\n\nThe AMI can be further updated over time manually or using a schedule as long as it is always written to the same launch template.",
            "stability": "experimental",
            "summary": "Build and return an AMI with GitHub Runner installed in it."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 359
          },
          "name": "bindAmi",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerAmi"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Anything that ends up with an ECR repository containing a Docker image that runs GitHub self-hosted runners can be used. A simple implementation could even point to an existing image and nothing else.\n\nIt's important that the specified image tag be available at the time the repository is available. Providers usually assume the image is ready and will fail if it's not.\n\nThe image can be further updated over time manually or using a schedule as long as it is always written to the same tag.",
            "stability": "experimental",
            "summary": "Build and return a Docker image with GitHub Runner installed in it."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 357
          },
          "name": "bindDockerImage",
          "overrides": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImage"
            }
          }
        },
        {
          "docs": {
            "remarks": "Removal is done by component name. Multiple components with the same name will all be removed.",
            "stability": "experimental",
            "summary": "Remove a component from the image builder."
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 368
          },
          "name": "removeComponent",
          "overrides": "@cloudsnorkel/cdk-github-runners.IConfigurableRunnerImageBuilder",
          "parameters": [
            {
              "name": "component",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
              }
            }
          ]
        }
      ],
      "name": "RunnerImageBuilder",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The network connections associated with this resource."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 361
          },
          "name": "connections",
          "overrides": "aws-cdk-lib.aws_ec2.IConnectable",
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.Connections"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The principal to grant permissions to."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 362
          },
          "name": "grantPrincipal",
          "overrides": "aws-cdk-lib.aws_iam.IGrantable",
          "type": {
            "fqn": "aws-cdk-lib.aws_iam.IPrincipal"
          }
        },
        {
          "docs": {
            "stability": "experimental"
          },
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 347
          },
          "name": "components",
          "protected": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
              },
              "kind": "array"
            }
          }
        }
      ],
      "symbolId": "src/image-builders/api:RunnerImageBuilder"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/common.ts",
        "line": 132
      },
      "name": "RunnerImageBuilderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "Architecture.X86_64",
            "stability": "experimental",
            "summary": "Image architecture."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 138
          },
          "name": "architecture",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Only used when builderType is RunnerImageBuilderType.AWS_IMAGE_BUILDER.",
            "stability": "experimental",
            "summary": "Options specific to AWS Image Builder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 265
          },
          "name": "awsImageBuilderOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.AwsImageBuilderRunnerImageBuilderProps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "latest Ubuntu 22.04 AMI for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, Ubuntu 24.04 AMI for Os.LINUX_UBUNTU_2404, latest Amazon Linux 2 AMI for Os.LINUX_AMAZON_2, latest Windows Server 2022 AMI for Os.WINDOWS",
            "remarks": "This can be:\n- A string (AMI ID, Image Builder ARN, SSM parameter reference, or Marketplace product ID) - deprecated, use BaseImage static factory methods instead\n- A BaseImage instance created using static factory methods:\n  - `BaseImage.fromAmiId('ami-12345')` - Use an AMI ID\n  - `BaseImage.fromString('arn:aws:imagebuilder:...')` - Use any string (ARN, AMI ID, etc.)\n  - `BaseImage.fromSsmParameter(parameter)` - Use an SSM parameter object\n  - `BaseImage.fromSsmParameterName('/aws/service/ami/...')` - Use an SSM parameter by name\n  - `BaseImage.fromMarketplaceProductId('product-id')` - Use a Marketplace product ID\n  - `BaseImage.fromImageBuilder(scope, 'ubuntu-server-22-lts-x86')` - Use an AWS-provided Image Builder image\n\nFor example `BaseImage.fromImageBuilder(scope, 'ubuntu-server-22-lts-x86')` would always use the latest version of Ubuntu 22.04 in each build. If you want a specific version, you can pass the version as the third parameter.",
            "stability": "experimental",
            "summary": "Base AMI from which runner AMIs will be built."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 190
          },
          "name": "baseAmi",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "fqn": "@cloudsnorkel/cdk-github-runners.BaseImage"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "public.ecr.aws/lts/ubuntu:22.04 for Os.LINUX_UBUNTU and Os.LINUX_UBUNTU_2204, public.ecr.aws/lts/ubuntu:24.04 for Os.LINUX_UBUNTU_2404, public.ecr.aws/amazonlinux/amazonlinux:2 for Os.LINUX_AMAZON_2, mcr.microsoft.com/windows/servercore:ltsc2019-amd64 for Os.WINDOWS",
            "remarks": "This can be:\n- A string (ECR/ECR public image URI, DockerHub image, or Image Builder ARN) - deprecated, use BaseContainerImage static factory methods instead\n- A BaseContainerImage instance created using static factory methods:\n  - `BaseContainerImage.fromDockerHub('ubuntu', '22.04')` - Use DockerHub\n  - `BaseContainerImage.fromEcr(repo, 'latest')` - Use ECR (automatically grants permissions with CodeBuild)\n  - `BaseContainerImage.fromEcrPublic('lts', 'ubuntu', '22.04')` - Use ECR Public\n  - `BaseContainerImage.fromString('public.ecr.aws/lts/ubuntu:22.04')` - Use any string\n\nWhen using private images from a different account or not on ECR, you may need to include additional setup commands with {@link dockerSetupCommands}.",
            "stability": "experimental",
            "summary": "Base image from which Docker runner images will be built."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 162
          },
          "name": "baseDockerImage",
          "optional": true,
          "type": {
            "union": {
              "types": [
                {
                  "primitive": "string"
                },
                {
                  "fqn": "@cloudsnorkel/cdk-github-runners.BaseContainerImage"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "CodeBuild for Linux Docker image, AWS Image Builder for Windows Docker image and any AMI",
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 255
          },
          "name": "builderType",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Only used when builderType is RunnerImageBuilderType.CODE_BUILD.",
            "stability": "experimental",
            "summary": "Options specific to CodeBuild image builder."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 260
          },
          "name": "codeBuildOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.CodeBuildRunnerImageBuilderProps"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "none",
            "stability": "experimental",
            "summary": "Components to install on the image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 204
          },
          "name": "components",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "[]",
            "remarks": "Use this to execute commands such as `docker login` or `aws ecr get-login-password` to pull private base images.",
            "stability": "experimental",
            "summary": "Additional commands to run on the build host before starting the Docker runner image build."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 171
          },
          "name": "dockerSetupCommands",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "RemovalPolicy.DESTROY",
            "remarks": "If deployment fails on the custom resource, try setting this to `RemovalPolicy.RETAIN`. This way the CodeBuild logs can still be viewed, and you can see why the build failed.\n\nWe try to not leave anything behind when removed. But sometimes a log staying behind is useful.",
            "stability": "experimental",
            "summary": "Removal policy for logs of image builds."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 250
          },
          "name": "logRemovalPolicy",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.RemovalPolicy"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "logs.RetentionDays.ONE_MONTH",
            "remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
            "stability": "experimental",
            "summary": "The number of days log events are kept in CloudWatch Logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 241
          },
          "name": "logRetention",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.RetentionDays"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "OS.LINUX_UBUNTU",
            "stability": "experimental",
            "summary": "Image OS."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 145
          },
          "name": "os",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.Os"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "Duration.days(7)",
            "remarks": "Useful for keeping the image up-do-date with the latest GitHub runner version and latest OS updates.\n\nSet to zero to disable.",
            "stability": "experimental",
            "summary": "Schedule the image to be rebuilt every given interval."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 213
          },
          "name": "rebuildInterval",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "latest version available",
            "stability": "experimental",
            "summary": "Version of GitHub Runners to install."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 197
          },
          "name": "runnerVersion",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Security Groups to assign to this instance."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 225
          },
          "name": "securityGroups",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "aws-cdk-lib.aws_ec2.ISecurityGroup"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no subnet",
            "stability": "experimental",
            "summary": "Where to place the network interfaces within the VPC."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 232
          },
          "name": "subnetSelection",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.SubnetSelection"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "no VPC",
            "stability": "experimental",
            "summary": "VPC to build the image in."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 220
          },
          "name": "vpc",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.IVpc"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "It's usually best to leave this enabled to ensure everything is ready once deployment is done. However, it can be disabled to speed up deployment in case where you have a lot of image components that can take a long time to build.\n\nDisabling this option means a finished deployment is not ready to be used. You will have to wait for the image to finish building before the system can be used.\n\nDisabling this option may also mean any changes to settings or components can take up to a week (default rebuild interval) to take effect.",
            "stability": "experimental",
            "summary": "Wait for image to finish building during deployment."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/common.ts",
            "line": 276
          },
          "name": "waitOnDeploy",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        }
      ],
      "symbolId": "src/image-builders/common:RunnerImageBuilderProps"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageBuilderType",
      "kind": "enum",
      "locationInModule": {
        "filename": "src/image-builders/common.ts",
        "line": 279
      },
      "members": [
        {
          "docs": {
            "remarks": "Faster than AWS Image Builder, but can only be used to build Linux Docker images.",
            "stability": "experimental",
            "summary": "Build runner images using AWS CodeBuild."
          },
          "name": "CODE_BUILD"
        },
        {
          "docs": {
            "remarks": "Slower than CodeBuild, but can be used to build any type of image including AMIs and Windows images.",
            "stability": "experimental",
            "summary": "Build runner images using AWS Image Builder."
          },
          "name": "AWS_IMAGE_BUILDER"
        }
      ],
      "name": "RunnerImageBuilderType",
      "symbolId": "src/image-builders/common:RunnerImageBuilderType"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerImageComponent": {
      "abstract": true,
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "remarks": "They can run commands in the image, copy files into the image, and run some Docker commands.",
        "stability": "experimental",
        "summary": "Components are used to build runner images."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/components.ts",
        "line": 73
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "A component to install the AWS CLI."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 217
          },
          "name": "awsCli",
          "parameters": [
            {
              "docs": {
                "summary": "Software version to install (e.g. '2.15.0'). Default: latest."
              },
              "name": "version",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A component to install CloudWatch Agent for the runner so we can send logs."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 141
          },
          "name": "cloudWatchAgent",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "The order of operations is (1) assets (2) commands (3) docker commands.\n\nUse this to customize the image for the runner.\n\n**WARNING:** Docker commands are not guaranteed to be included before the next component",
            "stability": "experimental",
            "summary": "Define a custom component that can run commands in the image, copy files into the image, and run some Docker commands."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 83
          },
          "name": "custom",
          "parameters": [
            {
              "name": "props",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "On Windows this sets up dockerd for Windows containers without Docker Desktop. If you need Linux containers on Windows, you'll need to install Docker Desktop which doesn't seem to play well with servers (PRs welcome).",
            "stability": "experimental",
            "summary": "A component to install Docker."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 477
          },
          "name": "docker",
          "parameters": [
            {
              "docs": {
                "summary": "Software version to install (e.g. '29.1.5'). Default: latest. Only used on Windows; on Linux (Ubuntu, Amazon Linux 2 and Amazon Linux 2023) the package version format is not reliably predictable so latest is always used."
              },
              "name": "version",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "deprecated": "use `docker()`",
            "stability": "deprecated",
            "summary": "A component to install Docker-in-Docker."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 576
          },
          "name": "dockerInDocker",
          "parameters": [
            {
              "docs": {
                "summary": "Software version to install (e.g. '29.1.5'). Default: latest."
              },
              "name": "version",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "These variables only affect the jobs ran by the runner. They are not global. They do not affect other components.\n\nIt is not recommended to use this component to pass secrets. Instead, use GitHub Secrets or AWS Secrets Manager.\n\nMust be used after the {@link githubRunner} component.",
            "stability": "experimental",
            "summary": "A component to add environment variables for jobs the runner executes."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 693
          },
          "name": "environmentVariables",
          "parameters": [
            {
              "name": "vars",
              "type": {
                "collection": {
                  "elementtype": {
                    "primitive": "string"
                  },
                  "kind": "map"
                }
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This can be used to support GitHub Enterprise Server with self-signed certificate.",
            "stability": "experimental",
            "summary": "A component to add a trusted certificate authority."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 586
          },
          "name": "extraCertificates",
          "parameters": [
            {
              "docs": {
                "summary": "path to certificate file in PEM format, or a directory containing certificate files (.pem or .crt)."
              },
              "name": "source",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "unique certificate name to be used on runner file system."
              },
              "name": "name",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A component to install Git."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 321
          },
          "name": "git",
          "parameters": [
            {
              "docs": {
                "summary": "Software version to install (e.g. '2.43.0.windows.1'). Default: latest. Only used on Windows; on Linux the package manager is used."
              },
              "name": "version",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A component to install the GitHub CLI."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 262
          },
          "name": "githubCli",
          "parameters": [
            {
              "docs": {
                "summary": "Software version to install (e.g. '2.40.0'). Default: latest. Only used on Windows (x64/windows_amd64); on Linux the package manager is used."
              },
              "name": "version",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "This is the actual executable that connects to GitHub to ask for jobs and then execute them.",
            "stability": "experimental",
            "summary": "A component to install the GitHub Actions Runner."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 380
          },
          "name": "githubRunner",
          "parameters": [
            {
              "docs": {
                "remarks": "Usually you would set this to latest.",
                "summary": "The version of the runner to install."
              },
              "name": "runnerVersion",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A component to set up the required Lambda entrypoint for Lambda runners."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 650
          },
          "name": "lambdaEntrypoint",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A component to install the required packages for the runner."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 108
          },
          "name": "requiredPackages",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "A component to prepare the required runner user."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 184
          },
          "name": "runnerUser",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "Can be used to copy files into the image.",
            "stability": "experimental",
            "summary": "Returns assets to copy into the built image."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 730
          },
          "name": "getAssets",
          "parameters": [
            {
              "name": "_os",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageAsset"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Can be used to install packages, setup build prerequisites, etc.",
            "stability": "experimental",
            "summary": "Returns commands to run to in built image."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 725
          },
          "name": "getCommands",
          "parameters": [
            {
              "name": "_os",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "remarks": "Can be used to add commands like `VOLUME`, `ENTRYPOINT`, `CMD`, etc.\n\nDocker commands are added after assets and normal commands.",
            "stability": "experimental",
            "summary": "Returns Docker commands to run to in built image."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 739
          },
          "name": "getDockerCommands",
          "parameters": [
            {
              "name": "_os",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "collection": {
                "elementtype": {
                  "primitive": "string"
                },
                "kind": "array"
              }
            }
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Returns true if the image builder should be rebooted after this component is installed."
          },
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 746
          },
          "name": "shouldReboot",
          "parameters": [
            {
              "name": "_os",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            },
            {
              "name": "_architecture",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        }
      ],
      "name": "RunnerImageComponent",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "remarks": "Used to identify component in image build logs, and for {@link IConfigurableRunnerImageBuilder.removeComponent }",
            "stability": "experimental",
            "summary": "Component name."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 720
          },
          "name": "name",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/image-builders/components:RunnerImageComponent"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental"
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageComponentCustomProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/image-builders/components.ts",
        "line": 11
      },
      "name": "RunnerImageComponentCustomProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Assets to copy into the built image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 27
          },
          "name": "assets",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerImageAsset"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Commands to run in the built image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 22
          },
          "name": "commands",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "For example: `['ENV foo=bar', 'RUN echo $foo']`\n\nThese commands are ignored when building AMIs.",
            "stability": "experimental",
            "summary": "Docker commands to run in the built image."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 36
          },
          "name": "dockerCommands",
          "optional": true,
          "type": {
            "collection": {
              "elementtype": {
                "primitive": "string"
              },
              "kind": "array"
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Name must only contain alphanumeric characters and dashes.",
            "stability": "experimental",
            "summary": "Component name used for (1) image build logging and (2) identifier for {@link IConfigurableRunnerImageBuilder.removeComponent }."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/image-builders/components.ts",
            "line": 17
          },
          "name": "name",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/image-builders/components:RunnerImageComponentCustomProps"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerProviderProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Common properties for all runner providers."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerProviderProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 313
      },
      "name": "RunnerProviderProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "true",
            "remarks": "This will tell GitHub Runner to add default labels like `self-hosted`, `linux`, `x64`, and `arm64`.",
            "stability": "experimental",
            "summary": "Add default labels based on OS and architecture of the runner."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 333
          },
          "name": "defaultLabels",
          "optional": true,
          "type": {
            "primitive": "boolean"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "logs.RetentionDays.ONE_MONTH",
            "remarks": "When updating\nthis property, unsetting it doesn't remove the log retention policy. To\nremove the retention policy, set the value to `INFINITE`.",
            "stability": "experimental",
            "summary": "The number of days log events are kept in CloudWatch Logs."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 321
          },
          "name": "logRetention",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_logs.RetentionDays"
          }
        },
        {
          "abstract": true,
          "docs": {
            "deprecated": "use {@link retryOptions } on {@link GitHubRunners } instead",
            "stability": "deprecated"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 326
          },
          "name": "retryOptions",
          "optional": true,
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.ProviderRetryOptions"
          }
        }
      ],
      "symbolId": "src/providers/common:RunnerProviderProps"
    },
    "@cloudsnorkel/cdk-github-runners.RunnerVersion": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "Defines desired GitHub Actions runner version."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/providers/common.ts",
          "line": 40
        },
        "parameters": [
          {
            "name": "version",
            "type": {
              "primitive": "string"
            }
          }
        ],
        "protected": true
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 21
      },
      "methods": [
        {
          "docs": {
            "stability": "experimental",
            "summary": "Use the latest version available at the time the runner provider image is built."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 25
          },
          "name": "latest",
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
            }
          },
          "static": true
        },
        {
          "docs": {
            "see": "https://github.com/actions/runner/releases",
            "stability": "experimental",
            "summary": "Use a specific version."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 36
          },
          "name": "specific",
          "parameters": [
            {
              "docs": {
                "summary": "GitHub Runner version."
              },
              "name": "version",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Check if two versions are the same."
          },
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 48
          },
          "name": "is",
          "parameters": [
            {
              "docs": {
                "summary": "version to compare."
              },
              "name": "other",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
              }
            }
          ],
          "returns": {
            "type": {
              "primitive": "boolean"
            }
          }
        }
      ],
      "name": "RunnerVersion",
      "properties": [
        {
          "docs": {
            "stability": "experimental"
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 40
          },
          "name": "version",
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/providers/common:RunnerVersion"
    },
    "@cloudsnorkel/cdk-github-runners.ScheduledWarmRunner": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "remarks": "Runners will be provisioned using the specified provider and registered in the specified repository or organization.\n\nRegistration level must match the one selected during setup.",
        "see": "https://github.com/CloudSnorkel/cdk-github-runners/blob/main/SETUP_GITHUB.md\n\n## Limitations\n\n- **No deployment-fill**: Unlike `AlwaysOnWarmRunner`, scheduled warm runners do not get an initial\nfill on deploy. The first fill happens at the next schedule occurrence. If you deploy at 1pm for\na 2pm schedule, runners will not appear until 2pm.\n- Jobs will still trigger provisioning of on-demand runners, even if a warm runner ends up being used.\n- You may briefly see more than `count` runners when changing config or at rotation.\n- To remove: set `count` to 0, deploy, wait for warm runners to stop, then remove and deploy again.\nIf you don't follow this procedure, warm runners may linger until they expire.\n- Provider failures or timeouts (like Lambda provider timing out after 15 minutes) will result in a\ngap in coverage until the retry succeeds. Current retry mechanism has built-in back-off rate and\ncan be tweaked using `retryOptions`. This will be improved in the future.\n\n```typescript\n// Cron: fill at 1pm on weekdays\nnew ScheduledWarmRunner(stack, 'Business Hours', {\nrunners,\nprovider: myProvider,\ncount: 3,\nowner: 'my-org',\nrepo: 'my-repo',\nschedule: events.Schedule.cron({ hour: '13', minute: '0', weekDay: 'MON-FRI' }),\nduration: cdk.Duration.hours(2),\n});\n```\n\n```typescript\n// Rate: fill every 12 hours\nnew ScheduledWarmRunner(stack, 'Every 12 Hours', {\nrunners,\nprovider: myProvider,\ncount: 2,\nowner: 'my-org',\nrepo: 'my-repo',\nschedule: events.Schedule.rate(cdk.Duration.hours(5)),\nduration: cdk.Duration.hours(12),\n});\n```",
        "stability": "experimental",
        "summary": "Warm runners active during a time window specified by start time (`schedule`) and duration (`duration`)."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ScheduledWarmRunner",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/warm-runner.ts",
          "line": 283
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          },
          {
            "name": "props",
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ScheduledWarmRunnerProps"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/warm-runner.ts",
        "line": 276
      },
      "name": "ScheduledWarmRunner",
      "symbolId": "src/warm-runner:ScheduledWarmRunner"
    },
    "@cloudsnorkel/cdk-github-runners.ScheduledWarmRunnerProps": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Properties for scheduled warm runners."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.ScheduledWarmRunnerProps",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/warm-runner.ts",
        "line": 64
      },
      "name": "ScheduledWarmRunnerProps",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "Number of warm runners to maintain."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 33
          },
          "name": "count",
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Defines the end of the\nwindow (schedule time + duration).",
            "stability": "experimental",
            "summary": "How long the warm runners should be maintained from the fill time (schedule)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 74
          },
          "name": "duration",
          "type": {
            "fqn": "aws-cdk-lib.Duration"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "GitHub owner where runners will be registered (org or user login)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 38
          },
          "name": "owner",
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Warm runners bypass the provider selector — they always use\nthis provider, regardless of job characteristics. Labels cannot be modified.",
            "stability": "experimental",
            "summary": "Provider to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 28
          },
          "name": "provider",
          "type": {
            "union": {
              "types": [
                {
                  "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
                },
                {
                  "fqn": "@cloudsnorkel/cdk-github-runners.ICompositeProvider"
                }
              ]
            }
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The GitHubRunners construct that owns the shared warm runner infrastructure."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 22
          },
          "name": "runners",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.GitHubRunners"
          }
        },
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "When to start filling the pool (e.g. start of business hours)."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 68
          },
          "name": "schedule",
          "type": {
            "fqn": "aws-cdk-lib.aws_events.Schedule"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "'repo'",
            "remarks": "Choose\n'org' for org-wide runners, 'repo' for repo-level. See the setup wizard for choosing repo vs org.",
            "see": "https://github.com/CloudSnorkel/cdk-github-runners/blob/main/SETUP_GITHUB.md",
            "stability": "experimental",
            "summary": "Registration level — must match how your runners are set up in GitHub."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 48
          },
          "name": "registrationLevel",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Required when `registrationLevel` is 'repo'.",
            "stability": "experimental",
            "summary": "Repository name (without owner) where runners will be registered."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/warm-runner.ts",
            "line": 53
          },
          "name": "repo",
          "optional": true,
          "type": {
            "primitive": "string"
          }
        }
      ],
      "symbolId": "src/warm-runner:ScheduledWarmRunnerProps"
    },
    "@cloudsnorkel/cdk-github-runners.Secrets": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "base": "constructs.Construct",
      "docs": {
        "stability": "experimental",
        "summary": "Secrets required for GitHub runners operation."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.Secrets",
      "initializer": {
        "docs": {
          "stability": "experimental"
        },
        "locationInModule": {
          "filename": "src/secrets.ts",
          "line": 34
        },
        "parameters": [
          {
            "name": "scope",
            "type": {
              "fqn": "constructs.Construct"
            }
          },
          {
            "name": "id",
            "type": {
              "primitive": "string"
            }
          }
        ]
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/secrets.ts",
        "line": 8
      },
      "name": "Secrets",
      "properties": [
        {
          "docs": {
            "remarks": "This secret is used to register runners and\ncancel jobs when the runner fails to start.\n\nThis secret is meant to be edited by the user after being created.",
            "stability": "experimental",
            "summary": "Authentication secret for GitHub containing either app details or personal access token."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/secrets.ts",
            "line": 20
          },
          "name": "github",
          "type": {
            "fqn": "aws-cdk-lib.aws_secretsmanager.Secret"
          }
        },
        {
          "docs": {
            "remarks": "This secret is meant to be edited by the user after being created. It is separate than the main GitHub secret because inserting private keys into JSON is hard.",
            "stability": "experimental",
            "summary": "GitHub app private key. Not needed when using personal access tokens."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/secrets.ts",
            "line": 27
          },
          "name": "githubPrivateKey",
          "type": {
            "fqn": "aws-cdk-lib.aws_secretsmanager.Secret"
          }
        },
        {
          "docs": {
            "remarks": "Should be empty after setup has been completed.",
            "stability": "experimental",
            "summary": "Setup secret used to authenticate user for our setup wizard."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/secrets.ts",
            "line": 32
          },
          "name": "setup",
          "type": {
            "fqn": "aws-cdk-lib.aws_secretsmanager.Secret"
          }
        },
        {
          "docs": {
            "stability": "experimental",
            "summary": "Webhook secret used to confirm events are coming from GitHub and nowhere else."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/secrets.ts",
            "line": 12
          },
          "name": "webhook",
          "type": {
            "fqn": "aws-cdk-lib.aws_secretsmanager.Secret"
          }
        }
      ],
      "symbolId": "src/secrets:Secrets"
    },
    "@cloudsnorkel/cdk-github-runners.StaticRunnerImage": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "stability": "experimental",
        "summary": "Helper class with methods to use static images that are built outside the context of this project."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.StaticRunnerImage",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/static.ts",
        "line": 11
      },
      "methods": [
        {
          "docs": {
            "remarks": "The image must already have GitHub Actions runner installed. You are responsible to update it and remove it when done.\n\nWe create a CodeBuild image builder behind the scenes to copy the image over to ECR. This helps avoid Docker Hub rate limits and prevent failures.",
            "stability": "experimental",
            "summary": "Create a builder from an existing Docker Hub image."
          },
          "locationInModule": {
            "filename": "src/image-builders/static.ts",
            "line": 50
          },
          "name": "fromDockerHub",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "Docker Hub image with optional tag."
              },
              "name": "image",
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "image architecture."
              },
              "name": "architecture",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            },
            {
              "docs": {
                "summary": "image OS."
              },
              "name": "os",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
            }
          },
          "static": true
        },
        {
          "docs": {
            "remarks": "The image must already have GitHub Actions runner installed. You are responsible to update it and remove it when done.",
            "stability": "experimental",
            "summary": "Create a builder (that doesn't actually build anything) from an existing image in an existing repository."
          },
          "locationInModule": {
            "filename": "src/image-builders/static.ts",
            "line": 20
          },
          "name": "fromEcrRepository",
          "parameters": [
            {
              "docs": {
                "summary": "ECR repository."
              },
              "name": "repository",
              "type": {
                "fqn": "aws-cdk-lib.aws_ecr.IRepository"
              }
            },
            {
              "docs": {
                "summary": "image tag."
              },
              "name": "tag",
              "optional": true,
              "type": {
                "primitive": "string"
              }
            },
            {
              "docs": {
                "summary": "image architecture."
              },
              "name": "architecture",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Architecture"
              }
            },
            {
              "docs": {
                "summary": "image OS."
              },
              "name": "os",
              "optional": true,
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.Os"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerImageBuilder"
            }
          },
          "static": true
        }
      ],
      "name": "StaticRunnerImage",
      "symbolId": "src/image-builders/static:StaticRunnerImage"
    },
    "@cloudsnorkel/cdk-github-runners.StorageOptions": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Storage options for the runner instance."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.StorageOptions",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/common.ts",
        "line": 626
      },
      "name": "StorageOptions",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "default": "- none, required for `EbsDeviceVolumeType.IO1`",
            "remarks": "Must only be set for `volumeType`: `EbsDeviceVolumeType.IO1`\n\nThe maximum ratio of IOPS to volume size (in GiB) is 50:1, so for 5,000 provisioned IOPS,\nyou need at least 100 GiB storage on the volume.",
            "see": "https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html",
            "stability": "experimental",
            "summary": "The number of I/O operations per second (IOPS) to provision for the volume."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 647
          },
          "name": "iops",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "- 125 MiB/s. Only valid on gp3 volumes.",
            "see": "https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-volume.html#cfn-ec2-volume-throughput",
            "stability": "experimental",
            "summary": "The throughput that the volume supports, in MiB/s Takes a minimum of 125 and maximum of 1000."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 655
          },
          "name": "throughput",
          "optional": true,
          "type": {
            "primitive": "number"
          }
        },
        {
          "abstract": true,
          "docs": {
            "default": "`EbsDeviceVolumeType.GP2`",
            "see": "https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html",
            "stability": "experimental",
            "summary": "The EBS volume type."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/common.ts",
            "line": 633
          },
          "name": "volumeType",
          "optional": true,
          "type": {
            "fqn": "aws-cdk-lib.aws_ec2.EbsDeviceVolumeType"
          }
        }
      ],
      "symbolId": "src/providers/common:StorageOptions"
    },
    "@cloudsnorkel/cdk-github-runners.WeightedRunnerProvider": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "datatype": true,
      "docs": {
        "stability": "experimental",
        "summary": "Configuration for weighted distribution of runners."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.WeightedRunnerProvider",
      "kind": "interface",
      "locationInModule": {
        "filename": "src/providers/composite.ts",
        "line": 15
      },
      "name": "WeightedRunnerProvider",
      "properties": [
        {
          "abstract": true,
          "docs": {
            "stability": "experimental",
            "summary": "The runner provider to use."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/composite.ts",
            "line": 19
          },
          "name": "provider",
          "type": {
            "fqn": "@cloudsnorkel/cdk-github-runners.IRunnerProvider"
          }
        },
        {
          "abstract": true,
          "docs": {
            "remarks": "Higher weights mean higher probability of selection.\nMust be a positive number.",
            "stability": "experimental",
            "summary": "Weight for this provider."
          },
          "immutable": true,
          "locationInModule": {
            "filename": "src/providers/composite.ts",
            "line": 25
          },
          "name": "weight",
          "type": {
            "primitive": "number"
          }
        }
      ],
      "symbolId": "src/providers/composite:WeightedRunnerProvider"
    },
    "@cloudsnorkel/cdk-github-runners.WindowsComponents": {
      "assembly": "@cloudsnorkel/cdk-github-runners",
      "docs": {
        "deprecated": "Use `RunnerImageComponent` instead.",
        "remarks": "These cannot be used by {@link CodeBuildImageBuilder }.",
        "stability": "deprecated",
        "summary": "Components for Windows that can be used with AWS Image Builder based builders."
      },
      "fqn": "@cloudsnorkel/cdk-github-runners.WindowsComponents",
      "initializer": {
        "docs": {
          "stability": "experimental"
        }
      },
      "kind": "class",
      "locationInModule": {
        "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
        "line": 12
      },
      "methods": [
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
            "line": 25
          },
          "name": "awsCli",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
            "line": 13
          },
          "name": "cloudwatchAgent",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
            "line": 99
          },
          "name": "docker",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
            "line": 109
          },
          "name": "extraCertificates",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "path",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
            "line": 54
          },
          "name": "git",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
            "line": 37
          },
          "name": "githubCli",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        },
        {
          "docs": {
            "stability": "deprecated"
          },
          "locationInModule": {
            "filename": "src/image-builders/aws-image-builder/deprecated/windows-components.ts",
            "line": 74
          },
          "name": "githubRunner",
          "parameters": [
            {
              "name": "scope",
              "type": {
                "fqn": "constructs.Construct"
              }
            },
            {
              "name": "id",
              "type": {
                "primitive": "string"
              }
            },
            {
              "name": "runnerVersion",
              "type": {
                "fqn": "@cloudsnorkel/cdk-github-runners.RunnerVersion"
              }
            }
          ],
          "returns": {
            "type": {
              "fqn": "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent"
            }
          },
          "static": true
        }
      ],
      "name": "WindowsComponents",
      "symbolId": "src/image-builders/aws-image-builder/deprecated/windows-components:WindowsComponents"
    }
  },
  "version": "0.15.1",
  "fingerprint": "Lk71dLShH+PMTMKLmjAt9sGKRlpS0gynnpicSme5Dts="
}