@cdklabs/cdk-ecs-codedeploy 0.0.358 → 0.0.360

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 (43) hide show
  1. package/.jsii +2 -2
  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/@smithy/core/package.json +2 -2
  8. package/node_modules/@smithy/middleware-endpoint/package.json +2 -2
  9. package/node_modules/@smithy/middleware-retry/dist-types/AdaptiveRetryStrategy.d.ts +2 -0
  10. package/node_modules/@smithy/middleware-retry/dist-types/StandardRetryStrategy.d.ts +3 -0
  11. package/node_modules/@smithy/middleware-retry/dist-types/configurations.d.ts +21 -0
  12. package/node_modules/@smithy/middleware-retry/dist-types/defaultRetryQuota.d.ts +6 -0
  13. package/node_modules/@smithy/middleware-retry/dist-types/delayDecider.d.ts +1 -0
  14. package/node_modules/@smithy/middleware-retry/dist-types/omitRetryHeadersMiddleware.d.ts +9 -0
  15. package/node_modules/@smithy/middleware-retry/dist-types/retryDecider.d.ts +1 -0
  16. package/node_modules/@smithy/middleware-retry/dist-types/retryMiddleware.d.ts +12 -0
  17. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/AdaptiveRetryStrategy.d.ts +2 -0
  18. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/StandardRetryStrategy.d.ts +3 -0
  19. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/configurations.d.ts +21 -0
  20. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/defaultRetryQuota.d.ts +6 -0
  21. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/delayDecider.d.ts +1 -0
  22. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/omitRetryHeadersMiddleware.d.ts +9 -0
  23. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/retryDecider.d.ts +1 -0
  24. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/retryMiddleware.d.ts +12 -0
  25. package/node_modules/@smithy/middleware-retry/dist-types/ts3.4/types.d.ts +12 -0
  26. package/node_modules/@smithy/middleware-retry/dist-types/types.d.ts +12 -0
  27. package/node_modules/@smithy/middleware-retry/package.json +2 -2
  28. package/node_modules/@smithy/node-http-handler/dist-cjs/index.js +8 -2
  29. package/node_modules/@smithy/node-http-handler/dist-es/set-socket-timeout.js +9 -2
  30. package/node_modules/@smithy/node-http-handler/package.json +1 -1
  31. package/node_modules/@smithy/smithy-client/dist-cjs/index.js +12 -0
  32. package/node_modules/@smithy/smithy-client/dist-es/exceptions.js +11 -0
  33. package/node_modules/@smithy/smithy-client/dist-types/exceptions.d.ts +5 -0
  34. package/node_modules/@smithy/smithy-client/dist-types/extensions/retry.d.ts +3 -0
  35. package/node_modules/@smithy/smithy-client/dist-types/ser-utils.d.ts +1 -0
  36. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/exceptions.d.ts +5 -0
  37. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/extensions/retry.d.ts +3 -0
  38. package/node_modules/@smithy/smithy-client/dist-types/ts3.4/ser-utils.d.ts +1 -0
  39. package/node_modules/@smithy/smithy-client/package.json +4 -4
  40. package/node_modules/@smithy/util-defaults-mode-browser/package.json +2 -2
  41. package/node_modules/@smithy/util-defaults-mode-node/package.json +2 -2
  42. package/node_modules/@smithy/util-stream/package.json +2 -2
  43. package/package.json +3 -3
package/.jsii CHANGED
@@ -5410,6 +5410,6 @@
5410
5410
  "symbolId": "src/ecs-appspec/index:TargetService"
5411
5411
  }
5412
5412
  },
5413
- "version": "0.0.358",
5414
- "fingerprint": "RNoZh33ELnAqtjJDsvRaOPGpXmZ+m62U1/9cu5MP1bo="
5413
+ "version": "0.0.360",
5414
+ "fingerprint": "YEMiNPgYMQfJAX0o4SwqqOX/YpUb/HVkh9WD+/kHGLs="
5415
5415
  }
