@cdklabs/cdk-ecs-codedeploy 0.0.310 → 0.0.312

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/.jsii +3 -3
  2. package/.jsii.tabl.json +1 -1
  3. package/lib/api-canary/index.js +1 -1
  4. package/lib/ecs-appspec/index.js +1 -1
  5. package/lib/ecs-deployment/index.js +1 -1
  6. package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
  7. package/node_modules/@aws-sdk/client-codedeploy/package.json +7 -7
  8. package/node_modules/@aws-sdk/client-sso/package.json +4 -4
  9. package/node_modules/@aws-sdk/client-sso-oidc/package.json +6 -6
  10. package/node_modules/@aws-sdk/client-sts/package.json +6 -6
  11. package/node_modules/@aws-sdk/core/dist-cjs/submodules/httpAuthSchemes/index.js +39 -7
  12. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4ASigner.js +3 -1
  13. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/index.js +1 -0
  14. package/node_modules/@aws-sdk/core/dist-es/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.js +25 -0
  15. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +2 -1
  16. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/index.d.ts +1 -0
  17. package/node_modules/@aws-sdk/core/dist-types/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.d.ts +38 -0
  18. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/AwsSdkSigV4Signer.d.ts +2 -1
  19. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/index.d.ts +1 -0
  20. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.d.ts +18 -0
  21. package/node_modules/@aws-sdk/core/package.json +2 -1
  22. package/node_modules/@aws-sdk/credential-provider-ini/package.json +3 -3
  23. package/node_modules/@aws-sdk/credential-provider-node/package.json +3 -3
  24. package/node_modules/@aws-sdk/credential-provider-sso/package.json +2 -2
  25. package/node_modules/@aws-sdk/middleware-user-agent/package.json +2 -2
  26. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +7 -4
  27. package/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/parseArn.js +9 -4
  28. package/node_modules/@aws-sdk/util-endpoints/package.json +1 -1
  29. package/package.json +6 -6
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  ]
9
9
  },
10
10
  "bundled": {
11
- "@aws-sdk/client-codedeploy": "^3.624.0",
11
+ "@aws-sdk/client-codedeploy": "^3.631.0",
12
12
  "jmespath": "^0.16.0"
13
13
  },
14
14
  "dependencies": {
@@ -5410,6 +5410,6 @@
5410
5410
  "symbolId": "src/ecs-appspec/index:TargetService"
5411
5411
  }
5412
5412
  },
5413
- "version": "0.0.310",
5414
- "fingerprint": "SWB6KzeLKW1pLkMoRIfCsp1AEX6V0NbG9BBFhlruSjA="
5413
+ "version": "0.0.312",
5414
+ "fingerprint": "W99dE7QoJ7i46y59v5MIdqYpRNgHoV33vUnuNK+Jv6E="
5415
5415
  }
package/.jsii.tabl.json CHANGED
@@ -1 +1 @@
1
- {"version":"2","toolVersion":"5.4.29","snippets":{"9c33177d4808857a56d386ea98f72b7ed3b5370642b3f85920274df5aa84c6c9":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":42}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":12,"138":2,"166":2,"183":2,"210":2,"214":1,"243":2,"244":1,"260":2,"261":2,"303":3,"304":2,"312":1},"fqnsFingerprint":"4cc1fe2132c907ed1a780d103458ac65563dbefc9114977fe16f8bbea49af65e"},"c88c4fb9870561df67310ffff4486257b0239f75789251fbc4ea19dd3da9074e":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n auto_rollback=codeDeploy.AutoRollbackConfig(\n failed_deployment=True,\n deployment_in_alarm=True,\n stopped_deployment=False\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n AutoRollback = new AutoRollbackConfig {\n FailedDeployment = true,\n DeploymentInAlarm = true,\n StoppedDeployment = false\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .autoRollback(AutoRollbackConfig.builder()\n .failedDeployment(true)\n .deploymentInAlarm(true)\n .stoppedDeployment(false)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tAutoRollback: &AutoRollbackConfig{\n\t\tFailedDeployment: jsii.Boolean(true),\n\t\tDeploymentInAlarm: jsii.Boolean(true),\n\t\tStoppedDeployment: jsii.Boolean(false),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":58}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.AutoRollbackConfig","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":16,"97":1,"112":2,"138":2,"166":2,"183":2,"210":3,"214":1,"243":2,"244":1,"260":2,"261":2,"303":7,"304":2,"312":1},"fqnsFingerprint":"7a862ee8b98bc315ae7036190bbeba244bbf7564e60b268dc7e130bdd4f8ab0d"},"b03026dd25eb764b5f7c6c17413fc2f4322e3f9ba4eb0cc2352d139306468039":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n timeout=Duration.minutes(60)\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n Timeout = Duration.Minutes(60)\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .timeout(Duration.minutes(60))\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tTimeout: awscdk.Duration_Minutes(jsii.Number(60)),\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":79}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.Duration","aws-cdk-lib.Duration#minutes","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":1,"80":15,"138":2,"166":2,"183":2,"210":2,"211":1,"213":1,"214":1,"243":2,"244":1,"260":2,"261":2,"303":4,"304":2,"312":1},"fqnsFingerprint":"6d1cfeed10e3a90361dfb3ddf69be1fcf61e2e8e557183b8e30e5c3d3b0aadf6"},"ffa758784d5582df1fbee84f992fcca1ed9d13cf05b13cb0a160a745d3f18bad":{"translations":{"python":{"source":"canary = ApiCanary(stack, \"Canary\",\n base_url=\"https://xkcd.com\",\n duration_alarm_threshold=Duration.seconds(5),\n thread_count=5,\n steps=[ApiTestStep(\n name=\"info\",\n path=\"/908/info.0.json\",\n jmes_path=\"safe_title\",\n expected_value=\"The Cloud\"\n )\n ]\n)","version":"2"},"csharp":{"source":"var canary = new ApiCanary(stack, \"Canary\", new ApiCanaryProps {\n BaseUrl = \"https://xkcd.com\",\n DurationAlarmThreshold = Duration.Seconds(5),\n ThreadCount = 5,\n Steps = new [] { new ApiTestStep {\n Name = \"info\",\n Path = \"/908/info.0.json\",\n JmesPath = \"safe_title\",\n ExpectedValue = \"The Cloud\"\n } }\n});","version":"1"},"java":{"source":"ApiCanary canary = ApiCanary.Builder.create(stack, \"Canary\")\n .baseUrl(\"https://xkcd.com\")\n .durationAlarmThreshold(Duration.seconds(5))\n .threadCount(5)\n .steps(List.of(ApiTestStep.builder()\n .name(\"info\")\n .path(\"/908/info.0.json\")\n .jmesPath(\"safe_title\")\n .expectedValue(\"The Cloud\")\n .build()))\n .build();","version":"1"},"go":{"source":"canary := cdklabscdkecscodedeploy.NewApiCanary(stack, jsii.String(\"Canary\"), &ApiCanaryProps{\n\tBaseUrl: jsii.String(\"https://xkcd.com\"),\n\tDurationAlarmThreshold: awscdk.Duration_Seconds(jsii.Number(5)),\n\tThreadCount: jsii.Number(5),\n\tSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"info\"),\n\t\t\tPath: jsii.String(\"/908/info.0.json\"),\n\t\t\tJmesPath: jsii.String(\"safe_title\"),\n\t\t\tExpectedValue: jsii.String(\"The Cloud\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"const canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":98}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApiCanary","@cdklabs/cdk-ecs-codedeploy.ApiCanaryProps","aws-cdk-lib.Duration","aws-cdk-lib.Duration#seconds"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\nconst canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":6,"80":13,"209":1,"210":2,"211":1,"213":1,"214":1,"243":1,"260":1,"261":1,"303":8},"fqnsFingerprint":"ef23954b775532fdc97524633deefd3193a84be035327b97873bb39a0bbaddad"},"9aaeba1eff6cbd0e531e8d77fd479be273e205d964ee5ed26afd9bcdbc020412":{"translations":{"python":{"source":"# cluster: ecs.ICluster\n# image: ecs.ContainerImage\n\nservice = ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\",\n cluster=cluster,\n task_image_options=ApplicationLoadBalancedTaskImageOptions(\n image=image\n ),\n api_test_steps=[ApiTestStep(\n name=\"health\",\n path=\"/health\",\n jmes_path=\"status\",\n expected_value=\"ok\"\n )]\n)","version":"2"},"csharp":{"source":"ICluster cluster;\nContainerImage image;\n\nvar service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\", new ApplicationLoadBalancedCodeDeployedFargateServiceProps {\n Cluster = cluster,\n TaskImageOptions = new ApplicationLoadBalancedTaskImageOptions {\n Image = image\n },\n ApiTestSteps = new [] { new ApiTestStep {\n Name = \"health\",\n Path = \"/health\",\n JmesPath = \"status\",\n ExpectedValue = \"ok\"\n } }\n});","version":"1"},"java":{"source":"ICluster cluster;\nContainerImage image;\n\nApplicationLoadBalancedCodeDeployedFargateService service = ApplicationLoadBalancedCodeDeployedFargateService.Builder.create(stack, \"Service\")\n .cluster(cluster)\n .taskImageOptions(ApplicationLoadBalancedTaskImageOptions.builder()\n .image(image)\n .build())\n .apiTestSteps(List.of(ApiTestStep.builder()\n .name(\"health\")\n .path(\"/health\")\n .jmesPath(\"status\")\n .expectedValue(\"ok\")\n .build()))\n .build();","version":"1"},"go":{"source":"var cluster iCluster\nvar image containerImage\n\nservice := cdklabscdkecscodedeploy.NewApplicationLoadBalancedCodeDeployedFargateService(stack, jsii.String(\"Service\"), &ApplicationLoadBalancedCodeDeployedFargateServiceProps{\n\tCluster: Cluster,\n\tTaskImageOptions: &ApplicationLoadBalancedTaskImageOptions{\n\t\tImage: *Image,\n\t},\n\tApiTestSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"health\"),\n\t\t\tPath: jsii.String(\"/health\"),\n\t\t\tJmesPath: jsii.String(\"status\"),\n\t\t\tExpectedValue: jsii.String(\"ok\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":118}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService","@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateServiceProps","aws-cdk-lib.aws_ecs.ContainerImage","aws-cdk-lib.aws_ecs.ICluster","aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedTaskImageOptions"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"11":5,"80":17,"138":2,"166":2,"183":2,"209":1,"210":3,"214":1,"243":3,"260":3,"261":3,"303":6,"304":2,"312":1},"fqnsFingerprint":"12bcb233da14b440794db06393d667134a065b8ebdcb8cd4540bcc8be5967f3d"}}}
1
+ {"version":"2","toolVersion":"5.4.30","snippets":{"9c33177d4808857a56d386ea98f72b7ed3b5370642b3f85920274df5aa84c6c9":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":42}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":12,"138":2,"166":2,"183":2,"210":2,"214":1,"243":2,"244":1,"260":2,"261":2,"303":3,"304":2,"312":1},"fqnsFingerprint":"4cc1fe2132c907ed1a780d103458ac65563dbefc9114977fe16f8bbea49af65e"},"c88c4fb9870561df67310ffff4486257b0239f75789251fbc4ea19dd3da9074e":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n auto_rollback=codeDeploy.AutoRollbackConfig(\n failed_deployment=True,\n deployment_in_alarm=True,\n stopped_deployment=False\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n AutoRollback = new AutoRollbackConfig {\n FailedDeployment = true,\n DeploymentInAlarm = true,\n StoppedDeployment = false\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .autoRollback(AutoRollbackConfig.builder()\n .failedDeployment(true)\n .deploymentInAlarm(true)\n .stoppedDeployment(false)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tAutoRollback: &AutoRollbackConfig{\n\t\tFailedDeployment: jsii.Boolean(true),\n\t\tDeploymentInAlarm: jsii.Boolean(true),\n\t\tStoppedDeployment: jsii.Boolean(false),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":58}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.AutoRollbackConfig","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":16,"97":1,"112":2,"138":2,"166":2,"183":2,"210":3,"214":1,"243":2,"244":1,"260":2,"261":2,"303":7,"304":2,"312":1},"fqnsFingerprint":"7a862ee8b98bc315ae7036190bbeba244bbf7564e60b268dc7e130bdd4f8ab0d"},"b03026dd25eb764b5f7c6c17413fc2f4322e3f9ba4eb0cc2352d139306468039":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n timeout=Duration.minutes(60)\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n Timeout = Duration.Minutes(60)\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .timeout(Duration.minutes(60))\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tTimeout: awscdk.Duration_Minutes(jsii.Number(60)),\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":79}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.Duration","aws-cdk-lib.Duration#minutes","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":1,"80":15,"138":2,"166":2,"183":2,"210":2,"211":1,"213":1,"214":1,"243":2,"244":1,"260":2,"261":2,"303":4,"304":2,"312":1},"fqnsFingerprint":"6d1cfeed10e3a90361dfb3ddf69be1fcf61e2e8e557183b8e30e5c3d3b0aadf6"},"ffa758784d5582df1fbee84f992fcca1ed9d13cf05b13cb0a160a745d3f18bad":{"translations":{"python":{"source":"canary = ApiCanary(stack, \"Canary\",\n base_url=\"https://xkcd.com\",\n duration_alarm_threshold=Duration.seconds(5),\n thread_count=5,\n steps=[ApiTestStep(\n name=\"info\",\n path=\"/908/info.0.json\",\n jmes_path=\"safe_title\",\n expected_value=\"The Cloud\"\n )\n ]\n)","version":"2"},"csharp":{"source":"var canary = new ApiCanary(stack, \"Canary\", new ApiCanaryProps {\n BaseUrl = \"https://xkcd.com\",\n DurationAlarmThreshold = Duration.Seconds(5),\n ThreadCount = 5,\n Steps = new [] { new ApiTestStep {\n Name = \"info\",\n Path = \"/908/info.0.json\",\n JmesPath = \"safe_title\",\n ExpectedValue = \"The Cloud\"\n } }\n});","version":"1"},"java":{"source":"ApiCanary canary = ApiCanary.Builder.create(stack, \"Canary\")\n .baseUrl(\"https://xkcd.com\")\n .durationAlarmThreshold(Duration.seconds(5))\n .threadCount(5)\n .steps(List.of(ApiTestStep.builder()\n .name(\"info\")\n .path(\"/908/info.0.json\")\n .jmesPath(\"safe_title\")\n .expectedValue(\"The Cloud\")\n .build()))\n .build();","version":"1"},"go":{"source":"canary := cdklabscdkecscodedeploy.NewApiCanary(stack, jsii.String(\"Canary\"), &ApiCanaryProps{\n\tBaseUrl: jsii.String(\"https://xkcd.com\"),\n\tDurationAlarmThreshold: awscdk.Duration_Seconds(jsii.Number(5)),\n\tThreadCount: jsii.Number(5),\n\tSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"info\"),\n\t\t\tPath: jsii.String(\"/908/info.0.json\"),\n\t\t\tJmesPath: jsii.String(\"safe_title\"),\n\t\t\tExpectedValue: jsii.String(\"The Cloud\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"const canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":98}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApiCanary","@cdklabs/cdk-ecs-codedeploy.ApiCanaryProps","aws-cdk-lib.Duration","aws-cdk-lib.Duration#seconds"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\nconst canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":6,"80":13,"209":1,"210":2,"211":1,"213":1,"214":1,"243":1,"260":1,"261":1,"303":8},"fqnsFingerprint":"ef23954b775532fdc97524633deefd3193a84be035327b97873bb39a0bbaddad"},"9aaeba1eff6cbd0e531e8d77fd479be273e205d964ee5ed26afd9bcdbc020412":{"translations":{"python":{"source":"# cluster: ecs.ICluster\n# image: ecs.ContainerImage\n\nservice = ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\",\n cluster=cluster,\n task_image_options=ApplicationLoadBalancedTaskImageOptions(\n image=image\n ),\n api_test_steps=[ApiTestStep(\n name=\"health\",\n path=\"/health\",\n jmes_path=\"status\",\n expected_value=\"ok\"\n )]\n)","version":"2"},"csharp":{"source":"ICluster cluster;\nContainerImage image;\n\nvar service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\", new ApplicationLoadBalancedCodeDeployedFargateServiceProps {\n Cluster = cluster,\n TaskImageOptions = new ApplicationLoadBalancedTaskImageOptions {\n Image = image\n },\n ApiTestSteps = new [] { new ApiTestStep {\n Name = \"health\",\n Path = \"/health\",\n JmesPath = \"status\",\n ExpectedValue = \"ok\"\n } }\n});","version":"1"},"java":{"source":"ICluster cluster;\nContainerImage image;\n\nApplicationLoadBalancedCodeDeployedFargateService service = ApplicationLoadBalancedCodeDeployedFargateService.Builder.create(stack, \"Service\")\n .cluster(cluster)\n .taskImageOptions(ApplicationLoadBalancedTaskImageOptions.builder()\n .image(image)\n .build())\n .apiTestSteps(List.of(ApiTestStep.builder()\n .name(\"health\")\n .path(\"/health\")\n .jmesPath(\"status\")\n .expectedValue(\"ok\")\n .build()))\n .build();","version":"1"},"go":{"source":"var cluster iCluster\nvar image containerImage\n\nservice := cdklabscdkecscodedeploy.NewApplicationLoadBalancedCodeDeployedFargateService(stack, jsii.String(\"Service\"), &ApplicationLoadBalancedCodeDeployedFargateServiceProps{\n\tCluster: Cluster,\n\tTaskImageOptions: &ApplicationLoadBalancedTaskImageOptions{\n\t\tImage: *Image,\n\t},\n\tApiTestSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"health\"),\n\t\t\tPath: jsii.String(\"/health\"),\n\t\t\tJmesPath: jsii.String(\"status\"),\n\t\t\tExpectedValue: jsii.String(\"ok\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":118}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService","@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateServiceProps","aws-cdk-lib.aws_ecs.ContainerImage","aws-cdk-lib.aws_ecs.ICluster","aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedTaskImageOptions"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"11":5,"80":17,"138":2,"166":2,"183":2,"209":1,"210":3,"214":1,"243":3,"260":3,"261":3,"303":6,"304":2,"312":1},"fqnsFingerprint":"12bcb233da14b440794db06393d667134a065b8ebdcb8cd4540bcc8be5967f3d"}}}
@@ -76,5 +76,5 @@ class ApiCanary extends aws_synthetics_1.Canary {
76
76
  }
77
77
  exports.ApiCanary = ApiCanary;
78
78
  _a = JSII_RTTI_SYMBOL_1;
79
- ApiCanary[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApiCanary", version: "0.0.310" };
79
+ ApiCanary[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApiCanary", version: "0.0.312" };
80
80
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpLWNhbmFyeS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZCQUE2QjtBQUM3Qiw2Q0FBMEQ7QUFDMUQsK0RBQXVFO0FBR3ZFLCtDQUFpRjtBQUNqRiw2REFBa0Q7QUFDbEQsK0RBQTRHO0FBRTVHLG1EQUFvRDtBQTZLcEQ7O0dBRUc7QUFDSCxNQUFhLFNBQVUsU0FBUSx1QkFBTTtJQWdCbkMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQjtRQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLGlDQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUN0RixNQUFNLFdBQVcsR0FBRyxJQUFJLHFCQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRTtZQUMxRCxJQUFJLEVBQUUsT0FBTyxDQUFDLFFBQVE7WUFDdEIsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSx5QkFBVyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7Z0JBQzFDLEtBQUssRUFBRSxPQUFPO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLGVBQWUsR0FBRyxLQUFLLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxDQUFDO1FBQzVELElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDcEIsZUFBZSxHQUFHLElBQUksZUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQzFELFVBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxVQUFVO2dCQUN2QyxpQkFBaUIsRUFBRSwwQkFBaUIsQ0FBQyxTQUFTO2dCQUM5QyxVQUFVLEVBQUUsSUFBSTthQUNqQixDQUFDLENBQUM7U0FDSjtRQUVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsR0FBRyxLQUFLO1lBQ1IsSUFBSSxFQUFFLHFCQUFJLENBQUMsTUFBTSxDQUFDO2dCQUNoQixJQUFJLEVBQUUscUJBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDO2dCQUNsRSxPQUFPLEVBQUUsZUFBZTthQUN6QixDQUFDO1lBQ0YsT0FBTyxFQUFFLHdCQUFPLENBQUMsK0JBQStCO1lBQ2hELG9CQUFvQixFQUFFO2dCQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ3RCLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO2dCQUNqRCxTQUFTLEVBQUUsa0JBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQzthQUN2RTtZQUNELHVCQUF1QixFQUFFO2dCQUN2QixNQUFNLEVBQUUsZUFBZTtnQkFDdkIsTUFBTSxFQUFFLEtBQUssQ0FBQyx1QkFBdUIsRUFBRSxNQUFNO2FBQzlDO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUVoQyxNQUFNLE1BQU0sR0FBRyxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksc0JBQUssQ0FBQyxJQUFJLEVBQUUsY0FBYyxFQUFFO1lBQ2xELE1BQU0sRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQztZQUM3QyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLFNBQVMsRUFBRSxHQUFHO1lBQ2Qsa0JBQWtCLEVBQUUsbUNBQWtCLENBQUMsbUJBQW1CO1NBQzNELENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLHNCQUFzQixFQUFFO1lBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxzQkFBSyxDQUFDLElBQUksRUFBRSxlQUFlLEVBQUU7Z0JBQ3BELE1BQU0sRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUM7Z0JBQ3ZDLGlCQUFpQixFQUFFLENBQUM7Z0JBQ3BCLFNBQVMsRUFBRSxLQUFLLENBQUMsc0JBQXNCLENBQUMsY0FBYyxFQUFFO2dCQUN4RCxrQkFBa0IsRUFBRSxtQ0FBa0IsQ0FBQyxzQkFBc0I7YUFDOUQsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxJQUFpQjtRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDOztBQS9FSCw4QkFnRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24sIERvY2tlckltYWdlLCBMYXp5IH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQWxhcm0sIENvbXBhcmlzb25PcGVyYXRvciB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoJztcbmltcG9ydCB7IElWcGMsIFN1Ym5ldFNlbGVjdGlvbiwgSVNlY3VyaXR5R3JvdXAgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgeyBCbG9ja1B1YmxpY0FjY2VzcywgQnVja2V0LCBCdWNrZXRFbmNyeXB0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzJztcbmltcG9ydCB7IEFzc2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgeyBDYW5hcnksIEFydGlmYWN0c0J1Y2tldExvY2F0aW9uLCBTY2hlZHVsZSwgVGVzdCwgQ29kZSwgUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zeW50aGV0aWNzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ2FuYXJ5Q29kZUJ1bmRsZXIgfSBmcm9tICcuL2NvZGUtYnVuZGxpbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwaVRlc3RTdGVwIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGVzdC5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogUGF0aCBvZiBIVFRQIHJlcXVlc3QsIHJlbGF0aXZlIHRvIGJhc2VVcmwuXG4gICAqL1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1ldGhvZCB0byBmb3IgSFRUUCByZXF1ZXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEdFVFxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBoZWFkZXJzIHRvIGluY2x1ZGUgaW4gSFRUUCByZXF1ZXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGhlYWRlcnMgaW5jbHVkZWQuXG4gICAqL1xuICByZWFkb25seSBoZWFkZXJzPzogeyBbIG5hbWU6IHN0cmluZyBdOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgYm9keSB0byBpbmNsdWRlIGluIEhUVFAgcmVxdWVzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBib2R5IGluY2x1ZGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYm9keT86IHN0cmluZztcblxuICAvKipcbiAgICogSk1FU1BhdGggdG8gYXBwbHkgYWdhaW5zdCB0aGUgcmVzcG9uc2UgZnJvbSB0aGUgSFRUUCByZXF1ZXN0IGFuZCBjb21wYXJlIGFnYWluc3QgZXhwZWN0ZWQgdmFsdWUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gSk1FU1BhdGggYXNzZXJ0aW9uIHdpbGwgYmUgcGVyZm9ybWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgam1lc1BhdGg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4cGVjdGVkIHZhbHVlIHRvIGNvbXBhcmUgYWdhaW5zdCB0aGUgam1lc1BhdGguXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSBleHBlY3RlZFZhbHVlPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwaUNhbmFyeVByb3BzIGV4dGVuZHMgQmFzZUNhbmFyeVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBiYXNlIFVSTCB0byB1c2UgZm9yIHRlc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVVybDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGhyZXNob2xkIGZvciB0cmlnZ2VyaW5nIGFuIGFsYXJtIG9uIHRoZSB0ZXN0IGR1cmF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGFsYXJtIGlzIGNyZWF0ZWQgZm9yIGR1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBkdXJhdGlvbkFsYXJtVGhyZXNob2xkPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdGhyZWFkcyB0byBydW4gY29uY3VycmVudGx5IGZvciB0aGUgc3ludGhldGljIHRlc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMjBcbiAgICovXG4gIHJlYWRvbmx5IHRocmVhZENvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcHMgdG8gcGVyZm9ybSBpbiB0aGUgc3ludGhldGljIHRlc3QuXG4gICAqL1xuICByZWFkb25seSBzdGVwcz86IEFwaVRlc3RTdGVwW107XG59XG5cbmludGVyZmFjZSBCYXNlQ2FuYXJ5UHJvcHMge1xuICAvKipcbiAgICogVGhlIHMzIGxvY2F0aW9uIHRoYXQgc3RvcmVzIHRoZSBkYXRhIG9mIHRoZSBjYW5hcnkgcnVucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBBIG5ldyBzMyBidWNrZXQgd2lsbCBiZSBjcmVhdGVkIHdpdGhvdXQgYSBwcmVmaXguXG4gICAqL1xuICByZWFkb25seSBhcnRpZmFjdHNCdWNrZXRMb2NhdGlvbj86IEFydGlmYWN0c0J1Y2tldExvY2F0aW9uO1xuXG4gIC8qKlxuICAgKiBDYW5hcnkgZXhlY3V0aW9uIHJvbGUuXG4gICAqXG4gICAqIFRoaXMgaXMgdGhlIHJvbGUgdGhhdCB3aWxsIGJlIGFzc3VtZWQgYnkgdGhlIGNhbmFyeSB1cG9uIGV4ZWN1dGlvbi5cbiAgICogSXQgY29udHJvbHMgdGhlIHBlcm1pc3Npb25zIHRoYXQgdGhlIGNhbmFyeSB3aWxsIGhhdmUuIFRoZSByb2xlIG11c3RcbiAgICogYmUgYXNzdW1hYmxlIGJ5IHRoZSBBV1MgTGFtYmRhIHNlcnZpY2UgcHJpbmNpcGFsLlxuICAgKlxuICAgKiBJZiBub3Qgc3VwcGxpZWQsIGEgcm9sZSB3aWxsIGJlIGNyZWF0ZWQgd2l0aCBhbGwgdGhlIHJlcXVpcmVkIHBlcm1pc3Npb25zLlxuICAgKiBJZiB5b3UgcHJvdmlkZSBhIFJvbGUsIHlvdSBtdXN0IGFkZCB0aGUgcmVxdWlyZWQgcGVybWlzc2lvbnMuXG4gICAqXG4gICAqIEBzZWUgcmVxdWlyZWQgcGVybWlzc2lvbnM6IGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BV1NDbG91ZEZvcm1hdGlvbi9sYXRlc3QvVXNlckd1aWRlL2F3cy1yZXNvdXJjZS1zeW50aGV0aWNzLWNhbmFyeS5odG1sI2Nmbi1zeW50aGV0aWNzLWNhbmFyeS1leGVjdXRpb25yb2xlYXJuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSB1bmlxdWUgcm9sZSB3aWxsIGJlIGdlbmVyYXRlZCBmb3IgdGhpcyBjYW5hcnkuXG4gICAqIFlvdSBjYW4gYWRkIHBlcm1pc3Npb25zIHRvIHJvbGVzIGJ5IGNhbGxpbmcgJ2FkZFRvUm9sZVBvbGljeScuXG4gICAqL1xuICByZWFkb25seSByb2xlPzogSVJvbGU7XG5cbiAgLyoqXG4gICAqIEhvdyBsb25nIHRoZSBjYW5hcnkgd2lsbCBiZSBpbiBhICdSVU5OSU5HJyBzdGF0ZS4gRm9yIGV4YW1wbGUsIGlmIHlvdSBzZXQgYHRpbWVUb0xpdmVgIHRvIGJlIDEgaG91ciBhbmQgYHNjaGVkdWxlYCB0byBiZSBgcmF0ZSgxMCBtaW51dGVzKWAsXG4gICAqIHlvdXIgY2FuYXJ5IHdpbGwgcnVuIGF0IDEwIG1pbnV0ZSBpbnRlcnZhbHMgZm9yIGFuIGhvdXIsIGZvciBhIHRvdGFsIG9mIDYgdGltZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbGltaXRcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVUb0xpdmU/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogU3BlY2lmeSB0aGUgc2NoZWR1bGUgZm9yIGhvdyBvZnRlbiB0aGUgY2FuYXJ5IHJ1bnMuIEZvciBleGFtcGxlLCBpZiB5b3Ugc2V0IGBzY2hlZHVsZWAgdG8gYHJhdGUoMTAgbWludXRlcylgLCB0aGVuIHRoZSBjYW5hcnkgd2lsbCBydW4gZXZlcnkgMTAgbWludXRlcy5cbiAgICogWW91IGNhbiBzZXQgdGhlIHNjaGVkdWxlIHdpdGggYFNjaGVkdWxlLnJhdGUoRHVyYXRpb24pYCAocmVjb21tZW5kZWQpIG9yIHlvdSBjYW4gc3BlY2lmeSBhbiBleHByZXNzaW9uIHVzaW5nIGBTY2hlZHVsZS5leHByZXNzaW9uKClgLlxuICAgKiBAZGVmYXVsdCAncmF0ZSg1IG1pbnV0ZXMpJ1xuICAgKi9cbiAgcmVhZG9ubHkgc2NoZWR1bGU/OiBTY2hlZHVsZTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGNhbmFyeSBzaG91bGQgc3RhcnQgYWZ0ZXIgY3JlYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHN0YXJ0QWZ0ZXJDcmVhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IGRheXMgc2hvdWxkIHN1Y2Nlc3NmdWwgcnVucyBiZSByZXRhaW5lZC5cbiAgICpcbiAgICogQGRlZmF1bHQgRHVyYXRpb24uZGF5cygzMSlcbiAgICovXG4gIHJlYWRvbmx5IHN1Y2Nlc3NSZXRlbnRpb25QZXJpb2Q/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogSG93IG1hbnkgZGF5cyBzaG91bGQgZmFpbGVkIHJ1bnMgYmUgcmV0YWluZWQuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLmRheXMoMzEpXG4gICAqL1xuICByZWFkb25seSBmYWlsdXJlUmV0ZW50aW9uUGVyaW9kPzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBjYW5hcnkuIEJlIHN1cmUgdG8gZ2l2ZSBpdCBhIGRlc2NyaXB0aXZlIG5hbWUgdGhhdCBkaXN0aW5ndWlzaGVzIGl0IGZyb21cbiAgICogb3RoZXIgY2FuYXJpZXMgaW4geW91ciBhY2NvdW50LlxuICAgKlxuICAgKiBEbyBub3QgaW5jbHVkZSBzZWNyZXRzIG9yIHByb3ByaWV0YXJ5IGluZm9ybWF0aW9uIGluIHlvdXIgY2FuYXJ5IG5hbWUuIFRoZSBjYW5hcnkgbmFtZVxuICAgKiBtYWtlcyB1cCBwYXJ0IG9mIHRoZSBjYW5hcnkgQVJOLCB3aGljaCBpcyBpbmNsdWRlZCBpbiBvdXRib3VuZCBjYWxscyBvdmVyIHRoZSBpbnRlcm5ldC5cbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uQ2xvdWRXYXRjaC9sYXRlc3QvbW9uaXRvcmluZy9zZXJ2aWNlbGVuc19jYW5hcmllc19zZWN1cml0eS5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gQSB1bmlxdWUgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZCBmcm9tIHRoZSBjb25zdHJ1Y3QgSURcbiAgICovXG4gIHJlYWRvbmx5IGNhbmFyeU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBWUEMgd2hlcmUgdGhpcyBjYW5hcnkgaXMgcnVuLlxuICAgKlxuICAgKiBTcGVjaWZ5IHRoaXMgaWYgdGhlIGNhbmFyeSBuZWVkcyB0byBhY2Nlc3MgcmVzb3VyY2VzIGluIGEgVlBDLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vdCBpbiBWUENcbiAgICovXG4gIHJlYWRvbmx5IHZwYz86IElWcGM7XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRvIHBsYWNlIHRoZSBuZXR3b3JrIGludGVyZmFjZXMgd2l0aGluIHRoZSBWUEMuIFlvdSBtdXN0IHByb3ZpZGUgYHZwY2Agd2hlbiB1c2luZyB0aGlzIHByb3AuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIFZwYyBkZWZhdWx0IHN0cmF0ZWd5IGlmIG5vdCBzcGVjaWZpZWRcbiAgICovXG4gIHJlYWRvbmx5IHZwY1N1Ym5ldHM/OiBTdWJuZXRTZWxlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHNlY3VyaXR5IGdyb3VwcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgY2FuYXJ5J3MgbmV0d29yayBpbnRlcmZhY2VzLiBZb3UgbXVzdCBwcm92aWRlIGB2cGNgIHdoZW4gdXNpbmcgdGhpcyBwcm9wLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIElmIHRoZSBjYW5hcnkgaXMgcGxhY2VkIHdpdGhpbiBhIFZQQyBhbmQgYSBzZWN1cml0eSBncm91cCBpc1xuICAgKiBub3Qgc3BlY2lmaWVkIGEgZGVkaWNhdGVkIHNlY3VyaXR5IGdyb3VwIHdpbGwgYmUgY3JlYXRlZCBmb3IgdGhpcyBjYW5hcnkuXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3Vwcz86IElTZWN1cml0eUdyb3VwW107XG59XG5cbi8qKlxuICogQSBDbG91ZFdhdGNoIFN5bnRoZXRpYyBDYW5hcnkgZm9yIG1vbml0b3JpbmcgQVBJcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFwaUNhbmFyeSBleHRlbmRzIENhbmFyeSB7XG4gIC8qKlxuICAgKiBBIENsb3VkV2F0Y2ggQWxhcm0gdGhhdCB0cmlnZ2VycyB3aGVuIHRoZSBzdWNjZXNzIHJhdGUgZmFsbHMgYmVsb3cgMTAwJSBvdmVyIHRoZSBwYXN0IDIgcGVyaW9kcy5cbiAgICovXG4gIHN1Y2Nlc3NBbGFybTogQWxhcm07XG5cbiAgLyoqXG4gICAqIEEgQ2xvdWRXYXRjaCBBbGFybSB0aGF0IHRyaWdnZXJzIHdoZW4gdGhlIGR1cmF0aW9uIG9mIHRoZSB0ZXN0cyBleGNlZWRzIHRoZSBnaXZlbiB0aHJlc2hvbGQgb3ZlciB0aGUgcGFzdCAyIHBlcmlvZHMuXG4gICAqL1xuICBkdXJhdGlvbkFsYXJtPzogQWxhcm07XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbCBmaWVsZCB0byB0cmFjayBzdGVwcyBmb3IgdGhpcyBjYW5hcnkuXG4gICAqL1xuICBfc3RlcHM6IEFwaVRlc3RTdGVwW107XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwaUNhbmFyeVByb3BzKSB7XG4gICAgY29uc3QgYnVuZGxlciA9IG5ldyBDYW5hcnlDb2RlQnVuZGxlcihwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4nLCAnLi4nLCAnY2FuYXJ5LXNyYycpKTtcbiAgICBjb25zdCBjYW5hcnlBc3NldCA9IG5ldyBBc3NldChzY29wZSwgYCR7aWR9QXBpQ2FuYXJ5QXNzZXRgLCB7XG4gICAgICBwYXRoOiBidW5kbGVyLmNvZGVQYXRoLFxuICAgICAgYnVuZGxpbmc6IHtcbiAgICAgICAgaW1hZ2U6IERvY2tlckltYWdlLmZyb21SZWdpc3RyeSgnbm9kZToxNCcpLFxuICAgICAgICBsb2NhbDogYnVuZGxlcixcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbGV0IGFydGlmYWN0c0J1Y2tldCA9IHByb3BzLmFydGlmYWN0c0J1Y2tldExvY2F0aW9uPy5idWNrZXQ7XG4gICAgaWYgKCFhcnRpZmFjdHNCdWNrZXQpIHtcbiAgICAgIGFydGlmYWN0c0J1Y2tldCA9IG5ldyBCdWNrZXQoc2NvcGUsIGAke2lkfUFydGlmYWN0c0J1Y2tldGAsIHtcbiAgICAgICAgZW5jcnlwdGlvbjogQnVja2V0RW5jcnlwdGlvbi5TM19NQU5BR0VELFxuICAgICAgICBibG9ja1B1YmxpY0FjY2VzczogQmxvY2tQdWJsaWNBY2Nlc3MuQkxPQ0tfQUxMLFxuICAgICAgICBlbmZvcmNlU1NMOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHRlc3Q6IFRlc3QuY3VzdG9tKHtcbiAgICAgICAgY29kZTogQ29kZS5mcm9tQnVja2V0KGNhbmFyeUFzc2V0LmJ1Y2tldCwgY2FuYXJ5QXNzZXQuczNPYmplY3RLZXkpLFxuICAgICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICB9KSxcbiAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuU1lOVEhFVElDU19OT0RFSlNfUFVQUEVURUVSXzZfMixcbiAgICAgIGVudmlyb25tZW50VmFyaWFibGVzOiB7XG4gICAgICAgIGJhc2VVcmw6IHByb3BzLmJhc2VVcmwsXG4gICAgICAgIHRocmVhZENvdW50OiAocHJvcHMudGhyZWFkQ291bnQgPz8gMjApLnRvU3RyaW5nKCksXG4gICAgICAgIHRlc3RTdGVwczogTGF6eS5zdHJpbmcoeyBwcm9kdWNlOiAoKSA9PiBKU09OLnN0cmluZ2lmeSh0aGlzLl9zdGVwcykgfSksXG4gICAgICB9LFxuICAgICAgYXJ0aWZhY3RzQnVja2V0TG9jYXRpb246IHtcbiAgICAgICAgYnVja2V0OiBhcnRpZmFjdHNCdWNrZXQsXG4gICAgICAgIHByZWZpeDogcHJvcHMuYXJ0aWZhY3RzQnVja2V0TG9jYXRpb24/LnByZWZpeCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5fc3RlcHMgPSBwcm9wcy5zdGVwcyA/PyBbXTtcblxuICAgIGNvbnN0IHBlcmlvZCA9IER1cmF0aW9uLm1pbnV0ZXMoNSk7XG5cbiAgICB0aGlzLnN1Y2Nlc3NBbGFybSA9IG5ldyBBbGFybSh0aGlzLCAnU3VjY2Vzc0FsYXJtJywge1xuICAgICAgbWV0cmljOiB0aGlzLm1ldHJpY1N1Y2Nlc3NQZXJjZW50KHsgcGVyaW9kIH0pLFxuICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDIsXG4gICAgICB0aHJlc2hvbGQ6IDEwMCxcbiAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkxFU1NfVEhBTl9USFJFU0hPTEQsXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMuZHVyYXRpb25BbGFybVRocmVzaG9sZCkge1xuICAgICAgdGhpcy5kdXJhdGlvbkFsYXJtID0gbmV3IEFsYXJtKHRoaXMsICdEdXJhdGlvbkFsYXJtJywge1xuICAgICAgICBtZXRyaWM6IHRoaXMubWV0cmljRHVyYXRpb24oeyBwZXJpb2QgfSksXG4gICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiAyLFxuICAgICAgICB0aHJlc2hvbGQ6IHByb3BzLmR1cmF0aW9uQWxhcm1UaHJlc2hvbGQudG9NaWxsaXNlY29uZHMoKSxcbiAgICAgICAgY29tcGFyaXNvbk9wZXJhdG9yOiBDb21wYXJpc29uT3BlcmF0b3IuR1JFQVRFUl9USEFOX1RIUkVTSE9MRCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgdGVzdCBzdGVwIHRvIHRoaXMgY2FuYXJ5LlxuICAgKlxuICAgKiBAcGFyYW0gc3RlcCAtIEFwaVRlc3RTdGVwIHRvIGFkZC5cbiAgICovXG4gIGFkZFRlc3RTdGVwKHN0ZXA6IEFwaVRlc3RTdGVwKSB7XG4gICAgdGhpcy5fc3RlcHMucHVzaChzdGVwKTtcbiAgfVxufVxuIl19
@@ -102,5 +102,5 @@ class EcsAppSpec {
102
102
  }
103
103
  exports.EcsAppSpec = EcsAppSpec;
104
104
  _a = JSII_RTTI_SYMBOL_1;
105
- EcsAppSpec[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsAppSpec", version: "0.0.310" };
105
+ EcsAppSpec[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsAppSpec", version: "0.0.312" };
106
106
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLWFwcHNwZWMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQTs7OztHQUlHO0FBQ0gsTUFBYSxVQUFVO0lBVXJCLFlBQVksYUFBNEIsRUFBRSxLQUFvQjtRQUM1RCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVE7UUFDTixNQUFNLE9BQU8sR0FBRztZQUNkLE9BQU8sRUFBRSxLQUFLO1lBQ2QsU0FBUyxFQUFFLENBQUM7b0JBQ1YsYUFBYSxFQUFFO3dCQUNiLElBQUksRUFBRSxtQkFBbUI7d0JBQ3pCLFVBQVUsRUFBRTs0QkFDVixjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUMsaUJBQWlCOzRCQUNuRSxnQkFBZ0IsRUFBRTtnQ0FDaEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYTtnQ0FDL0MsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYTs2QkFDaEQ7NEJBQ0QsZUFBZSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZTs0QkFDbkQsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLDJDQUEyQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUM7NEJBQzlHLHdCQUF3QixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxDQUFDLHdCQUF3QixDQUFDLEVBQUU7Z0NBQ3BHLE9BQU87b0NBQ0wsSUFBSSxFQUFFLHdCQUF3QixDQUFDLElBQUk7b0NBQ25DLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDLGdCQUFnQjtvQ0FDM0QsTUFBTSxFQUFFLHdCQUF3QixDQUFDLE1BQU07aUNBQ3hDLENBQUM7NEJBQ0osQ0FBQyxDQUFDO3lCQUNIO3FCQUNGO2lCQUNGLENBQUM7WUFDRixHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUU7U0FDdkIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU8sWUFBWTtRQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksU0FBUyxFQUFFO1lBQzNCLE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3pCLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLElBQUksU0FBUztZQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxTQUFTO1lBQ3BDLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLElBQUksU0FBUztZQUM3QyxJQUFJLENBQUMsS0FBSyxDQUFDLGtCQUFrQixJQUFJLFNBQVM7WUFDMUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxTQUFTLEVBQ3pDO1lBQ0EsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUF3QixFQUFFLEVBQUU7WUFDeEMsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlCLElBQUksU0FBUyxJQUFJLFNBQVMsRUFBRTtnQkFDMUIsT0FBTyxFQUFFLENBQUM7YUFDWDtpQkFBTTtnQkFDTCxPQUFPLENBQUM7d0JBQ04sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsRUFDaEIsT0FBTyxTQUFTLEtBQUssUUFBUTs0QkFDM0IsQ0FBQyxDQUFDLFNBQVM7NEJBQ1gsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXO3FCQUM1QixDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQztRQUNGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM1QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDMUMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUMsQ0FBQztRQUM1RCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3RELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFcEQsT0FBTztZQUNMLEtBQUssRUFBRTtnQkFDTCxHQUFHLGFBQWE7Z0JBQ2hCLEdBQUcsWUFBWTtnQkFDZixHQUFHLHFCQUFxQjtnQkFDeEIsR0FBRyxrQkFBa0I7Z0JBQ3JCLEdBQUcsaUJBQWlCO2FBQ3JCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTywyQ0FBMkMsQ0FBQyxtQkFBeUM7UUFDM0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hCLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTztZQUNMLG1CQUFtQixFQUFFO2dCQUNuQixjQUFjLEVBQUUsbUJBQW1CLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVU7Z0JBQzNFLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVM7Z0JBQ3hGLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDO2FBQ3BGO1NBQ0YsQ0FBQztJQUNKLENBQUM7O0FBekdILGdDQTBHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGVjMiBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCAqIGFzIGVjcyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIEFwcFNwZWMgdG8gYmUgdXNlZCBmb3IgRUNTIHNlcnZpY2VzLlxuICpcbiAqIHNlZTogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZGVkZXBsb3kvbGF0ZXN0L3VzZXJndWlkZS9yZWZlcmVuY2UtYXBwc3BlYy1maWxlLXN0cnVjdHVyZS1yZXNvdXJjZXMuaHRtbCNyZWZlcmVuY2UtYXBwc3BlYy1maWxlLXN0cnVjdHVyZS1yZXNvdXJjZXMtZWNzXG4gKi9cbmV4cG9ydCBjbGFzcyBFY3NBcHBTcGVjIHtcbiAgLyoqXG4gICAqIFNlcnZpY2UgdG8gdGFyZ2V0IGZvciB0aGUgZGVwbG95bWVudFxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSB0YXJnZXRTZXJ2aWNlOiBUYXJnZXRTZXJ2aWNlO1xuICAvKipcbiAgICogT3B0aW9uYWwgbGlmZWN5Y2xlIGhvb2tzXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGhvb2tzPzogQXBwU3BlY0hvb2tzO1xuXG4gIGNvbnN0cnVjdG9yKHRhcmdldFNlcnZpY2U6IFRhcmdldFNlcnZpY2UsIGhvb2tzPzogQXBwU3BlY0hvb2tzKSB7XG4gICAgdGhpcy50YXJnZXRTZXJ2aWNlID0gdGFyZ2V0U2VydmljZTtcbiAgICB0aGlzLmhvb2tzID0gaG9va3M7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIEpTT04gc3RyaW5nIGZvciB0aGlzIEFwcFNwZWMgdG8gYmUgdXNlZFxuICAgKlxuICAgKiBAcmV0dXJucyBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBBcHBTcGVjXG4gICAqL1xuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFwcFNwZWMgPSB7XG4gICAgICB2ZXJzaW9uOiAnMC4wJyxcbiAgICAgIFJlc291cmNlczogW3tcbiAgICAgICAgVGFyZ2V0U2VydmljZToge1xuICAgICAgICAgIFR5cGU6ICdBV1M6OkVDUzo6U2VydmljZScsXG4gICAgICAgICAgUHJvcGVydGllczoge1xuICAgICAgICAgICAgVGFza0RlZmluaXRpb246IHRoaXMudGFyZ2V0U2VydmljZS50YXNrRGVmaW5pdGlvbi50YXNrRGVmaW5pdGlvbkFybixcbiAgICAgICAgICAgIExvYWRCYWxhbmNlckluZm86IHtcbiAgICAgICAgICAgICAgQ29udGFpbmVyTmFtZTogdGhpcy50YXJnZXRTZXJ2aWNlLmNvbnRhaW5lck5hbWUsXG4gICAgICAgICAgICAgIENvbnRhaW5lclBvcnQ6IHRoaXMudGFyZ2V0U2VydmljZS5jb250YWluZXJQb3J0LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFBsYXRmb3JtVmVyc2lvbjogdGhpcy50YXJnZXRTZXJ2aWNlLnBsYXRmb3JtVmVyc2lvbixcbiAgICAgICAgICAgIE5ldHdvcmtDb25maWd1cmF0aW9uOiB0aGlzLmNvbmZpZ3VyZUF3c1ZwY05ldHdvcmtpbmdXaXRoU2VjdXJpdHlHcm91cHModGhpcy50YXJnZXRTZXJ2aWNlLmF3c3ZwY0NvbmZpZ3VyYXRpb24pLFxuICAgICAgICAgICAgQ2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5OiB0aGlzLnRhcmdldFNlcnZpY2UuY2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5Py5tYXAoY2FwYWNpdHlQcm92aWRlclN0cmF0ZWd5ID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBCYXNlOiBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3kuYmFzZSxcbiAgICAgICAgICAgICAgICBDYXBhY2l0eVByb3ZpZGVyOiBjYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3kuY2FwYWNpdHlQcm92aWRlcixcbiAgICAgICAgICAgICAgICBXZWlnaHQ6IGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVneS53ZWlnaHQsXG4gICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfV0sXG4gICAgICAuLi50aGlzLmhvb2tzU2VjdGlvbigpLFxuICAgIH07XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGFwcFNwZWMpO1xuICB9XG5cbiAgcHJpdmF0ZSBob29rc1NlY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuaG9va3MgPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIGNvbnN0IGhvb2tzID0gdGhpcy5ob29rcztcbiAgICBpZiAoXG4gICAgICB0aGlzLmhvb2tzLmJlZm9yZUluc3RhbGwgPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmhvb2tzLmFmdGVySW5zdGFsbCA9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuaG9va3MuYWZ0ZXJBbGxvd1Rlc3RUcmFmZmljID09IHVuZGVmaW5lZCAmJlxuICAgICAgdGhpcy5ob29rcy5iZWZvcmVBbGxvd1RyYWZmaWMgPT0gdW5kZWZpbmVkICYmXG4gICAgICB0aGlzLmhvb2tzLmFmdGVyQWxsb3dUcmFmZmljID09IHVuZGVmaW5lZFxuICAgICkge1xuICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBjYXBpdGFsaXplID0gKHM6IHN0cmluZykgPT4gcyAmJiBzWzBdLnRvVXBwZXJDYXNlKCkgKyBzLnNsaWNlKDEpO1xuICAgIGNvbnN0IGhvb2sgPSAobmFtZToga2V5b2YgQXBwU3BlY0hvb2tzKSA9PiB7XG4gICAgICBjb25zdCBob29rVmFsdWUgPSBob29rc1tuYW1lXTtcbiAgICAgIGlmIChob29rVmFsdWUgPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBbe1xuICAgICAgICAgIFtjYXBpdGFsaXplKG5hbWUpXTpcbiAgICAgICAgICAgIHR5cGVvZiBob29rVmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAgICAgICAgID8gaG9va1ZhbHVlXG4gICAgICAgICAgICAgIDogaG9va1ZhbHVlLmZ1bmN0aW9uQXJuLFxuICAgICAgICB9XTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGNvbnN0IGJlZm9yZUluc3RhbGwgPSBob29rKCdiZWZvcmVJbnN0YWxsJyk7XG4gICAgY29uc3QgYWZ0ZXJJbnN0YWxsID0gaG9vaygnYWZ0ZXJJbnN0YWxsJyk7XG4gICAgY29uc3QgYWZ0ZXJBbGxvd1Rlc3RUcmFmZmljID0gaG9vaygnYWZ0ZXJBbGxvd1Rlc3RUcmFmZmljJyk7XG4gICAgY29uc3QgYmVmb3JlQWxsb3dUcmFmZmljID0gaG9vaygnYmVmb3JlQWxsb3dUcmFmZmljJyk7XG4gICAgY29uc3QgYWZ0ZXJBbGxvd1RyYWZmaWMgPSBob29rKCdhZnRlckFsbG93VHJhZmZpYycpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIEhvb2tzOiBbXG4gICAgICAgIC4uLmJlZm9yZUluc3RhbGwsXG4gICAgICAgIC4uLmFmdGVySW5zdGFsbCxcbiAgICAgICAgLi4uYWZ0ZXJBbGxvd1Rlc3RUcmFmZmljLFxuICAgICAgICAuLi5iZWZvcmVBbGxvd1RyYWZmaWMsXG4gICAgICAgIC4uLmFmdGVyQWxsb3dUcmFmZmljLFxuICAgICAgXSxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVBd3NWcGNOZXR3b3JraW5nV2l0aFNlY3VyaXR5R3JvdXBzKGF3c3ZwY0NvbmZpZ3VyYXRpb24/OiBBd3N2cGNDb25maWd1cmF0aW9uKSB7XG4gICAgaWYgKCFhd3N2cGNDb25maWd1cmF0aW9uKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgYXdzdnBjQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBhc3NpZ25QdWJsaWNJcDogYXdzdnBjQ29uZmlndXJhdGlvbi5hc3NpZ25QdWJsaWNJcCA/ICdFTkFCTEVEJyA6ICdESVNBQkxFRCcsXG4gICAgICAgIHN1Ym5ldHM6IGF3c3ZwY0NvbmZpZ3VyYXRpb24udnBjLnNlbGVjdFN1Ym5ldHMoYXdzdnBjQ29uZmlndXJhdGlvbi52cGNTdWJuZXRzKS5zdWJuZXRJZHMsXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBhd3N2cGNDb25maWd1cmF0aW9uLnNlY3VyaXR5R3JvdXBzPy5tYXAoKHNnKSA9PiBzZy5zZWN1cml0eUdyb3VwSWQpLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogRGVzY3JpYmUgdGhlIHRhcmdldCBmb3IgQ29kZURlcGxveSB0byB1c2Ugd2hlbiBjcmVhdGluZyBhIGRlcGxveW1lbnQgZm9yIGFuIGVjcy5FY3NEZXBsb3ltZW50R3JvdXAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFyZ2V0U2VydmljZSB7XG4gIC8qKlxuICAgKiBUaGUgVGFza0RlZmludGlvbiB0byBkZXBsb3kgdG8gdGhlIHRhcmdldCBzZXJ2aWNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHRhc2tEZWZpbml0aW9uOiBlY3MuSVRhc2tEZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQW1hem9uIEVDUyBjb250YWluZXIgdGhhdCBjb250YWlucyB5b3VyIEFtYXpvbiBFQ1MgYXBwbGljYXRpb24uIEl0IG11c3QgYmUgYSBjb250YWluZXIgc3BlY2lmaWVkIGluIHlvdXIgQW1hem9uIEVDUyB0YXNrIGRlZmluaXRpb24uXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwb3J0IG9uIHRoZSBjb250YWluZXIgd2hlcmUgdHJhZmZpYyB3aWxsIGJlIHJvdXRlZCB0by5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRhaW5lclBvcnQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIHBsYXRmb3JtIHZlcnNpb24gb2YgdGhlIEZhcmdhdGUgdGFza3MgaW4gdGhlIGRlcGxveWVkIEFtYXpvbiBFQ1Mgc2VydmljZS5cbiAgICogc2VlOiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9kZXZlbG9wZXJndWlkZS9wbGF0Zm9ybV92ZXJzaW9ucy5odG1sXG4gICAqXG4gICAqIEBkZWZhdWx0IExBVEVTVFxuICAgKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm1WZXJzaW9uPzogZWNzLkZhcmdhdGVQbGF0Zm9ybVZlcnNpb247XG5cbiAgLyoqXG4gICAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgRUNTIHNlcnZpY2VzIHRoYXQgaGF2ZSBhIG5ldHdvcmsgdHlwZSBvZiBgYXdzdnBjYC5cbiAgICpcbiAgICogQGRlZmF1bHQgcmV1c2UgY3VycmVudCBuZXR3b3JrIHNldHRpbmdzIGZvciBFQ1Mgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGF3c3ZwY0NvbmZpZ3VyYXRpb24/OiBBd3N2cGNDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgQW1hem9uIEVDUyBjYXBhY2l0eSBwcm92aWRlcnMgdG8gdXNlIGZvciB0aGUgZGVwbG95bWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgcmV1c2UgY3VycmVudCBjYXBjaXR5IHByb3ZpZGVyIHN0cmF0ZWd5IGZvciBFQ1Mgc2VydmljZS5cbiAgICovXG4gIHJlYWRvbmx5IGNhcGFjaXR5UHJvdmlkZXJTdHJhdGVneT86IGVjcy5DYXBhY2l0eVByb3ZpZGVyU3RyYXRlZ3lbXTtcblxufVxuXG4vKipcbiAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgRUNTIHNlcnZpY2VzIHRoYXQgaGF2ZSBhIG5ldHdvcmsgdHlwZSBvZiBgYXdzdnBjYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBd3N2cGNDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBWUEMgdG8gdXNlIGZvciB0aGUgdGFzay5cbiAgICovXG4gIHJlYWRvbmx5IHZwYzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFRoZSBTdWJuZXRzIHRvIHVzZSBmb3IgdGhlIHRhc2suXG4gICAqL1xuICByZWFkb25seSB2cGNTdWJuZXRzOiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgU2VjdXJpdHkgR3JvdXBzIHRvIHVzZSBmb3IgdGhlIHRhc2suXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwczogZWMyLklTZWN1cml0eUdyb3VwW107XG5cbiAgLyoqXG4gICAqIEFzc2lnbiBhIHB1YmxpYyBJUCBhZGRyZXNzIHRvIHRoZSB0YXNrLlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzaWduUHVibGljSXA6IGJvb2xlYW47XG59XG5cbi8qKlxuICogTGlmZWN5Y2xlIGhvb2tzIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBTcGVjSG9va3Mge1xuICAvKipcbiAgICogTGFtYmRhIG9yIEFSTiBvZiBhIGxhbWJkYSB0byBydW4gdGFza3MgYmVmb3JlIHRoZSByZXBsYWNlbWVudCB0YXNrIHNldCBpcyBjcmVhdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYmVmb3JlSW5zdGFsbD86IHN0cmluZyB8IGxhbWJkYS5JRnVuY3Rpb247XG4gIC8qKlxuICAgKiBMYW1iZGEgb3IgQVJOIG9mIGEgbGFtYmRhIHRvIHJ1biB0YXNrcyBhZnRlciB0aGUgcmVwbGFjZW1lbnQgdGFzayBzZXQgaXMgY3JlYXRlZCBhbmQgb25lIG9mIHRoZSB0YXJnZXQgZ3JvdXBzIGlzIGFzc29jaWF0ZWQgd2l0aCBpdC5cbiAgICovXG4gIHJlYWRvbmx5IGFmdGVySW5zdGFsbD86IHN0cmluZyB8IGxhbWJkYS5JRnVuY3Rpb247XG4gIC8qKlxuICAgKiBMYW1iZGEgb3IgQVJOIG9mIGEgbGFtYmRhIHRvIHJ1biB0YXNrcyBhZnRlciB0aGUgdGVzdCBsaXN0ZW5lciBzZXJ2ZXMgdHJhZmZpYyB0byB0aGUgcmVwbGFjZW1lbnQgdGFzayBzZXQuXG4gICAqL1xuICByZWFkb25seSBhZnRlckFsbG93VGVzdFRyYWZmaWM/OiBzdHJpbmcgfCBsYW1iZGEuSUZ1bmN0aW9uO1xuICAvKipcbiAgICogTGFtYmRhIG9yIEFSTiBvZiBhIGxhbWJkYSB0byBydW4gdGFza3MgYWZ0ZXIgdGhlIHNlY29uZCB0YXJnZXQgZ3JvdXAgaXMgYXNzb2NpYXRlZCB3aXRoIHRoZSByZXBsYWNlbWVudCB0YXNrIHNldCwgYnV0IGJlZm9yZSB0cmFmZmljIGlzIHNoaWZ0ZWQgdG8gdGhlIHJlcGxhY2VtZW50IHRhc2sgc2V0LlxuICAgKi9cbiAgcmVhZG9ubHkgYmVmb3JlQWxsb3dUcmFmZmljPzogc3RyaW5nIHwgbGFtYmRhLklGdW5jdGlvbjtcbiAgLyoqXG4gICAqIExhbWJkYSBvciBBUk4gb2YgYSBsYW1iZGEgdG8gcnVuIHRhc2tzIGFmdGVyIHRoZSBzZWNvbmQgdGFyZ2V0IGdyb3VwIHNlcnZlcyB0cmFmZmljIHRvIHRoZSByZXBsYWNlbWVudCB0YXNrIHNldC5cbiAgICovXG4gIHJlYWRvbmx5IGFmdGVyQWxsb3dUcmFmZmljPzogc3RyaW5nIHwgbGFtYmRhLklGdW5jdGlvbjtcbn1cbiJdfQ==
@@ -61,5 +61,5 @@ class EcsDeployment extends constructs_1.Construct {
61
61
  }
62
62
  exports.EcsDeployment = EcsDeployment;
63
63
  _a = JSII_RTTI_SYMBOL_1;
64
- EcsDeployment[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsDeployment", version: "0.0.310" };
64
+ EcsDeployment[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsDeployment", version: "0.0.312" };
65
65
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZWNzLWRlcGxveW1lbnQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBbUM7QUFFbkMsMkNBQXVDO0FBQ3ZDLGdEQUF5RTtBQUN6RSx3RUFBbUU7QUFnRG5FOzs7Ozs7R0FNRztBQUNILE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBTTFDLFlBQW1CLEtBQXlCO1FBQzFDLEtBQUssQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTNDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSwrQ0FBcUIsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CLEVBQUU7WUFDbEYsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlO1lBQ3RDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztTQUNuRCxDQUFDLENBQUM7UUFFSCxJQUFJLCtCQUErQixHQUF3QixTQUFTLENBQUM7UUFDckUsSUFBSSxnQ0FBZ0MsR0FBd0IsU0FBUyxDQUFDO1FBQ3RFLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLE1BQU0sR0FBYyxFQUFFLENBQUM7WUFDM0IsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFO2dCQUN4QyxNQUFNLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7YUFDekM7WUFDRCxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3ZDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQzthQUNuQztZQUNELElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRTtnQkFDeEMsTUFBTSxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO2FBQzNDO1lBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDckIsZ0NBQWdDLEdBQUcsTUFBTSxDQUFDO2dCQUMxQywrQkFBK0IsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BEO2lCQUFNO2dCQUNMLGdDQUFnQyxHQUFHLE9BQU8sQ0FBQzthQUM1QztTQUNGO1FBRUQsTUFBTSxPQUFPLEdBQUcsSUFBSSx3QkFBVSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2pFLE1BQU0sVUFBVSxHQUFHLElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO1lBQzFELFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxZQUFZO1lBQ2hELFlBQVksRUFBRSx1QkFBdUI7WUFDckMsVUFBVSxFQUFFO2dCQUNWLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxlQUFlO2dCQUNsRSxvQkFBb0IsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQjtnQkFDakYsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxtQkFBbUI7Z0JBQzlELGdDQUFnQztnQkFDaEMsK0JBQStCO2dCQUMvQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7Z0JBQzlCLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUU7YUFDM0M7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUQsQ0FBQzs7QUFsREgsc0NBb0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGNvZGVkZXBsb3kgZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVkZXBsb3knO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBBcHBTcGVjSG9va3MsIEVjc0FwcFNwZWMsIFRhcmdldFNlcnZpY2UgfSBmcm9tICcuLi9lY3MtYXBwc3BlYyc7XG5pbXBvcnQgeyBFY3NEZXBsb3ltZW50UHJvdmlkZXIgfSBmcm9tICcuLi9lY3MtZGVwbG95bWVudC1wcm92aWRlcic7XG5cbi8qKlxuICogQ29uc3RydWN0aW9uIHByb3BlcnRpZXMgb2YgRWNzRGVwbG95bWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFY3NEZXBsb3ltZW50UHJvcHMge1xuICAvKipcbiAgICogVGhlIGRlcGxveW1lbnQgZ3JvdXAgdG8gdGFyZ2V0IGZvciB0aGlzIGRlcGxveW1lbnQuXG4gICAqL1xuICByZWFkb25seSBkZXBsb3ltZW50R3JvdXA6IGNvZGVkZXBsb3kuSUVjc0RlcGxveW1lbnRHcm91cDtcblxuICAvKipcbiAgICogVGhlIEVDUyBzZXJ2aWNlIHRvIHRhcmdldCBmb3IgdGhlIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIHNlZTogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2NvZGVkZXBsb3kvbGF0ZXN0L3VzZXJndWlkZS9yZWZlcmVuY2UtYXBwc3BlYy1maWxlLXN0cnVjdHVyZS1yZXNvdXJjZXMuaHRtbCNyZWZlcmVuY2UtYXBwc3BlYy1maWxlLXN0cnVjdHVyZS1yZXNvdXJjZXMtZWNzXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRTZXJ2aWNlOiBUYXJnZXRTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiBmb3Igcm9sbGJhY2sgaW4gdGhlIGV2ZW50IHRoYXQgYSBkZXBsb3ltZW50IGZhaWxzLlxuICAgKlxuICAgKiBAZGVmYXVsdDogbm8gYXV0b21hdGljIHJvbGxiYWNrIHRyaWdnZXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b1JvbGxiYWNrPzogY29kZWRlcGxveS5BdXRvUm9sbGJhY2tDb25maWc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGRlc2NyaXB0aW9uXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBkZXBsb3ltZW50LiBJZiB0aGUgdGltZW91dCBpcyByZWFjaGVkLCBpdCB3aWxsIHRyaWdnZXIgYSByb2xsYmFjayBvZiB0aGUgc3RhY2suXG4gICAqXG4gICAqIEBkZWZhdWx0IDMwIG1pbnV0ZXNcbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXQ/OiBjZGsuRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGxpZmVjeWNsZSBob29rc1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGxpZmVjeWNsZSBob29rc1xuICAgKi9cbiAgcmVhZG9ubHkgaG9va3M/OiBBcHBTcGVjSG9va3M7XG5cbn1cblxuLyoqXG4gKiBBIENvZGVEZXBsb3kgRGVwbG95bWVudCBmb3IgYSBBbWF6b24gRUNTIHNlcnZpY2UgRGVwbG95bWVudEdyb3VwLiBBbiBFY3NEZXBsb3ltZW50R3JvdXBcbiAqIG11c3Qgb25seSBoYXZlIDEgRWNzRGVwbG95bWVudC4gVGhpcyBsaW1pdCBpcyBlbmZvcmNlZCBieSByZW1vdmluZyB0aGUgc2NvcGUgYW5kIGlkXG4gKiBmcm9tIHRoZSBjb25zdHJ1Y3Rvci4gVGhlIHNjb3BlIHdpbGwgYWx3YXlzIGJlIHNldCB0byB0aGUgRWNzRGVwbG95bWVudEdyb3VwXG4gKiBhbmQgdGhlIGlkIHdpbGwgYWx3YXlzIGJlIHNldCB0byB0aGUgc3RyaW5nICdEZXBsb3ltZW50JyB0byBmb3JjZSBhbiBlcnJvciBpZiBtdWxpdGlwbGVcbiAqIEVjc0RlcGxveW1lbnQgY29uc3RydWN0cyBhcmUgY3JlYXRlZCBmb3IgYSBzaW5nbGUgRWNzRGVwbG95bWVudEdyb3VwLlxuICovXG5leHBvcnQgY2xhc3MgRWNzRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBUaGUgaWQgb2YgdGhlIGRlcGxveW1lbnQgdGhhdCB3YXMgY3JlYXRlZC5cbiAgICovXG4gIGRlcGxveW1lbnRJZDogc3RyaW5nO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm9wczogRWNzRGVwbG95bWVudFByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMuZGVwbG95bWVudEdyb3VwLCAnRGVwbG95bWVudCcpO1xuXG4gICAgY29uc3QgZWNzRGVwbG95bWVudFByb3ZpZGVyID0gbmV3IEVjc0RlcGxveW1lbnRQcm92aWRlcih0aGlzLCAnRGVwbG95bWVudFByb3ZpZGVyJywge1xuICAgICAgZGVwbG95bWVudEdyb3VwOiBwcm9wcy5kZXBsb3ltZW50R3JvdXAsXG4gICAgICB0aW1lb3V0OiBwcm9wcy50aW1lb3V0IHx8IGNkay5EdXJhdGlvbi5taW51dGVzKDMwKSxcbiAgICB9KTtcblxuICAgIGxldCBhdXRvUm9sbGJhY2tDb25maWd1cmF0aW9uRXZlbnRzIDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGxldCBhdXRvUm9sbGJhY2tDb25maWd1cmF0aW9uRW5hYmxlZCA6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICBpZiAocHJvcHMuYXV0b1JvbGxiYWNrKSB7XG4gICAgICBsZXQgZXZlbnRzIDogc3RyaW5nW10gPSBbXTtcbiAgICAgIGlmIChwcm9wcy5hdXRvUm9sbGJhY2suZGVwbG95bWVudEluQWxhcm0pIHtcbiAgICAgICAgZXZlbnRzLnB1c2goJ0RFUExPWU1FTlRfU1RPUF9PTl9BTEFSTScpO1xuICAgICAgfVxuICAgICAgaWYgKHByb3BzLmF1dG9Sb2xsYmFjay5mYWlsZWREZXBsb3ltZW50KSB7XG4gICAgICAgIGV2ZW50cy5wdXNoKCdERVBMT1lNRU5UX0ZBSUxVUkUnKTtcbiAgICAgIH1cbiAgICAgIGlmIChwcm9wcy5hdXRvUm9sbGJhY2suc3RvcHBlZERlcGxveW1lbnQpIHtcbiAgICAgICAgZXZlbnRzLnB1c2goJ0RFUExPWU1FTlRfU1RPUF9PTl9SRVFVRVNUJyk7XG4gICAgICB9XG4gICAgICBpZiAoZXZlbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXV0b1JvbGxiYWNrQ29uZmlndXJhdGlvbkVuYWJsZWQgPSAndHJ1ZSc7XG4gICAgICAgIGF1dG9Sb2xsYmFja0NvbmZpZ3VyYXRpb25FdmVudHMgPSBldmVudHMuam9pbignLCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXV0b1JvbGxiYWNrQ29uZmlndXJhdGlvbkVuYWJsZWQgPSAnZmFsc2UnO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGFwcHNwZWMgPSBuZXcgRWNzQXBwU3BlYyhwcm9wcy50YXJnZXRTZXJ2aWNlLCBwcm9wcy5ob29rcyk7XG4gICAgY29uc3QgZGVwbG95bWVudCA9IG5ldyBjZGsuQ3VzdG9tUmVzb3VyY2UodGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgc2VydmljZVRva2VuOiBlY3NEZXBsb3ltZW50UHJvdmlkZXIuc2VydmljZVRva2VuLFxuICAgICAgcmVzb3VyY2VUeXBlOiAnQ3VzdG9tOjpFY3NEZXBsb3ltZW50JyxcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgYXBwbGljYXRpb25OYW1lOiBwcm9wcy5kZXBsb3ltZW50R3JvdXAuYXBwbGljYXRpb24uYXBwbGljYXRpb25OYW1lLFxuICAgICAgICBkZXBsb3ltZW50Q29uZmlnTmFtZTogcHJvcHMuZGVwbG95bWVudEdyb3VwLmRlcGxveW1lbnRDb25maWcuZGVwbG95bWVudENvbmZpZ05hbWUsXG4gICAgICAgIGRlcGxveW1lbnRHcm91cE5hbWU6IHByb3BzLmRlcGxveW1lbnRHcm91cC5kZXBsb3ltZW50R3JvdXBOYW1lLFxuICAgICAgICBhdXRvUm9sbGJhY2tDb25maWd1cmF0aW9uRW5hYmxlZCxcbiAgICAgICAgYXV0b1JvbGxiYWNrQ29uZmlndXJhdGlvbkV2ZW50cyxcbiAgICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgICByZXZpc2lvbkFwcFNwZWNDb250ZW50OiBhcHBzcGVjLnRvU3RyaW5nKCksXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMuZGVwbG95bWVudElkID0gZGVwbG95bWVudC5nZXRBdHRTdHJpbmcoJ2RlcGxveW1lbnRJZCcpO1xuICB9XG5cbn1cbiJdfQ==
@@ -154,5 +154,5 @@ class ApplicationLoadBalancedCodeDeployedFargateService extends aws_ecs_patterns
154
154
  }
155
155
  exports.ApplicationLoadBalancedCodeDeployedFargateService = ApplicationLoadBalancedCodeDeployedFargateService;
156
156
  _a = JSII_RTTI_SYMBOL_1;
157
- ApplicationLoadBalancedCodeDeployedFargateService[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService", version: "0.0.310" };
157
+ ApplicationLoadBalancedCodeDeployedFargateService[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService", version: "0.0.312" };
158
158
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbG9hZC1iYWxhbmNlZC1jb2RlZGVwbG95ZWQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vjcy1wYXR0ZXJucy9hcHBsaWNhdGlvbi1sb2FkLWJhbGFuY2VkLWNvZGVkZXBsb3llZC1mYXJnYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFDdkMsK0RBQTBHO0FBQzFHLCtEQUEySDtBQUMzSCxpREFBNEU7QUFDNUUsbUVBQWlJO0FBQ2pJLHVGQUFtSjtBQUNuSiwrQ0FBMEY7QUFDMUYsK0RBQXNEO0FBRXRELDhDQUF1RDtBQUV2RCxzREFBa0Q7QUF3SGxEOztHQUVHO0FBQ0gsTUFBYSxpREFBa0QsU0FBUSx3REFBcUM7SUF5QzFHOztPQUVHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2RDtRQUNyRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLG9CQUFvQixFQUFFO2dCQUNwQixJQUFJLEVBQUUsa0NBQXdCLENBQUMsV0FBVzthQUMzQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3pIO1FBQ0QsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNoRTtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWU7WUFDMUMsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO2dCQUNsQyxVQUFVLEVBQUUseUJBQWdCLENBQUMsVUFBVTtnQkFDdkMsaUJBQWlCLEVBQUUsMEJBQWlCLENBQUMsU0FBUztnQkFDOUMsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQyxDQUFDO1FBRUwsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFN0UsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzVCLElBQUksS0FBSyxDQUFDLDBCQUEwQixFQUFFO1lBQ3BDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxzQkFBSyxDQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRTtnQkFDN0QsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDO29CQUNuRCxNQUFNLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO29CQUMzQixTQUFTLEVBQUUsS0FBSztpQkFDakIsQ0FBQztnQkFDRixpQkFBaUIsRUFBRSxDQUFDO2dCQUNwQixTQUFTLEVBQUUsS0FBSyxDQUFDLDBCQUEwQixDQUFDLFNBQVMsRUFBRTtnQkFDdkQsa0JBQWtCLEVBQUUsbUNBQWtCLENBQUMsc0JBQXNCO2FBQzlELENBQUMsQ0FBQztZQUNILE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNoQztRQUVELE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxnREFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGdEQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlHLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUM7UUFFakcsSUFBSSxLQUFLLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRTtZQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksc0JBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO2dCQUM3QyxPQUFPLEVBQUUsR0FBRyxRQUFRLENBQUMsV0FBVyxFQUFFLE1BQU0sWUFBWSxFQUFFO2dCQUN0RCxzQkFBc0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUM5QyxRQUFRLEVBQUUseUJBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLHNCQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN2RSxXQUFXLEVBQUUsS0FBSyxDQUFDLG9CQUFvQjtnQkFDdkMsS0FBSyxFQUFFLEtBQUssQ0FBQyxZQUFZO2FBQzFCLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3pDLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLEVBQUU7Z0JBQ2hDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUMzQztTQUNGO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksK0JBQWMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFO2dCQUN6RCxTQUFTLEVBQUUsMEJBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUM7YUFDdEMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxXQUFXLEdBQUcsU0FBUyxDQUFDO1NBQzlCO1FBRUQsSUFBSSxRQUFnQixDQUFDO1FBQ3JCLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNsQixRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztTQUMzQjthQUFNLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtZQUM3QixRQUFRLEdBQUcsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7U0FDbkM7YUFBTSxJQUFJLFFBQVEsS0FBSyxnREFBbUIsQ0FBQyxJQUFJLEVBQUU7WUFDaEQsUUFBUSxHQUFHLElBQUksQ0FBQztTQUNqQjthQUFNLElBQUksUUFBUSxLQUFLLGdEQUFtQixDQUFDLEtBQUssRUFBRTtZQUNqRCxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDL0Q7UUFFRCxJQUFJLFlBQVksQ0FBQztRQUNqQixJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDckIsWUFBWSxHQUFHLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUU7WUFDaEUsUUFBUTtZQUNSLElBQUksRUFBRSxRQUFRO1lBQ2QsSUFBSSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksSUFBSTtZQUNoQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsWUFBWSxFQUFFLFlBQVk7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksbURBQXNCLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQzNFLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7WUFDckIsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsS0FBSyxDQUFDLGNBQWMsSUFBSSxnREFBbUIsQ0FBQyxJQUFJO1lBQzFELGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZTtZQUN0QyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQzlDLFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCO1lBQ3BDLFVBQVUsRUFBRSx1Q0FBVSxDQUFDLEVBQUU7U0FDMUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRTtZQUN2QyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUM7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLCtCQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN6RCxlQUFlLEVBQUUsS0FBSyxDQUFDLGVBQWU7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLG1DQUFrQixDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUNyRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQSxDQUFDLENBQUEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUEsQ0FBQyxDQUFBLFNBQVM7WUFDckQsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLHlCQUF5QixFQUFFO2dCQUN6QixlQUFlLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQ2pDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7Z0JBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixtQkFBbUIsRUFBRSxLQUFLLENBQUMsbUJBQW1CLElBQUksc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2FBQ3ZFO1lBQ0QsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixJQUFJLG9DQUFtQixDQUFDLFdBQVc7WUFDM0UsWUFBWSxFQUFFO2dCQUNaLGlCQUFpQixFQUFFLElBQUk7YUFDeEI7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksOEJBQWEsQ0FBQztZQUNsQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsT0FBTyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDeEQsYUFBYSxFQUFFO2dCQUNiLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWlCLENBQUMsYUFBYTtnQkFDbEUsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWlCLENBQUMsYUFBYTthQUNuRTtZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsT0FBb0I7UUFDL0MsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O0FBMUxILDhHQTJMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQWxhcm0sIEFsYXJtUnVsZSwgQ29tcGFyaXNvbk9wZXJhdG9yLCBDb21wb3NpdGVBbGFybSwgSUFsYXJtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgRWNzQXBwbGljYXRpb24sIEVjc0RlcGxveW1lbnRDb25maWcsIEVjc0RlcGxveW1lbnRHcm91cCwgSUVjc0RlcGxveW1lbnRDb25maWcgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWRlcGxveSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSwgRGVwbG95bWVudENvbnRyb2xsZXJUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlLCBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzLXBhdHRlcm5zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uTGlzdGVuZXIsIEFwcGxpY2F0aW9uUHJvdG9jb2wsIEFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAsIEhlYWx0aENoZWNrLCBUYXJnZXRUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjInO1xuaW1wb3J0IHsgQmxvY2tQdWJsaWNBY2Nlc3MsIEJ1Y2tldCwgQnVja2V0RW5jcnlwdGlvbiwgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBTY2hlZHVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zeW50aGV0aWNzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpVGVzdFN0ZXAsIEFwaUNhbmFyeSB9IGZyb20gJy4uL2FwaS1jYW5hcnknO1xuaW1wb3J0IHsgQXBwU3BlY0hvb2tzIH0gZnJvbSAnLi4vZWNzLWFwcHNwZWMnO1xuaW1wb3J0IHsgRWNzRGVwbG95bWVudCB9IGZyb20gJy4uL2Vjcy1kZXBsb3ltZW50JztcblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBmb3IgdGhlIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkQ29kZURlcGxveWVkRmFyZ2F0ZVNlcnZpY2Ugc2VydmljZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZENvZGVEZXBsb3llZEZhcmdhdGVTZXJ2aWNlUHJvcHMgZXh0ZW5kcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIGEgQ29kZURlcGxveSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDYwIG1pbnV0ZXNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHRvIHdhaXQgYmVmb3JlIHRlcm1pbmF0aW5nIHRoZSBvcmlnaW5hbCAoYmx1ZSkgdGFzayBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMTAgbWludXRlc1xuICAgKi9cbiAgcmVhZG9ubHkgdGVybWluYXRpb25XYWl0VGltZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVwbG95bWVudCBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3IgdGhlIGRlcGxveW1lbnQgZ3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRWNzRGVwbG95bWVudENvbmZpZy5BTExfQVRfT05DRVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudENvbmZpZz86IElFY3NEZXBsb3ltZW50Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgZm9yIEVMQiB0byB3YWl0IGJlZm9yZSBjaGFuZ2luZyB0aGUgc3RhdGUgb2YgYSBkZXJlZ2lzdGVyaW5nIHRhcmdldFxuICAgKiBmcm9tICdkcmFpbmluZycgdG8gJ3VudXNlZCcuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMzAwIHNlY29uZHNcbiAgICovXG4gIHJlYWRvbmx5IGRlcmVnaXN0cmF0aW9uRGVsYXk/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGhlYWx0aGNoZWNrIHRvIGNvbmZpZ3VyZSBvbiB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciB0YXJnZXQgZ3JvdXBzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGhlYWx0aCBjaGVjayBpcyBjb25maWd1cmVkXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRIZWFsdGhDaGVjaz86IEhlYWx0aENoZWNrO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHRvIHVzZSBmb3IgYWNjZXNzIGxvZ3MgZnJvbSB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhIG5ldyBTMyBidWNrZXQgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NMb2dCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IHRvIHVzZSBmb3IgYWNjZXNzIGxvZ3MgZnJvbSB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NMb2dQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHJlc2hvbGQgZm9yIHJlc3BvbnNlIHRpbWUgYWxhcm0uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWxhcm0gd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZVRpbWVBbGFybVRocmVzaG9sZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRocmVhZHMgdG8gcnVuIGNvbmN1cnJlbnRseSBmb3IgdGhlIHN5bnRoZXRpYyB0ZXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwXG4gICAqL1xuICByZWFkb25seSBhcGlDYW5hcnlUaHJlYWRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGZyZXF1ZW5jeSBmb3IgcnVubmluZyB0aGUgYXBpIGNhbmFyaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDUgbWludXRlc1xuICAgKi9cbiAgcmVhZG9ubHkgYXBpQ2FuYXJ5U2NoZWR1bGU/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRocmVzaG9sZCBmb3IgaG93IGxvbmcgYSBhcGkgY2FuYXJ5IGNhbiB0YWtlIHRvIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhbGFybSBpcyBjcmVhdGVkIGZvciB0ZXN0IGR1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBhcGlDYW5hcnlUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBzdGVwcyB0byBydW4gaW4gdGhlIGNhbmFyeS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzeW50aGV0aWMgdGVzdCB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGFwaVRlc3RTdGVwcz86IEFwaVRlc3RTdGVwW107XG5cbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSBmb3IgdGVzdCB0cmFmZmljIG9uIHRoZSBsaXN0ZW5lclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGxpc3RlbmVyUG9ydCArIDFcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RQb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBsaWZlY3ljbGUgaG9va3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBsaWZlY3ljbGUgaG9va3NcbiAgICovXG4gIHJlYWRvbmx5IGhvb2tzPzogQXBwU3BlY0hvb2tzO1xuXG4gIC8qKlxuICAgKiBUaGUgcGh5c2ljYWwsIGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIENvZGVEZXBsb3kgQXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGFuIGF1dG8tZ2VuZXJhdGVkIG5hbWUgd2lsbCBiZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCwgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgQ29kZURlcGxveSBEZXBsb3ltZW50IEdyb3VwLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBbiBhdXRvLWdlbmVyYXRlZCBuYW1lIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRHcm91cE5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBGYXJnYXRlIHNlcnZpY2UgcnVubmluZyBvbiBhbiBFQ1MgY2x1c3RlciBmcm9udGVkIGJ5IGFuIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jZXIgYW5kIGRlcGxveWVkIGJ5IENvZGVEZXBsb3kuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZENvZGVEZXBsb3llZEZhcmdhdGVTZXJ2aWNlIGV4dGVuZHMgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRGYXJnYXRlU2VydmljZSB7XG4gIC8qKlxuICAgKiBDb21wb3NpdGUgYWxhcm0gZm9yIG1vbml0b3JpbmcgaGVhbHRoIG9mIHNlcnZpY2UuXG4gICAqL1xuICBoZWFsdGhBbGFybT86IElBbGFybTtcblxuICAvKipcbiAgICogQVBJIENhbmFyeSBmb3IgdGhlIHNlcnZpY2UuXG4gICAqL1xuICBhcGlDYW5hcnk/OiBBcGlDYW5hcnk7XG5cbiAgLyoqXG4gICAqIFRlc3QgbGlzdGVuZXIgdG8gdXNlIGZvciBDb2RlRGVwbG95IGRlcGxveW1lbnRzLlxuICAgKi9cbiAgdGVzdExpc3RlbmVyOiBBcHBsaWNhdGlvbkxpc3RlbmVyO1xuXG4gIC8qKlxuICAgKiBUZXN0IHRhcmdldCBncm91cCB0byB1c2UgZm9yIENvZGVEZXBsb3kgZGVwbG95bWVudHMuXG4gICAqL1xuICBncmVlblRhcmdldEdyb3VwOiBBcHBsaWNhdGlvblRhcmdldEdyb3VwO1xuXG4gIC8qKlxuICAgKiBTMyBCdWNrZXQgdXNlZCBmb3IgYWNjZXNzIGxvZ3MuXG4gICAqL1xuICBhY2Nlc3NMb2dCdWNrZXQ6IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIENvZGVEZXBsb3kgYXBwbGljYXRpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICovXG4gIGFwcGxpY2F0aW9uOiBFY3NBcHBsaWNhdGlvbjtcblxuICAvKipcbiAgICogQ29kZURlcGxveSBkZXBsb3ltZW50IGdyb3VwIGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBkZXBsb3ltZW50R3JvdXA6IEVjc0RlcGxveW1lbnRHcm91cDtcblxuICAvKipcbiAgICogQ29kZURlcGxveSBkZXBsb3ltZW50IGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBkZXBsb3ltZW50OiBFY3NEZXBsb3ltZW50O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZENvZGVEZXBsb3llZEZhcmdhdGVTZXJ2aWNlIGNsYXNzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkQ29kZURlcGxveWVkRmFyZ2F0ZVNlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZXBsb3ltZW50Q29udHJvbGxlcjoge1xuICAgICAgICB0eXBlOiBEZXBsb3ltZW50Q29udHJvbGxlclR5cGUuQ09ERV9ERVBMT1ksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmRlcmVnaXN0cmF0aW9uRGVsYXkpIHtcbiAgICAgIHRoaXMudGFyZ2V0R3JvdXAuc2V0QXR0cmlidXRlKCdkZXJlZ2lzdHJhdGlvbl9kZWxheS50aW1lb3V0X3NlY29uZHMnLCBwcm9wcy5kZXJlZ2lzdHJhdGlvbkRlbGF5LnRvU2Vjb25kcygpLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAocHJvcHMudGFyZ2V0SGVhbHRoQ2hlY2spIHtcbiAgICAgIHRoaXMudGFyZ2V0R3JvdXAuY29uZmlndXJlSGVhbHRoQ2hlY2socHJvcHMudGFyZ2V0SGVhbHRoQ2hlY2spO1xuICAgIH1cbiAgICB0aGlzLmFjY2Vzc0xvZ0J1Y2tldCA9IHByb3BzLmFjY2Vzc0xvZ0J1Y2tldCA/P1xuICAgICAgbmV3IEJ1Y2tldCh0aGlzLCAnQWNjZXNzTG9nQnVja2V0Jywge1xuICAgICAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICB9KTtcblxuICAgIHRoaXMubG9hZEJhbGFuY2VyLmxvZ0FjY2Vzc0xvZ3ModGhpcy5hY2Nlc3NMb2dCdWNrZXQsIHByb3BzLmFjY2Vzc0xvZ1ByZWZpeCk7XG5cbiAgICBjb25zdCBhbGFybXM6IElBbGFybVtdID0gW107XG4gICAgaWYgKHByb3BzLnJlc3BvbnNlVGltZUFsYXJtVGhyZXNob2xkKSB7XG4gICAgICBjb25zdCByZXNwb25zZVRpbWVBbGFybSA9IG5ldyBBbGFybSh0aGlzLCAnUmVzcG9uc2VUaW1lQWxhcm0nLCB7XG4gICAgICAgIG1ldHJpYzogdGhpcy5sb2FkQmFsYW5jZXIubWV0cmljcy50YXJnZXRSZXNwb25zZVRpbWUoe1xuICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICBzdGF0aXN0aWM6ICdwOTUnLFxuICAgICAgICB9KSxcbiAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDIsXG4gICAgICAgIHRocmVzaG9sZDogcHJvcHMucmVzcG9uc2VUaW1lQWxhcm1UaHJlc2hvbGQudG9TZWNvbmRzKCksXG4gICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICB9KTtcbiAgICAgIGFsYXJtcy5wdXNoKHJlc3BvbnNlVGltZUFsYXJtKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm90b2NvbCA9IHByb3BzLnByb3RvY29sID8/IChwcm9wcy5jZXJ0aWZpY2F0ZSA/IEFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUFMgOiBBcHBsaWNhdGlvblByb3RvY29sLkhUVFApO1xuXG4gICAgY29uc3QgdGVzdEhvc3ROYW1lID0gcHJvcHMuZG9tYWluTmFtZSA/IHByb3BzLmRvbWFpbk5hbWUgOiB0aGlzLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJEbnNOYW1lO1xuXG4gICAgaWYgKHByb3BzLmFwaVRlc3RTdGVwcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFwaUNhbmFyeSA9IG5ldyBBcGlDYW5hcnkodGhpcywgJ0NhbmFyeScsIHtcbiAgICAgICAgYmFzZVVybDogYCR7cHJvdG9jb2wudG9Mb3dlckNhc2UoKX06Ly8ke3Rlc3RIb3N0TmFtZX1gLFxuICAgICAgICBkdXJhdGlvbkFsYXJtVGhyZXNob2xkOiBwcm9wcy5hcGlDYW5hcnlUaW1lb3V0LFxuICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmF0ZShwcm9wcy5hcGlDYW5hcnlTY2hlZHVsZSA/PyBEdXJhdGlvbi5taW51dGVzKDUpKSxcbiAgICAgICAgdGhyZWFkQ291bnQ6IHByb3BzLmFwaUNhbmFyeVRocmVhZENvdW50LFxuICAgICAgICBzdGVwczogcHJvcHMuYXBpVGVzdFN0ZXBzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYXBpQ2FuYXJ5Lm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLnNlcnZpY2UpO1xuXG4gICAgICBhbGFybXMucHVzaCh0aGlzLmFwaUNhbmFyeS5zdWNjZXNzQWxhcm0pO1xuICAgICAgaWYgKHRoaXMuYXBpQ2FuYXJ5LmR1cmF0aW9uQWxhcm0pIHtcbiAgICAgICAgYWxhcm1zLnB1c2godGhpcy5hcGlDYW5hcnkuZHVyYXRpb25BbGFybSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhbGFybXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5oZWFsdGhBbGFybSA9IG5ldyBDb21wb3NpdGVBbGFybSh0aGlzLCAnSGVhbHRoQWxhcm0nLCB7XG4gICAgICAgIGFsYXJtUnVsZTogQWxhcm1SdWxlLmFueU9mKC4uLmFsYXJtcyksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oZWFsdGhBbGFybSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgdGVzdFBvcnQ6IG51bWJlcjtcbiAgICBpZiAocHJvcHMudGVzdFBvcnQpIHtcbiAgICAgIHRlc3RQb3J0ID0gcHJvcHMudGVzdFBvcnQ7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5saXN0ZW5lclBvcnQpIHtcbiAgICAgIHRlc3RQb3J0ID0gcHJvcHMubGlzdGVuZXJQb3J0ICsgMTtcbiAgICB9IGVsc2UgaWYgKHByb3RvY29sID09PSBBcHBsaWNhdGlvblByb3RvY29sLkhUVFApIHtcbiAgICAgIHRlc3RQb3J0ID0gODA4MDtcbiAgICB9IGVsc2UgaWYgKHByb3RvY29sID09PSBBcHBsaWNhdGlvblByb3RvY29sLkhUVFBTKSB7XG4gICAgICB0ZXN0UG9ydCA9IDg0NDM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRldGVybWluZSBwb3J0IGZvciB0ZXN0IGxpc3RlbmVyJyk7XG4gICAgfVxuXG4gICAgbGV0IGNlcnRpZmljYXRlcztcbiAgICBpZiAocHJvcHMuY2VydGlmaWNhdGUpIHtcbiAgICAgIGNlcnRpZmljYXRlcyA9IFtwcm9wcy5jZXJ0aWZpY2F0ZV07XG4gICAgfVxuXG4gICAgdGhpcy50ZXN0TGlzdGVuZXIgPSB0aGlzLmxvYWRCYWxhbmNlci5hZGRMaXN0ZW5lcignVGVzdExpc3RlbmVyJywge1xuICAgICAgcHJvdG9jb2wsXG4gICAgICBwb3J0OiB0ZXN0UG9ydCxcbiAgICAgIG9wZW46IHByb3BzLm9wZW5MaXN0ZW5lciA/PyB0cnVlLFxuICAgICAgc3NsUG9saWN5OiBwcm9wcy5zc2xQb2xpY3ksXG4gICAgICBjZXJ0aWZpY2F0ZXM6IGNlcnRpZmljYXRlcyxcbiAgICB9KTtcblxuICAgIHRoaXMuZ3JlZW5UYXJnZXRHcm91cCA9IG5ldyBBcHBsaWNhdGlvblRhcmdldEdyb3VwKHRoaXMsICdHcmVlblRhcmdldEdyb3VwJywge1xuICAgICAgdnBjOiB0aGlzLmNsdXN0ZXIudnBjLFxuICAgICAgcG9ydDogdGVzdFBvcnQsXG4gICAgICBwcm90b2NvbDogcHJvcHMudGFyZ2V0UHJvdG9jb2wgPz8gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQLFxuICAgICAgcHJvdG9jb2xWZXJzaW9uOiBwcm9wcy5wcm90b2NvbFZlcnNpb24sXG4gICAgICBkZXJlZ2lzdHJhdGlvbkRlbGF5OiBwcm9wcy5kZXJlZ2lzdHJhdGlvbkRlbGF5LFxuICAgICAgaGVhbHRoQ2hlY2s6IHByb3BzLnRhcmdldEhlYWx0aENoZWNrLFxuICAgICAgdGFyZ2V0VHlwZTogVGFyZ2V0VHlwZS5JUCxcbiAgICB9KTtcblxuICAgIHRoaXMubGlzdGVuZXIubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuZ3JlZW5UYXJnZXRHcm91cCk7XG5cbiAgICB0aGlzLnRlc3RMaXN0ZW5lci5hZGRUYXJnZXRHcm91cHMoJ0VDUycsIHtcbiAgICAgIHRhcmdldEdyb3VwczogW3RoaXMuZ3JlZW5UYXJnZXRHcm91cF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGxpY2F0aW9uID0gbmV3IEVjc0FwcGxpY2F0aW9uKHRoaXMsICdBcHBsaWNhdGlvbicsIHtcbiAgICAgIGFwcGxpY2F0aW9uTmFtZTogcHJvcHMuYXBwbGljYXRpb25OYW1lLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50R3JvdXAgPSBuZXcgRWNzRGVwbG95bWVudEdyb3VwKHRoaXMsICdEZXBsb3ltZW50R3JvdXAnLCB7XG4gICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbixcbiAgICAgIGRlcGxveW1lbnRHcm91cE5hbWU6IHByb3BzLmRlcGxveW1lbnRHcm91cE5hbWUsXG4gICAgICBhbGFybXM6IHRoaXMuaGVhbHRoQWxhcm0/W3RoaXMuaGVhbHRoQWxhcm1dOnVuZGVmaW5lZCxcbiAgICAgIHNlcnZpY2U6IHRoaXMuc2VydmljZSxcbiAgICAgIGJsdWVHcmVlbkRlcGxveW1lbnRDb25maWc6IHtcbiAgICAgICAgYmx1ZVRhcmdldEdyb3VwOiB0aGlzLnRhcmdldEdyb3VwLFxuICAgICAgICBncmVlblRhcmdldEdyb3VwOiB0aGlzLmdyZWVuVGFyZ2V0R3JvdXAsXG4gICAgICAgIGxpc3RlbmVyOiB0aGlzLmxpc3RlbmVyLFxuICAgICAgICB0ZXN0TGlzdGVuZXI6IHRoaXMudGVzdExpc3RlbmVyLFxuICAgICAgICB0ZXJtaW5hdGlvbldhaXRUaW1lOiBwcm9wcy50ZXJtaW5hdGlvbldhaXRUaW1lID8/IER1cmF0aW9uLm1pbnV0ZXMoMTApLFxuICAgICAgfSxcbiAgICAgIGRlcGxveW1lbnRDb25maWc6IHByb3BzLmRlcGxveW1lbnRDb25maWcgPz8gRWNzRGVwbG95bWVudENvbmZpZy5BTExfQVRfT05DRSxcbiAgICAgIGF1dG9Sb2xsYmFjazoge1xuICAgICAgICBzdG9wcGVkRGVwbG95bWVudDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5kZXBsb3ltZW50ID0gbmV3IEVjc0RlcGxveW1lbnQoe1xuICAgICAgZGVwbG95bWVudEdyb3VwOiB0aGlzLmRlcGxveW1lbnRHcm91cCxcbiAgICAgIHRpbWVvdXQ6IHByb3BzLmRlcGxveW1lbnRUaW1lb3V0ID8/IER1cmF0aW9uLm1pbnV0ZXMoNjApLFxuICAgICAgdGFyZ2V0U2VydmljZToge1xuICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgY29udGFpbmVyTmFtZTogdGhpcy50YXNrRGVmaW5pdGlvbi5kZWZhdWx0Q29udGFpbmVyIS5jb250YWluZXJOYW1lLFxuICAgICAgICBjb250YWluZXJQb3J0OiB0aGlzLnRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXIhLmNvbnRhaW5lclBvcnQsXG4gICAgICB9LFxuICAgICAgaG9va3M6IHByb3BzLmhvb2tzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFNlcnZpY2VBc1RhcmdldChzZXJ2aWNlOiBCYXNlU2VydmljZSkge1xuICAgIHN1cGVyLmFkZFNlcnZpY2VBc1RhcmdldChzZXJ2aWNlKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-codedeploy",
3
3
  "description": "AWS SDK for JavaScript Codedeploy Client for Node.js, Browser and React Native",
4
- "version": "3.624.0",
4
+ "version": "3.631.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-codedeploy",
@@ -20,17 +20,17 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/client-sso-oidc": "3.624.0",
24
- "@aws-sdk/client-sts": "3.624.0",
25
- "@aws-sdk/core": "3.624.0",
26
- "@aws-sdk/credential-provider-node": "3.624.0",
23
+ "@aws-sdk/client-sso-oidc": "3.631.0",
24
+ "@aws-sdk/client-sts": "3.631.0",
25
+ "@aws-sdk/core": "3.629.0",
26
+ "@aws-sdk/credential-provider-node": "3.631.0",
27
27
  "@aws-sdk/middleware-host-header": "3.620.0",
28
28
  "@aws-sdk/middleware-logger": "3.609.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
30
- "@aws-sdk/middleware-user-agent": "3.620.0",
30
+ "@aws-sdk/middleware-user-agent": "3.631.0",
31
31
  "@aws-sdk/region-config-resolver": "3.614.0",
32
32
  "@aws-sdk/types": "3.609.0",
33
- "@aws-sdk/util-endpoints": "3.614.0",
33
+ "@aws-sdk/util-endpoints": "3.631.0",
34
34
  "@aws-sdk/util-user-agent-browser": "3.609.0",
35
35
  "@aws-sdk/util-user-agent-node": "3.614.0",
36
36
  "@smithy/config-resolver": "^3.0.5",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso",
3
3
  "description": "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native",
4
- "version": "3.624.0",
4
+ "version": "3.631.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso",
@@ -20,14 +20,14 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.624.0",
23
+ "@aws-sdk/core": "3.629.0",
24
24
  "@aws-sdk/middleware-host-header": "3.620.0",
25
25
  "@aws-sdk/middleware-logger": "3.609.0",
26
26
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
27
- "@aws-sdk/middleware-user-agent": "3.620.0",
27
+ "@aws-sdk/middleware-user-agent": "3.631.0",
28
28
  "@aws-sdk/region-config-resolver": "3.614.0",
29
29
  "@aws-sdk/types": "3.609.0",
30
- "@aws-sdk/util-endpoints": "3.614.0",
30
+ "@aws-sdk/util-endpoints": "3.631.0",
31
31
  "@aws-sdk/util-user-agent-browser": "3.609.0",
32
32
  "@aws-sdk/util-user-agent-node": "3.614.0",
33
33
  "@smithy/config-resolver": "^3.0.5",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso-oidc",
3
3
  "description": "AWS SDK for JavaScript Sso Oidc Client for Node.js, Browser and React Native",
4
- "version": "3.624.0",
4
+ "version": "3.631.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso-oidc",
@@ -20,15 +20,15 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "5.2.0",
22
22
  "@aws-crypto/sha256-js": "5.2.0",
23
- "@aws-sdk/core": "3.624.0",
24
- "@aws-sdk/credential-provider-node": "3.624.0",
23
+ "@aws-sdk/core": "3.629.0",
24
+ "@aws-sdk/credential-provider-node": "3.631.0",
25
25
  "@aws-sdk/middleware-host-header": "3.620.0",
26
26
  "@aws-sdk/middleware-logger": "3.609.0",
27
27
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
28
- "@aws-sdk/middleware-user-agent": "3.620.0",
28
+ "@aws-sdk/middleware-user-agent": "3.631.0",
29
29
  "@aws-sdk/region-config-resolver": "3.614.0",
30
30
  "@aws-sdk/types": "3.609.0",
31
- "@aws-sdk/util-endpoints": "3.614.0",
31
+ "@aws-sdk/util-endpoints": "3.631.0",
32
32
  "@aws-sdk/util-user-agent-browser": "3.609.0",
33
33
  "@aws-sdk/util-user-agent-node": "3.614.0",
34
34
  "@smithy/config-resolver": "^3.0.5",
@@ -85,7 +85,7 @@
85
85
  },
86
86
  "license": "Apache-2.0",
87
87
  "peerDependencies": {
88
- "@aws-sdk/client-sts": "^3.624.0"
88
+ "@aws-sdk/client-sts": "^3.631.0"
89
89
  },
90
90
  "browser": {
91
91
  "./dist-es/runtimeConfig": "./dist-es/runtimeConfig.browser"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sts",
3
3
  "description": "AWS SDK for JavaScript Sts Client for Node.js, Browser and React Native",
4
- "version": "3.624.0",
4
+ "version": "3.631.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sts",
@@ -22,16 +22,16 @@
22
22
  "dependencies": {
23
23
  "@aws-crypto/sha256-browser": "5.2.0",
24
24
  "@aws-crypto/sha256-js": "5.2.0",
25
- "@aws-sdk/client-sso-oidc": "3.624.0",
26
- "@aws-sdk/core": "3.624.0",
27
- "@aws-sdk/credential-provider-node": "3.624.0",
25
+ "@aws-sdk/client-sso-oidc": "3.631.0",
26
+ "@aws-sdk/core": "3.629.0",
27
+ "@aws-sdk/credential-provider-node": "3.631.0",
28
28
  "@aws-sdk/middleware-host-header": "3.620.0",
29
29
  "@aws-sdk/middleware-logger": "3.609.0",
30
30
  "@aws-sdk/middleware-recursion-detection": "3.620.0",
31
- "@aws-sdk/middleware-user-agent": "3.620.0",
31
+ "@aws-sdk/middleware-user-agent": "3.631.0",
32
32
  "@aws-sdk/region-config-resolver": "3.614.0",
33
33
  "@aws-sdk/types": "3.609.0",
34
- "@aws-sdk/util-endpoints": "3.614.0",
34
+ "@aws-sdk/util-endpoints": "3.631.0",
35
35
  "@aws-sdk/util-user-agent-browser": "3.609.0",
36
36
  "@aws-sdk/util-user-agent-node": "3.614.0",
37
37
  "@smithy/config-resolver": "^3.0.5",
@@ -24,7 +24,9 @@ __export(httpAuthSchemes_exports, {
24
24
  AWSSDKSigV4Signer: () => AWSSDKSigV4Signer,
25
25
  AwsSdkSigV4ASigner: () => AwsSdkSigV4ASigner,
26
26
  AwsSdkSigV4Signer: () => AwsSdkSigV4Signer,
27
+ NODE_SIGV4A_CONFIG_OPTIONS: () => NODE_SIGV4A_CONFIG_OPTIONS,
27
28
  resolveAWSSDKSigV4Config: () => resolveAWSSDKSigV4Config,
29
+ resolveAwsSdkSigV4AConfig: () => resolveAwsSdkSigV4AConfig,
28
30
  resolveAwsSdkSigV4Config: () => resolveAwsSdkSigV4Config,
29
31
  validateSigningProperties: () => validateSigningProperties
30
32
  });
@@ -148,7 +150,8 @@ var _AwsSdkSigV4ASigner = class _AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
148
150
  const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(
149
151
  signingProperties
150
152
  );
151
- const multiRegionOverride = ((_a = signingRegionSet == null ? void 0 : signingRegionSet.join) == null ? void 0 : _a.call(signingRegionSet, ",")) ?? signingRegion;
153
+ const configResolvedSigningRegionSet = await ((_a = config.sigv4aSigningRegionSet) == null ? void 0 : _a.call(config));
154
+ const multiRegionOverride = (configResolvedSigningRegionSet ?? signingRegionSet ?? [signingRegion]).join(",");
152
155
  const signedRequest = await signer.sign(httpRequest, {
153
156
  signingDate: getSkewCorrectedDate(config.systemClockOffset),
154
157
  signingRegion: multiRegionOverride,
@@ -160,17 +163,44 @@ var _AwsSdkSigV4ASigner = class _AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
160
163
  __name(_AwsSdkSigV4ASigner, "AwsSdkSigV4ASigner");
161
164
  var AwsSdkSigV4ASigner = _AwsSdkSigV4ASigner;
162
165
 
163
- // src/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.ts
166
+ // src/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4AConfig.ts
164
167
  var import_core = require("@smithy/core");
168
+ var import_property_provider = require("@smithy/property-provider");
169
+ var resolveAwsSdkSigV4AConfig = /* @__PURE__ */ __name((config) => {
170
+ config.sigv4aSigningRegionSet = (0, import_core.normalizeProvider)(config.sigv4aSigningRegionSet);
171
+ return config;
172
+ }, "resolveAwsSdkSigV4AConfig");
173
+ var NODE_SIGV4A_CONFIG_OPTIONS = {
174
+ environmentVariableSelector(env) {
175
+ if (env.AWS_SIGV4A_SIGNING_REGION_SET) {
176
+ return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
177
+ }
178
+ throw new import_property_provider.ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
179
+ tryNextLink: true
180
+ });
181
+ },
182
+ configFileSelector(profile) {
183
+ if (profile.sigv4a_signing_region_set) {
184
+ return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim());
185
+ }
186
+ throw new import_property_provider.ProviderError("sigv4a_signing_region_set not set in profile.", {
187
+ tryNextLink: true
188
+ });
189
+ },
190
+ default: void 0
191
+ };
192
+
193
+ // src/submodules/httpAuthSchemes/aws_sdk/resolveAwsSdkSigV4Config.ts
194
+ var import_core2 = require("@smithy/core");
165
195
  var import_signature_v4 = require("@smithy/signature-v4");
166
196
  var resolveAwsSdkSigV4Config = /* @__PURE__ */ __name((config) => {
167
197
  let normalizedCreds;
168
198
  if (config.credentials) {
169
- normalizedCreds = (0, import_core.memoizeIdentityProvider)(config.credentials, import_core.isIdentityExpired, import_core.doesIdentityRequireRefresh);
199
+ normalizedCreds = (0, import_core2.memoizeIdentityProvider)(config.credentials, import_core2.isIdentityExpired, import_core2.doesIdentityRequireRefresh);
170
200
  }
171
201
  if (!normalizedCreds) {
172
202
  if (config.credentialDefaultProvider) {
173
- normalizedCreds = (0, import_core.normalizeProvider)(
203
+ normalizedCreds = (0, import_core2.normalizeProvider)(
174
204
  config.credentialDefaultProvider(
175
205
  Object.assign({}, config, {
176
206
  parentClientConfig: config
@@ -193,9 +223,9 @@ var resolveAwsSdkSigV4Config = /* @__PURE__ */ __name((config) => {
193
223
  } = config;
194
224
  let signer;
195
225
  if (config.signer) {
196
- signer = (0, import_core.normalizeProvider)(config.signer);
226
+ signer = (0, import_core2.normalizeProvider)(config.signer);
197
227
  } else if (config.regionInfoProvider) {
198
- signer = /* @__PURE__ */ __name(() => (0, import_core.normalizeProvider)(config.region)().then(
228
+ signer = /* @__PURE__ */ __name(() => (0, import_core2.normalizeProvider)(config.region)().then(
199
229
  async (region) => [
200
230
  await config.regionInfoProvider(region, {
201
231
  useFipsEndpoint: await config.useFipsEndpoint(),
@@ -225,7 +255,7 @@ var resolveAwsSdkSigV4Config = /* @__PURE__ */ __name((config) => {
225
255
  {
226
256
  name: "sigv4",
227
257
  signingName: config.signingName || config.defaultSigningName,
228
- signingRegion: await (0, import_core.normalizeProvider)(config.region)(),
258
+ signingRegion: await (0, import_core2.normalizeProvider)(config.region)(),
229
259
  properties: {}
230
260
  },
231
261
  authScheme
@@ -260,7 +290,9 @@ var resolveAWSSDKSigV4Config = resolveAwsSdkSigV4Config;
260
290
  AWSSDKSigV4Signer,
261
291
  AwsSdkSigV4ASigner,
262
292
  AwsSdkSigV4Signer,
293
+ NODE_SIGV4A_CONFIG_OPTIONS,
263
294
  resolveAWSSDKSigV4Config,
295
+ resolveAwsSdkSigV4AConfig,
264
296
  resolveAwsSdkSigV4Config,
265
297
  validateSigningProperties
266
298
  });
@@ -7,7 +7,9 @@ export class AwsSdkSigV4ASigner extends AwsSdkSigV4Signer {
7
7
  throw new Error("The request is not an instance of `HttpRequest` and cannot be signed");
8
8
  }
9
9
  const { config, signer, signingRegion, signingRegionSet, signingName } = await validateSigningProperties(signingProperties);
10
- const multiRegionOverride = signingRegionSet?.join?.(",") ?? signingRegion;
10
+ const configResolvedSigningRegionSet = await config.sigv4aSigningRegionSet?.();
11
+ const multiRegionOverride = (configResolvedSigningRegionSet ??
12
+ signingRegionSet ?? [signingRegion]).join(",");
11
13
  const signedRequest = await signer.sign(httpRequest, {
12
14
  signingDate: getSkewCorrectedDate(config.systemClockOffset),
13
15
  signingRegion: multiRegionOverride,
@@ -1,3 +1,4 @@
1
1
  export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from "./AwsSdkSigV4Signer";
2
2
  export { AwsSdkSigV4ASigner } from "./AwsSdkSigV4ASigner";
3
+ export * from "./resolveAwsSdkSigV4AConfig";
3
4
  export * from "./resolveAwsSdkSigV4Config";
@@ -0,0 +1,25 @@
1
+ import { normalizeProvider } from "@smithy/core";
2
+ import { ProviderError } from "@smithy/property-provider";
3
+ export const resolveAwsSdkSigV4AConfig = (config) => {
4
+ config.sigv4aSigningRegionSet = normalizeProvider(config.sigv4aSigningRegionSet);
5
+ return config;
6
+ };
7
+ export const NODE_SIGV4A_CONFIG_OPTIONS = {
8
+ environmentVariableSelector(env) {
9
+ if (env.AWS_SIGV4A_SIGNING_REGION_SET) {
10
+ return env.AWS_SIGV4A_SIGNING_REGION_SET.split(",").map((_) => _.trim());
11
+ }
12
+ throw new ProviderError("AWS_SIGV4A_SIGNING_REGION_SET not set in env.", {
13
+ tryNextLink: true,
14
+ });
15
+ },
16
+ configFileSelector(profile) {
17
+ if (profile.sigv4a_signing_region_set) {
18
+ return (profile.sigv4a_signing_region_set ?? "").split(",").map((_) => _.trim());
19
+ }
20
+ throw new ProviderError("sigv4a_signing_region_set not set in profile.", {
21
+ tryNextLink: true,
22
+ });
23
+ },
24
+ default: undefined,
25
+ };
@@ -1,8 +1,9 @@
1
1
  import { AuthScheme, AwsCredentialIdentity, HttpRequest as IHttpRequest, HttpResponse, HttpSigner, RequestSigner } from "@smithy/types";
2
+ import { AwsSdkSigV4AAuthResolvedConfig } from "./resolveAwsSdkSigV4AConfig";
2
3
  /**
3
4
  * @internal
4
5
  */
5
- interface AwsSdkSigV4Config {
6
+ interface AwsSdkSigV4Config extends AwsSdkSigV4AAuthResolvedConfig {
6
7
  systemClockOffset: number;
7
8
  signer: (authScheme?: AuthScheme) => Promise<RequestSigner>;
8
9
  }
@@ -1,3 +1,4 @@
1
1
  export { AwsSdkSigV4Signer, AWSSDKSigV4Signer, validateSigningProperties } from "./AwsSdkSigV4Signer";
2
2
  export { AwsSdkSigV4ASigner } from "./AwsSdkSigV4ASigner";
3
+ export * from "./resolveAwsSdkSigV4AConfig";
3
4
  export * from "./resolveAwsSdkSigV4Config";
@@ -0,0 +1,38 @@
1
+ import { LoadedConfigSelectors } from "@smithy/node-config-provider";
2
+ import { Provider } from "@smithy/types";
3
+ /**
4
+ * @public
5
+ */
6
+ export interface AwsSdkSigV4AAuthInputConfig {
7
+ /**
8
+ * This option will override the AWS sigv4a
9
+ * signing regionSet from any other source.
10
+ *
11
+ * The lookup order is:
12
+ * 1. this value
13
+ * 2. configuration file value of sigv4a_signing_region_set.
14
+ * 3. environment value of AWS_SIGV4A_SIGNING_REGION_SET.
15
+ * 4. signingRegionSet given by endpoint resolution.
16
+ * 5. the singular region of the SDK client.
17
+ */
18
+ sigv4aSigningRegionSet?: string[] | undefined | Provider<string[] | undefined>;
19
+ }
20
+ /**
21
+ * @internal
22
+ */
23
+ export interface AwsSdkSigV4APreviouslyResolved {
24
+ }
25
+ /**
26
+ * @internal
27
+ */
28
+ export interface AwsSdkSigV4AAuthResolvedConfig {
29
+ sigv4aSigningRegionSet: Provider<string[] | undefined>;
30
+ }
31
+ /**
32
+ * @internal
33
+ */
34
+ export declare const resolveAwsSdkSigV4AConfig: <T>(config: T & AwsSdkSigV4AAuthInputConfig & AwsSdkSigV4APreviouslyResolved) => T & AwsSdkSigV4AAuthResolvedConfig;
35
+ /**
36
+ * @internal
37
+ */
38
+ export declare const NODE_SIGV4A_CONFIG_OPTIONS: LoadedConfigSelectors<string[] | undefined>;
@@ -6,7 +6,8 @@ import {
6
6
  HttpSigner,
7
7
  RequestSigner,
8
8
  } from "@smithy/types";
9
- interface AwsSdkSigV4Config {
9
+ import { AwsSdkSigV4AAuthResolvedConfig } from "./resolveAwsSdkSigV4AConfig";
10
+ interface AwsSdkSigV4Config extends AwsSdkSigV4AAuthResolvedConfig {
10
11
  systemClockOffset: number;
11
12
  signer: (authScheme?: AuthScheme) => Promise<RequestSigner>;
12
13
  }
@@ -4,4 +4,5 @@ export {
4
4
  validateSigningProperties,
5
5
  } from "./AwsSdkSigV4Signer";
6
6
  export { AwsSdkSigV4ASigner } from "./AwsSdkSigV4ASigner";
7
+ export * from "./resolveAwsSdkSigV4AConfig";
7
8
  export * from "./resolveAwsSdkSigV4Config";
@@ -0,0 +1,18 @@
1
+ import { LoadedConfigSelectors } from "@smithy/node-config-provider";
2
+ import { Provider } from "@smithy/types";
3
+ export interface AwsSdkSigV4AAuthInputConfig {
4
+ sigv4aSigningRegionSet?:
5
+ | string[]
6
+ | undefined
7
+ | Provider<string[] | undefined>;
8
+ }
9
+ export interface AwsSdkSigV4APreviouslyResolved {}
10
+ export interface AwsSdkSigV4AAuthResolvedConfig {
11
+ sigv4aSigningRegionSet: Provider<string[] | undefined>;
12
+ }
13
+ export declare const resolveAwsSdkSigV4AConfig: <T>(
14
+ config: T & AwsSdkSigV4AAuthInputConfig & AwsSdkSigV4APreviouslyResolved
15
+ ) => T & AwsSdkSigV4AAuthResolvedConfig;
16
+ export declare const NODE_SIGV4A_CONFIG_OPTIONS: LoadedConfigSelectors<
17
+ string[] | undefined
18
+ >;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/core",
3
- "version": "3.624.0",
3
+ "version": "3.629.0",
4
4
  "description": "Core functions & classes shared by multiple AWS SDK clients",
5
5
  "scripts": {
6
6
  "build": "yarn lint && concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
@@ -77,6 +77,7 @@
77
77
  "dependencies": {
78
78
  "@smithy/core": "^2.3.2",
79
79
  "@smithy/node-config-provider": "^3.1.4",
80
+ "@smithy/property-provider": "^3.1.3",
80
81
  "@smithy/protocol-http": "^4.1.0",
81
82
  "@smithy/signature-v4": "^4.1.0",
82
83
  "@smithy/smithy-client": "^3.1.12",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-ini",
3
- "version": "3.624.0",
3
+ "version": "3.631.0",
4
4
  "description": "AWS credential provider that sources credentials from ~/.aws/credentials and ~/.aws/config",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -27,7 +27,7 @@
27
27
  "@aws-sdk/credential-provider-env": "3.620.1",
28
28
  "@aws-sdk/credential-provider-http": "3.622.0",
29
29
  "@aws-sdk/credential-provider-process": "3.620.1",
30
- "@aws-sdk/credential-provider-sso": "3.624.0",
30
+ "@aws-sdk/credential-provider-sso": "3.631.0",
31
31
  "@aws-sdk/credential-provider-web-identity": "3.621.0",
32
32
  "@aws-sdk/types": "3.609.0",
33
33
  "@smithy/credential-provider-imds": "^3.2.0",
@@ -45,7 +45,7 @@
45
45
  "typescript": "~4.9.5"
46
46
  },
47
47
  "peerDependencies": {
48
- "@aws-sdk/client-sts": "^3.624.0"
48
+ "@aws-sdk/client-sts": "^3.631.0"
49
49
  },
50
50
  "types": "./dist-types/index.d.ts",
51
51
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-node",
3
- "version": "3.624.0",
3
+ "version": "3.631.0",
4
4
  "description": "AWS credential provider that sources credentials from a Node.JS environment. ",
5
5
  "engines": {
6
6
  "node": ">=16.0.0"
@@ -30,9 +30,9 @@
30
30
  "dependencies": {
31
31
  "@aws-sdk/credential-provider-env": "3.620.1",
32
32
  "@aws-sdk/credential-provider-http": "3.622.0",
33
- "@aws-sdk/credential-provider-ini": "3.624.0",
33
+ "@aws-sdk/credential-provider-ini": "3.631.0",
34
34
  "@aws-sdk/credential-provider-process": "3.620.1",
35
- "@aws-sdk/credential-provider-sso": "3.624.0",
35
+ "@aws-sdk/credential-provider-sso": "3.631.0",
36
36
  "@aws-sdk/credential-provider-web-identity": "3.621.0",
37
37
  "@aws-sdk/types": "3.609.0",
38
38
  "@smithy/credential-provider-imds": "^3.2.0",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/credential-provider-sso",
3
- "version": "3.624.0",
3
+ "version": "3.631.0",
4
4
  "description": "AWS credential provider that exchanges a resolved SSO login token file for temporary AWS credentials",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@aws-sdk/client-sso": "3.624.0",
27
+ "@aws-sdk/client-sso": "3.631.0",
28
28
  "@aws-sdk/token-providers": "3.614.0",
29
29
  "@aws-sdk/types": "3.609.0",
30
30
  "@smithy/property-provider": "^3.1.3",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/middleware-user-agent",
3
- "version": "3.620.0",
3
+ "version": "3.631.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
6
6
  "build:cjs": "node ../../scripts/compilation/inline middleware-user-agent",
@@ -23,7 +23,7 @@
23
23
  "license": "Apache-2.0",
24
24
  "dependencies": {
25
25
  "@aws-sdk/types": "3.609.0",
26
- "@aws-sdk/util-endpoints": "3.614.0",
26
+ "@aws-sdk/util-endpoints": "3.631.0",
27
27
  "@smithy/protocol-http": "^4.1.0",
28
28
  "@smithy/types": "^3.3.0",
29
29
  "tslib": "^2.6.2"
@@ -87,19 +87,22 @@ var isVirtualHostableS3Bucket = /* @__PURE__ */ __name((value, allowSubDomains =
87
87
  }, "isVirtualHostableS3Bucket");
88
88
 
89
89
  // src/lib/aws/parseArn.ts
90
+ var ARN_DELIMITER = ":";
91
+ var RESOURCE_DELIMITER = "/";
90
92
  var parseArn = /* @__PURE__ */ __name((value) => {
91
- const segments = value.split(":");
93
+ const segments = value.split(ARN_DELIMITER);
92
94
  if (segments.length < 6)
93
95
  return null;
94
- const [arn, partition2, service, region, accountId, ...resourceId] = segments;
95
- if (arn !== "arn" || partition2 === "" || service === "" || resourceId[0] === "")
96
+ const [arn, partition2, service, region, accountId, ...resourcePath] = segments;
97
+ if (arn !== "arn" || partition2 === "" || service === "" || resourcePath.join(ARN_DELIMITER) === "")
96
98
  return null;
99
+ const resourceId = resourcePath[0].includes(RESOURCE_DELIMITER) ? resourcePath[0].split(RESOURCE_DELIMITER) : resourcePath;
97
100
  return {
98
101
  partition: partition2,
99
102
  service,
100
103
  region,
101
104
  accountId,
102
- resourceId: resourceId[0].includes("/") ? resourceId[0].split("/") : resourceId
105
+ resourceId
103
106
  };
104
107
  }, "parseArn");
105
108
 
@@ -1,15 +1,20 @@
1
+ const ARN_DELIMITER = ":";
2
+ const RESOURCE_DELIMITER = "/";
1
3
  export const parseArn = (value) => {
2
- const segments = value.split(":");
4
+ const segments = value.split(ARN_DELIMITER);
3
5
  if (segments.length < 6)
4
6
  return null;
5
- const [arn, partition, service, region, accountId, ...resourceId] = segments;
6
- if (arn !== "arn" || partition === "" || service === "" || resourceId[0] === "")
7
+ const [arn, partition, service, region, accountId, ...resourcePath] = segments;
8
+ if (arn !== "arn" || partition === "" || service === "" || resourcePath.join(ARN_DELIMITER) === "")
7
9
  return null;
10
+ const resourceId = resourcePath[0].includes(RESOURCE_DELIMITER)
11
+ ? resourcePath[0].split(RESOURCE_DELIMITER)
12
+ : resourcePath;
8
13
  return {
9
14
  partition,
10
15
  service,
11
16
  region,
12
17
  accountId,
13
- resourceId: resourceId[0].includes("/") ? resourceId[0].split("/") : resourceId,
18
+ resourceId,
14
19
  };
15
20
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-sdk/util-endpoints",
3
- "version": "3.614.0",
3
+ "version": "3.631.0",
4
4
  "description": "Utilities to help with endpoint resolution",
5
5
  "main": "./dist-cjs/index.js",
6
6
  "module": "./dist-es/index.js",
package/package.json CHANGED
@@ -73,7 +73,7 @@
73
73
  "devDependencies": {
74
74
  "@aws-cdk/integ-runner": "latest",
75
75
  "@aws-cdk/integ-tests-alpha": "latest",
76
- "@types/aws-lambda": "^8.10.142",
76
+ "@types/aws-lambda": "^8.10.143",
77
77
  "@types/jest": "^27",
78
78
  "@types/lambda-tester": "^3.6.2",
79
79
  "@types/node": "^18",
@@ -83,7 +83,7 @@
83
83
  "aws-cdk-lib": "2.139.0",
84
84
  "aws-sdk-client-mock": "^4.0.1",
85
85
  "aws-sdk-client-mock-jest": "^4.0.1",
86
- "cdk-nag": "^2.28.173",
86
+ "cdk-nag": "^2.28.179",
87
87
  "cdklabs-projen-project-types": "^0.1.200",
88
88
  "constructs": "10.0.5",
89
89
  "esbuild": "^0.23.0",
@@ -96,9 +96,9 @@
96
96
  "jsii-diff": "^1.102.0",
97
97
  "jsii-docgen": "^7.2.9",
98
98
  "jsii-pacmak": "^1.102.0",
99
- "jsii-rosetta": "^5.4.29",
99
+ "jsii-rosetta": "^5.4.30",
100
100
  "lambda-tester": "^4.0.1",
101
- "projen": "0.84.13",
101
+ "projen": "0.85.0",
102
102
  "standard-version": "^9",
103
103
  "ts-jest": "^27",
104
104
  "ts-node": "^10.9.2",
@@ -109,7 +109,7 @@
109
109
  "constructs": "^10.0.5"
110
110
  },
111
111
  "dependencies": {
112
- "@aws-sdk/client-codedeploy": "^3.624.0",
112
+ "@aws-sdk/client-codedeploy": "^3.631.0",
113
113
  "jmespath": "^0.16.0"
114
114
  },
115
115
  "bundledDependencies": [
@@ -127,7 +127,7 @@
127
127
  "publishConfig": {
128
128
  "access": "public"
129
129
  },
130
- "version": "0.0.310",
130
+ "version": "0.0.312",
131
131
  "jest": {
132
132
  "coverageProvider": "v8",
133
133
  "testMatch": [