package/.jsii.tabl.json CHANGED
@@ -1 +1 @@
1
- {"version":"2","toolVersion":"5.7.1","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,"307":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,"307":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,"307":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,"307":1},"fqnsFingerprint":"12bcb233da14b440794db06393d667134a065b8ebdcb8cd4540bcc8be5967f3d"}}}
1
+ {"version":"2","toolVersion":"5.7.2","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,"307":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,"307":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,"307":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,"307":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.358" };
79
+ ApiCanary[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApiCanary", version: "0.0.360" };
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.358" };
105
+ EcsAppSpec[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsAppSpec", version: "0.0.360" };
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.358" };
64
+ EcsDeployment[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsDeployment", version: "0.0.360" };
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.358" };
157
+ ApplicationLoadBalancedCodeDeployedFargateService[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService", version: "0.0.360" };
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,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/core",
3
- "version": "2.5.5",
3
+ "version": "2.5.6",
4
4
  "scripts": {
5
5
  "build": "yarn lint && concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline core",
@@ -59,7 +59,7 @@
59
59
  "@smithy/types": "^3.7.2",
60
60
  "@smithy/util-body-length-browser": "^3.0.0",
61
61
  "@smithy/util-middleware": "^3.0.11",
62
- "@smithy/util-stream": "^3.3.2",
62
+ "@smithy/util-stream": "^3.3.3",
63
63
  "@smithy/util-utf8": "^3.0.0",
64
64
  "tslib": "^2.6.2"
65
65
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/middleware-endpoint",
3
- "version": "3.2.6",
3
+ "version": "3.2.7",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline middleware-endpoint",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@smithy/core": "^2.5.5",
27
+ "@smithy/core": "^2.5.6",
28
28
  "@smithy/middleware-serde": "^3.0.11",
29
29
  "@smithy/node-config-provider": "^3.1.12",
30
30
  "@smithy/shared-ini-file-loader": "^3.1.12",
@@ -2,12 +2,14 @@ import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider } f
2
2
  import { RateLimiter } from "@smithy/util-retry";
3
3
  import { StandardRetryStrategy, StandardRetryStrategyOptions } from "./StandardRetryStrategy";
4
4
  /**
5
+ * @public
5
6
  * Strategy options to be passed to AdaptiveRetryStrategy
6
7
  */
7
8
  export interface AdaptiveRetryStrategyOptions extends StandardRetryStrategyOptions {
8
9
  rateLimiter?: RateLimiter;
9
10
  }
10
11
  /**
12
+ * @public
11
13
  * @deprecated use AdaptiveRetryStrategy from @smithy/util-retry
12
14
  */
13
15
  export declare class AdaptiveRetryStrategy extends StandardRetryStrategy {
@@ -2,6 +2,8 @@ import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider, Re
2
2
  import { DelayDecider, RetryDecider, RetryQuota } from "./types";
3
3
  /**
4
4
  * Strategy options to be passed to StandardRetryStrategy
5
+ * @public
6
+ * @deprecated use StandardRetryStrategy from @smithy/util-retry
5
7
  */
6
8
  export interface StandardRetryStrategyOptions {
7
9
  retryDecider?: RetryDecider;
@@ -9,6 +11,7 @@ export interface StandardRetryStrategyOptions {
9
11
  retryQuota?: RetryQuota;
10
12
  }
11
13
  /**
14
+ * @public
12
15
  * @deprecated use StandardRetryStrategy from @smithy/util-retry
13
16
  */
14
17
  export declare class StandardRetryStrategy implements RetryStrategy {
@@ -1,7 +1,16 @@
1
1
  import { LoadedConfigSelectors } from "@smithy/node-config-provider";
2
2
  import { Provider, RetryStrategy, RetryStrategyV2 } from "@smithy/types";
3
+ /**
4
+ * @internal
5
+ */
3
6
  export declare const ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS";
7
+ /**
8
+ * @internal
9
+ */
4
10
  export declare const CONFIG_MAX_ATTEMPTS = "max_attempts";
11
+ /**
12
+ * @internal
13
+ */
5
14
  export declare const NODE_MAX_ATTEMPT_CONFIG_OPTIONS: LoadedConfigSelectors<number>;
6
15
  /**
7
16
  * @public
@@ -39,7 +48,19 @@ export interface RetryResolvedConfig {
39
48
  */
40
49
  retryStrategy: Provider<RetryStrategyV2 | RetryStrategy>;
41
50
  }
51
+ /**
52
+ * @internal
53
+ */
42
54
  export declare const resolveRetryConfig: <T>(input: T & PreviouslyResolved & RetryInputConfig) => T & RetryResolvedConfig;
55
+ /**
56
+ * @internal
57
+ */
43
58
  export declare const ENV_RETRY_MODE = "AWS_RETRY_MODE";
59
+ /**
60
+ * @internal
61
+ */
44
62
  export declare const CONFIG_RETRY_MODE = "retry_mode";
63
+ /**
64
+ * @internal
65
+ */
45
66
  export declare const NODE_RETRY_MODE_CONFIG_OPTIONS: LoadedConfigSelectors<string>;
@@ -1,4 +1,7 @@
1
1
  import { RetryQuota } from "./types";
2
+ /**
3
+ * @internal
4
+ */
2
5
  export interface DefaultRetryQuotaOptions {
3
6
  /**
4
7
  * The total amount of retry token to be incremented from retry token balance
@@ -15,4 +18,7 @@ export interface DefaultRetryQuotaOptions {
15
18
  */
16
19
  timeoutRetryCost?: number;
17
20
  }
21
+ /**
22
+ * @internal
23
+ */
18
24
  export declare const getDefaultRetryQuota: (initialRetryTokens: number, options?: DefaultRetryQuotaOptions) => RetryQuota;
@@ -1,4 +1,5 @@
1
1
  /**
2
+ * @internal
2
3
  * Calculate a capped, fully-jittered exponential backoff time.
3
4
  */
4
5
  export declare const defaultDelayDecider: (delayBase: number, attempts: number) => number;
@@ -1,4 +1,13 @@
1
1
  import { FinalizeHandler, MetadataBearer, Pluggable, RelativeMiddlewareOptions } from "@smithy/types";
2
+ /**
3
+ * @internal
4
+ */
2
5
  export declare const omitRetryHeadersMiddleware: () => <Output extends MetadataBearer = MetadataBearer>(next: FinalizeHandler<any, Output>) => FinalizeHandler<any, Output>;
6
+ /**
7
+ * @internal
8
+ */
3
9
  export declare const omitRetryHeadersMiddlewareOptions: RelativeMiddlewareOptions;
10
+ /**
11
+ * @internal
12
+ */
4
13
  export declare const getOmitRetryHeadersPlugin: (options: unknown) => Pluggable<any, any>;
@@ -1,5 +1,6 @@
1
1
  import { SdkError } from "@smithy/types";
2
2
  /**
3
+ * @internal
3
4
  * @deprecated this is only used in the deprecated StandardRetryStrategy. Do not use in new code.
4
5
  */
5
6
  export declare const defaultRetryDecider: (error: SdkError) => boolean;
@@ -1,6 +1,18 @@
1
1
  import { AbsoluteLocation, FinalizeHandler, FinalizeRequestHandlerOptions, HandlerExecutionContext, MetadataBearer, Pluggable } from "@smithy/types";
2
2
  import { RetryResolvedConfig } from "./configurations";
3
+ /**
4
+ * @internal
5
+ */
3
6
  export declare const retryMiddleware: (options: RetryResolvedConfig) => <Output extends MetadataBearer = MetadataBearer>(next: FinalizeHandler<any, Output>, context: HandlerExecutionContext) => FinalizeHandler<any, Output>;
7
+ /**
8
+ * @internal
9
+ */
4
10
  export declare const retryMiddlewareOptions: FinalizeRequestHandlerOptions & AbsoluteLocation;
11
+ /**
12
+ * @internal
13
+ */
5
14
  export declare const getRetryPlugin: (options: RetryResolvedConfig) => Pluggable<any, any>;
15
+ /**
16
+ * @internal
17
+ */
6
18
  export declare const getRetryAfterHint: (response: unknown) => Date | undefined;
@@ -2,12 +2,14 @@ import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider } f
2
2
  import { RateLimiter } from "@smithy/util-retry";
3
3
  import { StandardRetryStrategy, StandardRetryStrategyOptions } from "./StandardRetryStrategy";
4
4
  /**
5
+ * @public
5
6
  * Strategy options to be passed to AdaptiveRetryStrategy
6
7
  */
7
8
  export interface AdaptiveRetryStrategyOptions extends StandardRetryStrategyOptions {
8
9
  rateLimiter?: RateLimiter;
9
10
  }
10
11
  /**
12
+ * @public
11
13
  * @deprecated use AdaptiveRetryStrategy from @smithy/util-retry
12
14
  */
13
15
  export declare class AdaptiveRetryStrategy extends StandardRetryStrategy {
@@ -2,6 +2,8 @@ import { FinalizeHandler, FinalizeHandlerArguments, MetadataBearer, Provider, Re
2
2
  import { DelayDecider, RetryDecider, RetryQuota } from "./types";
3
3
  /**
4
4
  * Strategy options to be passed to StandardRetryStrategy
5
+ * @public
6
+ * @deprecated use StandardRetryStrategy from @smithy/util-retry
5
7
  */
6
8
  export interface StandardRetryStrategyOptions {
7
9
  retryDecider?: RetryDecider;
@@ -9,6 +11,7 @@ export interface StandardRetryStrategyOptions {
9
11
  retryQuota?: RetryQuota;
10
12
  }
11
13
  /**
14
+ * @public
12
15
  * @deprecated use StandardRetryStrategy from @smithy/util-retry
13
16
  */
14
17
  export declare class StandardRetryStrategy implements RetryStrategy {
@@ -1,7 +1,16 @@
1
1
  import { LoadedConfigSelectors } from "@smithy/node-config-provider";
2
2
  import { Provider, RetryStrategy, RetryStrategyV2 } from "@smithy/types";
3
+ /**
4
+ * @internal
5
+ */
3
6
  export declare const ENV_MAX_ATTEMPTS = "AWS_MAX_ATTEMPTS";
7
+ /**
8
+ * @internal
9
+ */
4
10
  export declare const CONFIG_MAX_ATTEMPTS = "max_attempts";
11
+ /**
12
+ * @internal
13
+ */
5
14
  export declare const NODE_MAX_ATTEMPT_CONFIG_OPTIONS: LoadedConfigSelectors<number>;
6
15
  /**
7
16
  * @public
@@ -39,7 +48,19 @@ export interface RetryResolvedConfig {
39
48
  */
40
49
  retryStrategy: Provider<RetryStrategyV2 | RetryStrategy>;
41
50
  }
51
+ /**
52
+ * @internal
53
+ */
42
54
  export declare const resolveRetryConfig: <T>(input: T & PreviouslyResolved & RetryInputConfig) => T & RetryResolvedConfig;
55
+ /**
56
+ * @internal
57
+ */
43
58
  export declare const ENV_RETRY_MODE = "AWS_RETRY_MODE";
59
+ /**
60
+ * @internal
61
+ */
44
62
  export declare const CONFIG_RETRY_MODE = "retry_mode";
63
+ /**
64
+ * @internal
65
+ */
45
66
  export declare const NODE_RETRY_MODE_CONFIG_OPTIONS: LoadedConfigSelectors<string>;
@@ -1,4 +1,7 @@
1
1
  import { RetryQuota } from "./types";
2
+ /**
3
+ * @internal
4
+ */
2
5
  export interface DefaultRetryQuotaOptions {
3
6
  /**
4
7
  * The total amount of retry token to be incremented from retry token balance
@@ -15,4 +18,7 @@ export interface DefaultRetryQuotaOptions {
15
18
  */
16
19
  timeoutRetryCost?: number;
17
20
  }
21
+ /**
22
+ * @internal
23
+ */
18
24
  export declare const getDefaultRetryQuota: (initialRetryTokens: number, options?: DefaultRetryQuotaOptions) => RetryQuota;
@@ -1,4 +1,5 @@
1
1
  /**
2
+ * @internal
2
3
  * Calculate a capped, fully-jittered exponential backoff time.
3
4
  */
4
5
  export declare const defaultDelayDecider: (delayBase: number, attempts: number) => number;
@@ -1,4 +1,13 @@
1
1
  import { FinalizeHandler, MetadataBearer, Pluggable, RelativeMiddlewareOptions } from "@smithy/types";
2
+ /**
3
+ * @internal
4
+ */
2
5
  export declare const omitRetryHeadersMiddleware: () => <Output extends MetadataBearer = MetadataBearer>(next: FinalizeHandler<any, Output>) => FinalizeHandler<any, Output>;
6
+ /**
7
+ * @internal
8
+ */
3
9
  export declare const omitRetryHeadersMiddlewareOptions: RelativeMiddlewareOptions;
10
+ /**
11
+ * @internal
12
+ */
4
13
  export declare const getOmitRetryHeadersPlugin: (options: unknown) => Pluggable<any, any>;
@@ -1,5 +1,6 @@
1
1
  import { SdkError } from "@smithy/types";
2
2
  /**
3
+ * @internal
3
4
  * @deprecated this is only used in the deprecated StandardRetryStrategy. Do not use in new code.
4
5
  */
5
6
  export declare const defaultRetryDecider: (error: SdkError) => boolean;
@@ -1,6 +1,18 @@
1
1
  import { AbsoluteLocation, FinalizeHandler, FinalizeRequestHandlerOptions, HandlerExecutionContext, MetadataBearer, Pluggable } from "@smithy/types";
2
2
  import { RetryResolvedConfig } from "./configurations";
3
+ /**
4
+ * @internal
5
+ */
3
6
  export declare const retryMiddleware: (options: RetryResolvedConfig) => <Output extends MetadataBearer = MetadataBearer>(next: FinalizeHandler<any, Output>, context: HandlerExecutionContext) => FinalizeHandler<any, Output>;
7
+ /**
8
+ * @internal
9
+ */
4
10
  export declare const retryMiddlewareOptions: FinalizeRequestHandlerOptions & AbsoluteLocation;
11
+ /**
12
+ * @internal
13
+ */
5
14
  export declare const getRetryPlugin: (options: RetryResolvedConfig) => Pluggable<any, any>;
15
+ /**
16
+ * @internal
17
+ */
6
18
  export declare const getRetryAfterHint: (response: unknown) => Date | undefined;
@@ -4,6 +4,9 @@ import { SdkError } from "@smithy/types";
4
4
  * already attempted, the HTTP status code, and the error received (if any).
5
5
  *
6
6
  * @param error - The error encountered.
7
+ *
8
+ * @deprecated
9
+ * @internal
7
10
  */
8
11
  export interface RetryDecider {
9
12
  (error: SdkError): boolean;
@@ -13,12 +16,17 @@ export interface RetryDecider {
13
16
  *
14
17
  * @param delayBase - The base delay (in milliseconds).
15
18
  * @param attempts - The number of times the action has already been tried.
19
+ *
20
+ * @deprecated
21
+ * @internal
16
22
  */
17
23
  export interface DelayDecider {
18
24
  (delayBase: number, attempts: number): number;
19
25
  }
20
26
  /**
21
27
  * Interface that specifies the retry quota behavior.
28
+ * @deprecated
29
+ * @internal
22
30
  */
23
31
  export interface RetryQuota {
24
32
  /**
@@ -35,6 +43,10 @@ export interface RetryQuota {
35
43
  */
36
44
  releaseRetryTokens: (releaseCapacityAmount?: number) => void;
37
45
  }
46
+ /**
47
+ * @deprecated
48
+ * @internal
49
+ */
38
50
  export interface RateLimiter {
39
51
  /**
40
52
  * If there is sufficient capacity (tokens) available, it immediately returns.
@@ -4,6 +4,9 @@ import { SdkError } from "@smithy/types";
4
4
  * already attempted, the HTTP status code, and the error received (if any).
5
5
  *
6
6
  * @param error - The error encountered.
7
+ *
8
+ * @deprecated
9
+ * @internal
7
10
  */
8
11
  export interface RetryDecider {
9
12
  (error: SdkError): boolean;
@@ -13,12 +16,17 @@ export interface RetryDecider {
13
16
  *
14
17
  * @param delayBase - The base delay (in milliseconds).
15
18
  * @param attempts - The number of times the action has already been tried.
19
+ *
20
+ * @deprecated
21
+ * @internal
16
22
  */
17
23
  export interface DelayDecider {
18
24
  (delayBase: number, attempts: number): number;
19
25
  }
20
26
  /**
21
27
  * Interface that specifies the retry quota behavior.
28
+ * @deprecated
29
+ * @internal
22
30
  */
23
31
  export interface RetryQuota {
24
32
  /**
@@ -35,6 +43,10 @@ export interface RetryQuota {
35
43
  */
36
44
  releaseRetryTokens: (releaseCapacityAmount?: number) => void;
37
45
  }
46
+ /**
47
+ * @deprecated
48
+ * @internal
49
+ */
38
50
  export interface RateLimiter {
39
51
  /**
40
52
  * If there is sufficient capacity (tokens) available, it immediately returns.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/middleware-retry",
3
- "version": "3.0.31",
3
+ "version": "3.0.33",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline middleware-retry",
@@ -36,7 +36,7 @@
36
36
  "@smithy/node-config-provider": "^3.1.12",
37
37
  "@smithy/protocol-http": "^4.1.8",
38
38
  "@smithy/service-error-classification": "^3.0.11",
39
- "@smithy/smithy-client": "^3.5.1",
39
+ "@smithy/smithy-client": "^3.6.0",
40
40
  "@smithy/types": "^3.7.2",
41
41
  "@smithy/util-middleware": "^3.0.11",
42
42
  "@smithy/util-retry": "^3.0.11",
@@ -125,10 +125,16 @@ var setSocketKeepAlive = /* @__PURE__ */ __name((request, { keepAlive, keepAlive
125
125
  var DEFER_EVENT_LISTENER_TIME3 = 3e3;
126
126
  var setSocketTimeout = /* @__PURE__ */ __name((request, reject, timeoutInMs = 0) => {
127
127
  const registerTimeout = /* @__PURE__ */ __name((offset) => {
128
- request.setTimeout(timeoutInMs - offset, () => {
128
+ const timeout = timeoutInMs - offset;
129
+ const onTimeout = /* @__PURE__ */ __name(() => {
129
130
  request.destroy();
130
131
  reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: "TimeoutError" }));
131
- });
132
+ }, "onTimeout");
133
+ if (request.socket) {
134
+ request.socket.setTimeout(timeout, onTimeout);
135
+ } else {
136
+ request.setTimeout(timeout, onTimeout);
137
+ }
132
138
  }, "registerTimeout");
133
139
  if (0 < timeoutInMs && timeoutInMs < 6e3) {
134
140
  registerTimeout(0);
@@ -2,10 +2,17 @@ import { timing } from "./timing";
2
2
  const DEFER_EVENT_LISTENER_TIME = 3000;
3
3
  export const setSocketTimeout = (request, reject, timeoutInMs = 0) => {
4
4
  const registerTimeout = (offset) => {
5
- request.setTimeout(timeoutInMs - offset, () => {
5
+ const timeout = timeoutInMs - offset;
6
+ const onTimeout = () => {
6
7
  request.destroy();
7
8
  reject(Object.assign(new Error(`Connection timed out after ${timeoutInMs} ms`), { name: "TimeoutError" }));
8
- });
9
+ };
10
+ if (request.socket) {
11
+ request.socket.setTimeout(timeout, onTimeout);
12
+ }
13
+ else {
14
+ request.setTimeout(timeout, onTimeout);
15
+ }
9
16
  };
10
17
  if (0 < timeoutInMs && timeoutInMs < 6000) {
11
18
  registerTimeout(0);
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/node-http-handler",
3
- "version": "3.3.2",
3
+ "version": "3.3.3",
4
4
  "description": "Provides a way to make requests",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
@@ -813,6 +813,18 @@ var _ServiceException = class _ServiceException extends Error {
813
813
  this.$fault = options.$fault;
814
814
  this.$metadata = options.$metadata;
815
815
  }
816
+ /**
817
+ * Checks if a value is an instance of ServiceException (duck typed)
818
+ */
819
+ static isInstance(value) {
820
+ if (!value)
821
+ return false;
822
+ const candidate = value;
823
+ return Boolean(candidate.$fault) && Boolean(candidate.$metadata) && (candidate.$fault === "client" || candidate.$fault === "server");
824
+ }
825
+ static [Symbol.hasInstance](instance) {
826
+ return _ServiceException.isInstance(instance);
827
+ }
816
828
  };
817
829
  __name(_ServiceException, "ServiceException");
818
830
  var ServiceException = _ServiceException;
@@ -6,6 +6,17 @@ export class ServiceException extends Error {
6
6
  this.$fault = options.$fault;
7
7
  this.$metadata = options.$metadata;
8
8
  }
9
+ static isInstance(value) {
10
+ if (!value)
11
+ return false;
12
+ const candidate = value;
13
+ return (Boolean(candidate.$fault) &&
14
+ Boolean(candidate.$metadata) &&
15
+ (candidate.$fault === "client" || candidate.$fault === "server"));
16
+ }
17
+ static [Symbol.hasInstance](instance) {
18
+ return ServiceException.isInstance(instance);
19
+ }
9
20
  }
10
21
  export const decorateServiceException = (exception, additions = {}) => {
11
22
  Object.entries(additions)
@@ -23,6 +23,11 @@ export declare class ServiceException extends Error implements SmithyException,
23
23
  $retryable?: RetryableTrait;
24
24
  $metadata: ResponseMetadata;
25
25
  constructor(options: ServiceExceptionOptions);
26
+ /**
27
+ * Checks if a value is an instance of ServiceException (duck typed)
28
+ */
29
+ static isInstance(value: unknown): value is ServiceException;
30
+ static [Symbol.hasInstance](instance: unknown): boolean;
26
31
  }
27
32
  /**
28
33
  * This method inject unmodeled member to a deserialized SDK exception,
@@ -1,4 +1,7 @@
1
1
  import { Provider, RetryStrategy, RetryStrategyConfiguration, RetryStrategyV2 } from "@smithy/types";
2
+ /**
3
+ * @internal
4
+ */
2
5
  export type PartialRetryRuntimeConfigType = Partial<{
3
6
  retryStrategy: Provider<RetryStrategyV2 | RetryStrategy>;
4
7
  }>;
@@ -8,6 +8,7 @@
8
8
  */
9
9
  export declare const serializeFloat: (value: number) => string | number;
10
10
  /**
11
+ * @internal
11
12
  * @param date - to be serialized.
12
13
  * @returns https://smithy.io/2.0/spec/protocol-traits.html#timestampformat-trait date-time format.
13
14
  */
@@ -23,6 +23,11 @@ export declare class ServiceException extends Error implements SmithyException,
23
23
  $retryable?: RetryableTrait;
24
24
  $metadata: ResponseMetadata;
25
25
  constructor(options: ServiceExceptionOptions);
26
+ /**
27
+ * Checks if a value is an instance of ServiceException (duck typed)
28
+ */
29
+ static isInstance(value: unknown): value is ServiceException;
30
+ static [Symbol.hasInstance](instance: unknown): boolean;
26
31
  }
27
32
  /**
28
33
  * This method inject unmodeled member to a deserialized SDK exception,
@@ -1,4 +1,7 @@
1
1
  import { Provider, RetryStrategy, RetryStrategyConfiguration, RetryStrategyV2 } from "@smithy/types";
2
+ /**
3
+ * @internal
4
+ */
2
5
  export type PartialRetryRuntimeConfigType = Partial<{
3
6
  retryStrategy: Provider<RetryStrategyV2 | RetryStrategy>;
4
7
  }>;
@@ -8,6 +8,7 @@
8
8
  */
9
9
  export declare const serializeFloat: (value: number) => string | number;
10
10
  /**
11
+ * @internal
11
12
  * @param date - to be serialized.
12
13
  * @returns https://smithy.io/2.0/spec/protocol-traits.html#timestampformat-trait date-time format.
13
14
  */
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/smithy-client",
3
- "version": "3.5.1",
3
+ "version": "3.6.0",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline smithy-client",
@@ -24,12 +24,12 @@
24
24
  },
25
25
  "license": "Apache-2.0",
26
26
  "dependencies": {
27
- "@smithy/core": "^2.5.5",
28
- "@smithy/middleware-endpoint": "^3.2.6",
27
+ "@smithy/core": "^2.5.6",
28
+ "@smithy/middleware-endpoint": "^3.2.7",
29
29
  "@smithy/middleware-stack": "^3.0.11",
30
30
  "@smithy/protocol-http": "^4.1.8",
31
31
  "@smithy/types": "^3.7.2",
32
- "@smithy/util-stream": "^3.3.2",
32
+ "@smithy/util-stream": "^3.3.3",
33
33
  "tslib": "^2.6.2"
34
34
  },
35
35
  "engines": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-defaults-mode-browser",
3
- "version": "3.0.31",
3
+ "version": "3.0.33",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline util-defaults-mode-browser",
@@ -24,7 +24,7 @@
24
24
  "license": "Apache-2.0",
25
25
  "dependencies": {
26
26
  "@smithy/property-provider": "^3.1.11",
27
- "@smithy/smithy-client": "^3.5.1",
27
+ "@smithy/smithy-client": "^3.6.0",
28
28
  "@smithy/types": "^3.7.2",
29
29
  "bowser": "^2.11.0",
30
30
  "tslib": "^2.6.2"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-defaults-mode-node",
3
- "version": "3.0.31",
3
+ "version": "3.0.33",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline util-defaults-mode-node",
@@ -27,7 +27,7 @@
27
27
  "@smithy/credential-provider-imds": "^3.2.8",
28
28
  "@smithy/node-config-provider": "^3.1.12",
29
29
  "@smithy/property-provider": "^3.1.11",
30
- "@smithy/smithy-client": "^3.5.1",
30
+ "@smithy/smithy-client": "^3.6.0",
31
31
  "@smithy/types": "^3.7.2",
32
32
  "tslib": "^2.6.2"
33
33
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smithy/util-stream",
3
- "version": "3.3.2",
3
+ "version": "3.3.3",
4
4
  "scripts": {
5
5
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types && yarn build:types:downlevel'",
6
6
  "build:cjs": "node ../../scripts/inline util-stream",
@@ -29,7 +29,7 @@
29
29
  "license": "Apache-2.0",
30
30
  "dependencies": {
31
31
  "@smithy/fetch-http-handler": "^4.1.2",
32
- "@smithy/node-http-handler": "^3.3.2",
32
+ "@smithy/node-http-handler": "^3.3.3",
33
33
  "@smithy/types": "^3.7.2",
34
34
  "@smithy/util-base64": "^3.0.0",
35
35
  "@smithy/util-buffer-from": "^3.0.0",
package/package.json CHANGED
@@ -87,7 +87,7 @@
87
87
  "cdklabs-projen-project-types": "^0.1.204",
88
88
  "commit-and-tag-version": "^12",
89
89
  "constructs": "10.0.5",
90
- "esbuild": "^0.24.0",
90
+ "esbuild": "^0.24.2",
91
91
  "eslint": "^8",
92
92
  "eslint-import-resolver-typescript": "^3.7.0",
93
93
  "eslint-plugin-import": "^2.31.0",
@@ -97,7 +97,7 @@
97
97
  "jsii-diff": "^1.106.0",
98
98
  "jsii-docgen": "^10.5.0",
99
99
  "jsii-pacmak": "^1.106.0",
100
- "jsii-rosetta": "^5.7.1",
100
+ "jsii-rosetta": "^5.7.2",
101
101
  "lambda-tester": "^4.0.1",
102
102
  "projen": "0.87.4",
103
103
  "ts-jest": "^27",
@@ -127,7 +127,7 @@
127
127
  "publishConfig": {
128
128
  "access": "public"
129
129
  },
130
- "version": "0.0.358",
130
+ "version": "0.0.360",
131
131
  "jest": {
132
132
  "coverageProvider": "v8",
133
133
  "testMatch": [