@cdklabs/cdk-ecs-codedeploy 0.0.276 → 0.0.278

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 +3 -3
  2. package/.jsii.tabl.json +1 -1
  3. package/lib/api-canary/index.js +1 -1
  4. package/lib/ecs-appspec/index.js +1 -1
  5. package/lib/ecs-deployment/index.js +1 -1
  6. package/lib/ecs-patterns/application-load-balanced-codedeployed-fargate-service.js +1 -1
  7. package/node_modules/@aws-sdk/client-codedeploy/package.json +8 -8
  8. package/node_modules/@aws-sdk/client-sso/package.json +5 -5
  9. package/node_modules/@aws-sdk/client-sso-oidc/dist-cjs/index.js +48 -2
  10. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/models/models_0.js +16 -0
  11. package/node_modules/@aws-sdk/client-sso-oidc/dist-es/protocols/Aws_restJson1.js +24 -1
  12. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/commands/CreateTokenCommand.d.ts +1 -0
  13. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/commands/CreateTokenWithIAMCommand.d.ts +2 -1
  14. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/commands/RegisterClientCommand.d.ts +14 -0
  15. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/models/models_0.d.ts +63 -2
  16. package/node_modules/@aws-sdk/client-sso-oidc/dist-types/ts3.4/models/models_0.d.ts +15 -0
  17. package/node_modules/@aws-sdk/client-sso-oidc/package.json +7 -7
  18. package/node_modules/@aws-sdk/client-sts/package.json +7 -7
  19. package/node_modules/@aws-sdk/core/CHANGELOG.md +8 -0
  20. package/node_modules/@aws-sdk/core/dist-cjs/index.js +1 -0
  21. package/node_modules/@aws-sdk/core/package.json +1 -1
  22. package/node_modules/@aws-sdk/core/src/client/emitWarningIfUnsupportedVersion.spec.ts +1 -1
  23. package/node_modules/@aws-sdk/core/src/protocols/xml/parseXmlBody.spec.ts +2 -2
  24. package/node_modules/@aws-sdk/core/tsconfig.cjs.tsbuildinfo +1 -1
  25. package/node_modules/@aws-sdk/core/tsconfig.es.tsbuildinfo +1 -1
  26. package/node_modules/@aws-sdk/core/tsconfig.types.tsbuildinfo +1 -1
  27. package/node_modules/@aws-sdk/credential-provider-ini/dist-cjs/index.js +1 -0
  28. package/node_modules/@aws-sdk/credential-provider-ini/package.json +4 -4
  29. package/node_modules/@aws-sdk/credential-provider-node/dist-cjs/index.js +1 -0
  30. package/node_modules/@aws-sdk/credential-provider-node/package.json +4 -4
  31. package/node_modules/@aws-sdk/credential-provider-process/dist-cjs/index.js +1 -0
  32. package/node_modules/@aws-sdk/credential-provider-process/package.json +1 -1
  33. package/node_modules/@aws-sdk/credential-provider-sso/dist-cjs/index.js +2 -0
  34. package/node_modules/@aws-sdk/credential-provider-sso/package.json +3 -3
  35. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +1 -0
  36. package/node_modules/@aws-sdk/middleware-user-agent/package.json +2 -2
  37. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +1 -0
  38. package/node_modules/@aws-sdk/region-config-resolver/package.json +1 -1
  39. package/node_modules/@aws-sdk/token-providers/dist-cjs/index.js +1 -0
  40. package/node_modules/@aws-sdk/token-providers/package.json +2 -2
  41. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +1 -0
  42. package/node_modules/@aws-sdk/util-endpoints/package.json +1 -1
  43. package/package.json +6 -6
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  ]
9
9
  },
10
10
  "bundled": {
11
- "@aws-sdk/client-codedeploy": "^3.569.0",
11
+ "@aws-sdk/client-codedeploy": "^3.574.0",
12
12
  "jmespath": "^0.16.0"
13
13
  },
14
14
  "dependencies": {
@@ -5345,6 +5345,6 @@
5345
5345
  "symbolId": "src/ecs-appspec/index:TargetService"
5346
5346
  }
5347
5347
  },
5348
- "version": "0.0.276",
5349
- "fingerprint": "mqIMBdt1ZjcwSjuuvYwhy2+3ErqKNQxYg6gylpoa5uI="
5348
+ "version": "0.0.278",
5349
+ "fingerprint": "KJrY4vyaj8Xm7R0NGdl+38eXvW8WUYxPdlycDwQstPE="
5350
5350
  }
package/.jsii.tabl.json CHANGED
@@ -1 +1 @@
1
- {"version":"2","toolVersion":"5.4.10","snippets":{"9c33177d4808857a56d386ea98f72b7ed3b5370642b3f85920274df5aa84c6c9":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":42}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":12,"138":2,"166":2,"183":2,"210":2,"214":1,"243":2,"244":1,"260":2,"261":2,"303":3,"304":2,"312":1},"fqnsFingerprint":"4cc1fe2132c907ed1a780d103458ac65563dbefc9114977fe16f8bbea49af65e"},"c88c4fb9870561df67310ffff4486257b0239f75789251fbc4ea19dd3da9074e":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n auto_rollback=codeDeploy.AutoRollbackConfig(\n failed_deployment=True,\n deployment_in_alarm=True,\n stopped_deployment=False\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n AutoRollback = new AutoRollbackConfig {\n FailedDeployment = true,\n DeploymentInAlarm = true,\n StoppedDeployment = false\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .autoRollback(AutoRollbackConfig.builder()\n .failedDeployment(true)\n .deploymentInAlarm(true)\n .stoppedDeployment(false)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tAutoRollback: &AutoRollbackConfig{\n\t\tFailedDeployment: jsii.Boolean(true),\n\t\tDeploymentInAlarm: jsii.Boolean(true),\n\t\tStoppedDeployment: jsii.Boolean(false),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":58}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.AutoRollbackConfig","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":16,"97":1,"112":2,"138":2,"166":2,"183":2,"210":3,"214":1,"243":2,"244":1,"260":2,"261":2,"303":7,"304":2,"312":1},"fqnsFingerprint":"7a862ee8b98bc315ae7036190bbeba244bbf7564e60b268dc7e130bdd4f8ab0d"},"b03026dd25eb764b5f7c6c17413fc2f4322e3f9ba4eb0cc2352d139306468039":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n timeout=Duration.minutes(60)\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n Timeout = Duration.Minutes(60)\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .timeout(Duration.minutes(60))\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tTimeout: awscdk.Duration_Minutes(jsii.Number(60)),\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":79}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.Duration","aws-cdk-lib.Duration#minutes","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":1,"80":15,"138":2,"166":2,"183":2,"210":2,"211":1,"213":1,"214":1,"243":2,"244":1,"260":2,"261":2,"303":4,"304":2,"312":1},"fqnsFingerprint":"6d1cfeed10e3a90361dfb3ddf69be1fcf61e2e8e557183b8e30e5c3d3b0aadf6"},"ffa758784d5582df1fbee84f992fcca1ed9d13cf05b13cb0a160a745d3f18bad":{"translations":{"python":{"source":"canary = ApiCanary(stack, \"Canary\",\n base_url=\"https://xkcd.com\",\n duration_alarm_threshold=Duration.seconds(5),\n thread_count=5,\n steps=[ApiTestStep(\n name=\"info\",\n path=\"/908/info.0.json\",\n jmes_path=\"safe_title\",\n expected_value=\"The Cloud\"\n )\n ]\n)","version":"2"},"csharp":{"source":"var canary = new ApiCanary(stack, \"Canary\", new ApiCanaryProps {\n BaseUrl = \"https://xkcd.com\",\n DurationAlarmThreshold = Duration.Seconds(5),\n ThreadCount = 5,\n Steps = new [] { new ApiTestStep {\n Name = \"info\",\n Path = \"/908/info.0.json\",\n JmesPath = \"safe_title\",\n ExpectedValue = \"The Cloud\"\n } }\n});","version":"1"},"java":{"source":"ApiCanary canary = ApiCanary.Builder.create(stack, \"Canary\")\n .baseUrl(\"https://xkcd.com\")\n .durationAlarmThreshold(Duration.seconds(5))\n .threadCount(5)\n .steps(List.of(ApiTestStep.builder()\n .name(\"info\")\n .path(\"/908/info.0.json\")\n .jmesPath(\"safe_title\")\n .expectedValue(\"The Cloud\")\n .build()))\n .build();","version":"1"},"go":{"source":"canary := cdklabscdkecscodedeploy.NewApiCanary(stack, jsii.String(\"Canary\"), &ApiCanaryProps{\n\tBaseUrl: jsii.String(\"https://xkcd.com\"),\n\tDurationAlarmThreshold: awscdk.Duration_Seconds(jsii.Number(5)),\n\tThreadCount: jsii.Number(5),\n\tSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"info\"),\n\t\t\tPath: jsii.String(\"/908/info.0.json\"),\n\t\t\tJmesPath: jsii.String(\"safe_title\"),\n\t\t\tExpectedValue: jsii.String(\"The Cloud\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"const canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":98}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApiCanary","@cdklabs/cdk-ecs-codedeploy.ApiCanaryProps","aws-cdk-lib.Duration","aws-cdk-lib.Duration#seconds"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\nconst canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":6,"80":13,"209":1,"210":2,"211":1,"213":1,"214":1,"243":1,"260":1,"261":1,"303":8},"fqnsFingerprint":"ef23954b775532fdc97524633deefd3193a84be035327b97873bb39a0bbaddad"},"9aaeba1eff6cbd0e531e8d77fd479be273e205d964ee5ed26afd9bcdbc020412":{"translations":{"python":{"source":"# cluster: ecs.ICluster\n# image: ecs.ContainerImage\n\nservice = ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\",\n cluster=cluster,\n task_image_options=ApplicationLoadBalancedTaskImageOptions(\n image=image\n ),\n api_test_steps=[ApiTestStep(\n name=\"health\",\n path=\"/health\",\n jmes_path=\"status\",\n expected_value=\"ok\"\n )]\n)","version":"2"},"csharp":{"source":"ICluster cluster;\nContainerImage image;\n\nvar service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\", new ApplicationLoadBalancedCodeDeployedFargateServiceProps {\n Cluster = cluster,\n TaskImageOptions = new ApplicationLoadBalancedTaskImageOptions {\n Image = image\n },\n ApiTestSteps = new [] { new ApiTestStep {\n Name = \"health\",\n Path = \"/health\",\n JmesPath = \"status\",\n ExpectedValue = \"ok\"\n } }\n});","version":"1"},"java":{"source":"ICluster cluster;\nContainerImage image;\n\nApplicationLoadBalancedCodeDeployedFargateService service = ApplicationLoadBalancedCodeDeployedFargateService.Builder.create(stack, \"Service\")\n .cluster(cluster)\n .taskImageOptions(ApplicationLoadBalancedTaskImageOptions.builder()\n .image(image)\n .build())\n .apiTestSteps(List.of(ApiTestStep.builder()\n .name(\"health\")\n .path(\"/health\")\n .jmesPath(\"status\")\n .expectedValue(\"ok\")\n .build()))\n .build();","version":"1"},"go":{"source":"var cluster iCluster\nvar image containerImage\n\nservice := cdklabscdkecscodedeploy.NewApplicationLoadBalancedCodeDeployedFargateService(stack, jsii.String(\"Service\"), &ApplicationLoadBalancedCodeDeployedFargateServiceProps{\n\tCluster: Cluster,\n\tTaskImageOptions: &ApplicationLoadBalancedTaskImageOptions{\n\t\tImage: *Image,\n\t},\n\tApiTestSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"health\"),\n\t\t\tPath: jsii.String(\"/health\"),\n\t\t\tJmesPath: jsii.String(\"status\"),\n\t\t\tExpectedValue: jsii.String(\"ok\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":118}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService","@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateServiceProps","aws-cdk-lib.aws_ecs.ContainerImage","aws-cdk-lib.aws_ecs.ICluster","aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedTaskImageOptions"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"11":5,"80":17,"138":2,"166":2,"183":2,"209":1,"210":3,"214":1,"243":3,"260":3,"261":3,"303":6,"304":2,"312":1},"fqnsFingerprint":"12bcb233da14b440794db06393d667134a065b8ebdcb8cd4540bcc8be5967f3d"}}}
1
+ {"version":"2","toolVersion":"5.4.14","snippets":{"9c33177d4808857a56d386ea98f72b7ed3b5370642b3f85920274df5aa84c6c9":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":42}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":12,"138":2,"166":2,"183":2,"210":2,"214":1,"243":2,"244":1,"260":2,"261":2,"303":3,"304":2,"312":1},"fqnsFingerprint":"4cc1fe2132c907ed1a780d103458ac65563dbefc9114977fe16f8bbea49af65e"},"c88c4fb9870561df67310ffff4486257b0239f75789251fbc4ea19dd3da9074e":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n auto_rollback=codeDeploy.AutoRollbackConfig(\n failed_deployment=True,\n deployment_in_alarm=True,\n stopped_deployment=False\n )\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n AutoRollback = new AutoRollbackConfig {\n FailedDeployment = true,\n DeploymentInAlarm = true,\n StoppedDeployment = false\n }\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .autoRollback(AutoRollbackConfig.builder()\n .failedDeployment(true)\n .deploymentInAlarm(true)\n .stoppedDeployment(false)\n .build())\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tAutoRollback: &AutoRollbackConfig{\n\t\tFailedDeployment: jsii.Boolean(true),\n\t\tDeploymentInAlarm: jsii.Boolean(true),\n\t\tStoppedDeployment: jsii.Boolean(false),\n\t},\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":58}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.aws_codedeploy.AutoRollbackConfig","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n autoRollback: {\n failedDeployment: true,\n deploymentInAlarm: true,\n stoppedDeployment: false,\n },\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":1,"11":1,"80":16,"97":1,"112":2,"138":2,"166":2,"183":2,"210":3,"214":1,"243":2,"244":1,"260":2,"261":2,"303":7,"304":2,"312":1},"fqnsFingerprint":"7a862ee8b98bc315ae7036190bbeba244bbf7564e60b268dc7e130bdd4f8ab0d"},"b03026dd25eb764b5f7c6c17413fc2f4322e3f9ba4eb0cc2352d139306468039":{"translations":{"python":{"source":"# deployment_group: codeDeploy.IEcsDeploymentGroup\n# task_definition: ecs.ITaskDefinition\n\n\nEcsDeployment(\n deployment_group=deployment_group,\n target_service=TargetService(\n task_definition=task_definition,\n container_name=\"mycontainer\",\n container_port=80\n ),\n timeout=Duration.minutes(60)\n)","version":"2"},"csharp":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nnew EcsDeployment(new EcsDeploymentProps {\n DeploymentGroup = deploymentGroup,\n TargetService = new TargetService {\n TaskDefinition = taskDefinition,\n ContainerName = \"mycontainer\",\n ContainerPort = 80\n },\n Timeout = Duration.Minutes(60)\n});","version":"1"},"java":{"source":"IEcsDeploymentGroup deploymentGroup;\nITaskDefinition taskDefinition;\n\n\nEcsDeployment.Builder.create()\n .deploymentGroup(deploymentGroup)\n .targetService(TargetService.builder()\n .taskDefinition(taskDefinition)\n .containerName(\"mycontainer\")\n .containerPort(80)\n .build())\n .timeout(Duration.minutes(60))\n .build();","version":"1"},"go":{"source":"var deploymentGroup iEcsDeploymentGroup\nvar taskDefinition iTaskDefinition\n\n\ncdklabscdkecscodedeploy.NewEcsDeployment(&EcsDeploymentProps{\n\tDeploymentGroup: DeploymentGroup,\n\tTargetService: &TargetService{\n\t\tTaskDefinition: *TaskDefinition,\n\t\tContainerName: jsii.String(\"mycontainer\"),\n\t\tContainerPort: jsii.Number(80),\n\t},\n\tTimeout: awscdk.Duration_Minutes(jsii.Number(60)),\n})","version":"1"},"$":{"source":"declare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":79}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.EcsDeployment","@cdklabs/cdk-ecs-codedeploy.EcsDeploymentProps","@cdklabs/cdk-ecs-codedeploy.TargetService","aws-cdk-lib.Duration","aws-cdk-lib.Duration#minutes","aws-cdk-lib.aws_codedeploy.IEcsDeploymentGroup","aws-cdk-lib.aws_ecs.ITaskDefinition"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const deploymentGroup: codeDeploy.IEcsDeploymentGroup;\ndeclare const taskDefinition: ecs.ITaskDefinition;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\n\nnew EcsDeployment({\n deploymentGroup,\n targetService: {\n taskDefinition,\n containerName: 'mycontainer',\n containerPort: 80,\n },\n timeout: Duration.minutes(60),\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":1,"80":15,"138":2,"166":2,"183":2,"210":2,"211":1,"213":1,"214":1,"243":2,"244":1,"260":2,"261":2,"303":4,"304":2,"312":1},"fqnsFingerprint":"6d1cfeed10e3a90361dfb3ddf69be1fcf61e2e8e557183b8e30e5c3d3b0aadf6"},"ffa758784d5582df1fbee84f992fcca1ed9d13cf05b13cb0a160a745d3f18bad":{"translations":{"python":{"source":"canary = ApiCanary(stack, \"Canary\",\n base_url=\"https://xkcd.com\",\n duration_alarm_threshold=Duration.seconds(5),\n thread_count=5,\n steps=[ApiTestStep(\n name=\"info\",\n path=\"/908/info.0.json\",\n jmes_path=\"safe_title\",\n expected_value=\"The Cloud\"\n )\n ]\n)","version":"2"},"csharp":{"source":"var canary = new ApiCanary(stack, \"Canary\", new ApiCanaryProps {\n BaseUrl = \"https://xkcd.com\",\n DurationAlarmThreshold = Duration.Seconds(5),\n ThreadCount = 5,\n Steps = new [] { new ApiTestStep {\n Name = \"info\",\n Path = \"/908/info.0.json\",\n JmesPath = \"safe_title\",\n ExpectedValue = \"The Cloud\"\n } }\n});","version":"1"},"java":{"source":"ApiCanary canary = ApiCanary.Builder.create(stack, \"Canary\")\n .baseUrl(\"https://xkcd.com\")\n .durationAlarmThreshold(Duration.seconds(5))\n .threadCount(5)\n .steps(List.of(ApiTestStep.builder()\n .name(\"info\")\n .path(\"/908/info.0.json\")\n .jmesPath(\"safe_title\")\n .expectedValue(\"The Cloud\")\n .build()))\n .build();","version":"1"},"go":{"source":"canary := cdklabscdkecscodedeploy.NewApiCanary(stack, jsii.String(\"Canary\"), &ApiCanaryProps{\n\tBaseUrl: jsii.String(\"https://xkcd.com\"),\n\tDurationAlarmThreshold: awscdk.Duration_Seconds(jsii.Number(5)),\n\tThreadCount: jsii.Number(5),\n\tSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"info\"),\n\t\t\tPath: jsii.String(\"/908/info.0.json\"),\n\t\t\tJmesPath: jsii.String(\"safe_title\"),\n\t\t\tExpectedValue: jsii.String(\"The Cloud\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"const canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":98}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApiCanary","@cdklabs/cdk-ecs-codedeploy.ApiCanaryProps","aws-cdk-lib.Duration","aws-cdk-lib.Duration#seconds"],"fullSource":"// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\nconst canary = new ApiCanary(stack, 'Canary', {\n baseUrl: 'https://xkcd.com',\n durationAlarmThreshold: Duration.seconds(5),\n threadCount: 5,\n steps: [\n {\n name: 'info',\n path: '/908/info.0.json',\n jmesPath: 'safe_title',\n expectedValue: 'The Cloud',\n },\n ],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"9":2,"11":6,"80":13,"209":1,"210":2,"211":1,"213":1,"214":1,"243":1,"260":1,"261":1,"303":8},"fqnsFingerprint":"ef23954b775532fdc97524633deefd3193a84be035327b97873bb39a0bbaddad"},"9aaeba1eff6cbd0e531e8d77fd479be273e205d964ee5ed26afd9bcdbc020412":{"translations":{"python":{"source":"# cluster: ecs.ICluster\n# image: ecs.ContainerImage\n\nservice = ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\",\n cluster=cluster,\n task_image_options=ApplicationLoadBalancedTaskImageOptions(\n image=image\n ),\n api_test_steps=[ApiTestStep(\n name=\"health\",\n path=\"/health\",\n jmes_path=\"status\",\n expected_value=\"ok\"\n )]\n)","version":"2"},"csharp":{"source":"ICluster cluster;\nContainerImage image;\n\nvar service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, \"Service\", new ApplicationLoadBalancedCodeDeployedFargateServiceProps {\n Cluster = cluster,\n TaskImageOptions = new ApplicationLoadBalancedTaskImageOptions {\n Image = image\n },\n ApiTestSteps = new [] { new ApiTestStep {\n Name = \"health\",\n Path = \"/health\",\n JmesPath = \"status\",\n ExpectedValue = \"ok\"\n } }\n});","version":"1"},"java":{"source":"ICluster cluster;\nContainerImage image;\n\nApplicationLoadBalancedCodeDeployedFargateService service = ApplicationLoadBalancedCodeDeployedFargateService.Builder.create(stack, \"Service\")\n .cluster(cluster)\n .taskImageOptions(ApplicationLoadBalancedTaskImageOptions.builder()\n .image(image)\n .build())\n .apiTestSteps(List.of(ApiTestStep.builder()\n .name(\"health\")\n .path(\"/health\")\n .jmesPath(\"status\")\n .expectedValue(\"ok\")\n .build()))\n .build();","version":"1"},"go":{"source":"var cluster iCluster\nvar image containerImage\n\nservice := cdklabscdkecscodedeploy.NewApplicationLoadBalancedCodeDeployedFargateService(stack, jsii.String(\"Service\"), &ApplicationLoadBalancedCodeDeployedFargateServiceProps{\n\tCluster: Cluster,\n\tTaskImageOptions: &ApplicationLoadBalancedTaskImageOptions{\n\t\tImage: *Image,\n\t},\n\tApiTestSteps: []apiTestStep{\n\t\t&apiTestStep{\n\t\t\tName: jsii.String(\"health\"),\n\t\t\tPath: jsii.String(\"/health\"),\n\t\t\tJmesPath: jsii.String(\"status\"),\n\t\t\tExpectedValue: jsii.String(\"ok\"),\n\t\t},\n\t},\n})","version":"1"},"$":{"source":"declare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});","version":"0"}},"location":{"api":{"api":"moduleReadme","moduleFqn":"@cdklabs/cdk-ecs-codedeploy"},"field":{"field":"markdown","line":118}},"didCompile":true,"fqnsReferenced":["@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService","@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateServiceProps","aws-cdk-lib.aws_ecs.ContainerImage","aws-cdk-lib.aws_ecs.ICluster","aws-cdk-lib.aws_ecs_patterns.ApplicationLoadBalancedTaskImageOptions"],"fullSource":"// Hoisted imports begin after !show marker below\n/// !show\ndeclare const cluster: ecs.ICluster;\ndeclare const image: ecs.ContainerImage;\n/// !hide\n// Hoisted imports ended before !hide marker above\n// Fixture with packages imported, but nothing else\nimport { Construct } from 'constructs';\nimport {\n Duration,\n Stack,\n aws_ecs as ecs,\n aws_codedeploy as codeDeploy,\n} from 'aws-cdk-lib';\nimport {\n ApiCanary,\n ApplicationLoadBalancedCodeDeployedFargateService, \n EcsDeployment,\n} from '@cdklabs/cdk-ecs-codedeploy';\n\nclass Fixture extends Stack {\n constructor(scope: Construct, id: string) {\n super(scope, id);\n\n const stack = this;\n\n // Code snippet begins after !show marker below\n/// !show\n\nconst service = new ApplicationLoadBalancedCodeDeployedFargateService(stack, 'Service', {\n cluster,\n taskImageOptions: {\n image,\n },\n apiTestSteps: [{\n name: 'health',\n path: '/health',\n jmesPath: 'status',\n expectedValue: 'ok',\n }],\n});\n/// !hide\n// Code snippet ended before !hide marker above\n }\n}","syntaxKindCounter":{"11":5,"80":17,"138":2,"166":2,"183":2,"209":1,"210":3,"214":1,"243":3,"260":3,"261":3,"303":6,"304":2,"312":1},"fqnsFingerprint":"12bcb233da14b440794db06393d667134a065b8ebdcb8cd4540bcc8be5967f3d"}}}
@@ -76,5 +76,5 @@ class ApiCanary extends aws_synthetics_1.Canary {
76
76
  }
77
77
  exports.ApiCanary = ApiCanary;
78
78
  _a = JSII_RTTI_SYMBOL_1;
79
- ApiCanary[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApiCanary", version: "0.0.276" };
79
+ ApiCanary[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApiCanary", version: "0.0.278" };
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.276" };
105
+ EcsAppSpec[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsAppSpec", version: "0.0.278" };
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.276" };
64
+ EcsDeployment[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.EcsDeployment", version: "0.0.278" };
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.276" };
157
+ ApplicationLoadBalancedCodeDeployedFargateService[_a] = { fqn: "@cdklabs/cdk-ecs-codedeploy.ApplicationLoadBalancedCodeDeployedFargateService", version: "0.0.278" };
158
158
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24tbG9hZC1iYWxhbmNlZC1jb2RlZGVwbG95ZWQtZmFyZ2F0ZS1zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Vjcy1wYXR0ZXJucy9hcHBsaWNhdGlvbi1sb2FkLWJhbGFuY2VkLWNvZGVkZXBsb3llZC1mYXJnYXRlLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw2Q0FBdUM7QUFDdkMsK0RBQTBHO0FBQzFHLCtEQUEySDtBQUMzSCxpREFBNEU7QUFDNUUsbUVBQWlJO0FBQ2pJLHVGQUFtSjtBQUNuSiwrQ0FBMEY7QUFDMUYsK0RBQXNEO0FBRXRELDhDQUF1RDtBQUV2RCxzREFBa0Q7QUF3SGxEOztHQUVHO0FBQ0gsTUFBYSxpREFBa0QsU0FBUSx3REFBcUM7SUF5QzFHOztPQUVHO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2RDtRQUNyRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEdBQUcsS0FBSztZQUNSLG9CQUFvQixFQUFFO2dCQUNwQixJQUFJLEVBQUUsa0NBQXdCLENBQUMsV0FBVzthQUMzQztTQUNGLENBQUMsQ0FBQztRQUVILElBQUksS0FBSyxDQUFDLG1CQUFtQixFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1NBQ3pIO1FBQ0QsSUFBSSxLQUFLLENBQUMsaUJBQWlCLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNoRTtRQUNELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWU7WUFDMUMsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFO2dCQUNsQyxV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UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksOEJBQWEsQ0FBQztZQUNsQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDckMsT0FBTyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDeEQsYUFBYSxFQUFFO2dCQUNiLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztnQkFDbkMsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWlCLENBQUMsYUFBYTtnQkFDbEUsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsZ0JBQWlCLENBQUMsYUFBYTthQUNuRTtZQUNELEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztTQUNuQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVMsa0JBQWtCLENBQUMsT0FBb0I7UUFDL0MsS0FBSyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O0FBMUxILDhHQTJMQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQWxhcm0sIEFsYXJtUnVsZSwgQ29tcGFyaXNvbk9wZXJhdG9yLCBDb21wb3NpdGVBbGFybSwgSUFsYXJtIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNsb3Vkd2F0Y2gnO1xuaW1wb3J0IHsgRWNzQXBwbGljYXRpb24sIEVjc0RlcGxveW1lbnRDb25maWcsIEVjc0RlcGxveW1lbnRHcm91cCwgSUVjc0RlcGxveW1lbnRDb25maWcgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWRlcGxveSc7XG5pbXBvcnQgeyBCYXNlU2VydmljZSwgRGVwbG95bWVudENvbnRyb2xsZXJUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjcyc7XG5pbXBvcnQgeyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlLCBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWNzLXBhdHRlcm5zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uTGlzdGVuZXIsIEFwcGxpY2F0aW9uUHJvdG9jb2wsIEFwcGxpY2F0aW9uVGFyZ2V0R3JvdXAsIEhlYWx0aENoZWNrLCBUYXJnZXRUeXBlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVsYXN0aWNsb2FkYmFsYW5jaW5ndjInO1xuaW1wb3J0IHsgQmxvY2tQdWJsaWNBY2Nlc3MsIEJ1Y2tldCwgQnVja2V0RW5jcnlwdGlvbiwgSUJ1Y2tldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgeyBTY2hlZHVsZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1zeW50aGV0aWNzJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQXBpVGVzdFN0ZXAsIEFwaUNhbmFyeSB9IGZyb20gJy4uL2FwaS1jYW5hcnknO1xuaW1wb3J0IHsgQXBwU3BlY0hvb2tzIH0gZnJvbSAnLi4vZWNzLWFwcHNwZWMnO1xuaW1wb3J0IHsgRWNzRGVwbG95bWVudCB9IGZyb20gJy4uL2Vjcy1kZXBsb3ltZW50JztcblxuLyoqXG4gKiBUaGUgcHJvcGVydGllcyBmb3IgdGhlIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkQ29kZURlcGxveWVkRmFyZ2F0ZVNlcnZpY2Ugc2VydmljZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZENvZGVEZXBsb3llZEZhcmdhdGVTZXJ2aWNlUHJvcHMgZXh0ZW5kcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIGEgQ29kZURlcGxveSBkZXBsb3ltZW50LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDYwIG1pbnV0ZXNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lIHRvIHdhaXQgYmVmb3JlIHRlcm1pbmF0aW5nIHRoZSBvcmlnaW5hbCAoYmx1ZSkgdGFzayBzZXQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMTAgbWludXRlc1xuICAgKi9cbiAgcmVhZG9ubHkgdGVybWluYXRpb25XYWl0VGltZT86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVwbG95bWVudCBjb25maWd1cmF0aW9uIHRvIHVzZSBmb3IgdGhlIGRlcGxveW1lbnQgZ3JvdXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gRWNzRGVwbG95bWVudENvbmZpZy5BTExfQVRfT05DRVxuICAgKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudENvbmZpZz86IElFY3NEZXBsb3ltZW50Q29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIHRpbWUgZm9yIEVMQiB0byB3YWl0IGJlZm9yZSBjaGFuZ2luZyB0aGUgc3RhdGUgb2YgYSBkZXJlZ2lzdGVyaW5nIHRhcmdldFxuICAgKiBmcm9tICdkcmFpbmluZycgdG8gJ3VudXNlZCcuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gMzAwIHNlY29uZHNcbiAgICovXG4gIHJlYWRvbmx5IGRlcmVnaXN0cmF0aW9uRGVsYXk/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGhlYWx0aGNoZWNrIHRvIGNvbmZpZ3VyZSBvbiB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciB0YXJnZXQgZ3JvdXBzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIGhlYWx0aCBjaGVjayBpcyBjb25maWd1cmVkXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRIZWFsdGhDaGVjaz86IEhlYWx0aENoZWNrO1xuXG4gIC8qKlxuICAgKiBUaGUgYnVja2V0IHRvIHVzZSBmb3IgYWNjZXNzIGxvZ3MgZnJvbSB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBhIG5ldyBTMyBidWNrZXQgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NMb2dCdWNrZXQ/OiBJQnVja2V0O1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlZml4IHRvIHVzZSBmb3IgYWNjZXNzIGxvZ3MgZnJvbSB0aGUgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBhY2Nlc3NMb2dQcmVmaXg/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHJlc2hvbGQgZm9yIHJlc3BvbnNlIHRpbWUgYWxhcm0uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gYWxhcm0gd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSByZXNwb25zZVRpbWVBbGFybVRocmVzaG9sZD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHRocmVhZHMgdG8gcnVuIGNvbmN1cnJlbnRseSBmb3IgdGhlIHN5bnRoZXRpYyB0ZXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDIwXG4gICAqL1xuICByZWFkb25seSBhcGlDYW5hcnlUaHJlYWRDb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGZyZXF1ZW5jeSBmb3IgcnVubmluZyB0aGUgYXBpIGNhbmFyaWVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIDUgbWludXRlc1xuICAgKi9cbiAgcmVhZG9ubHkgYXBpQ2FuYXJ5U2NoZWR1bGU/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRocmVzaG9sZCBmb3IgaG93IGxvbmcgYSBhcGkgY2FuYXJ5IGNhbiB0YWtlIHRvIHJ1bi5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhbGFybSBpcyBjcmVhdGVkIGZvciB0ZXN0IGR1cmF0aW9uXG4gICAqL1xuICByZWFkb25seSBhcGlDYW5hcnlUaW1lb3V0PzogRHVyYXRpb247XG5cbiAgLyoqXG4gICAqIFRoZSBzdGVwcyB0byBydW4gaW4gdGhlIGNhbmFyeS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBzeW50aGV0aWMgdGVzdCB3aWxsIGJlIGNyZWF0ZWRcbiAgICovXG4gIHJlYWRvbmx5IGFwaVRlc3RTdGVwcz86IEFwaVRlc3RTdGVwW107XG5cbiAgLyoqXG4gICAqIFRoZSBwb3J0IHRvIHVzZSBmb3IgdGVzdCB0cmFmZmljIG9uIHRoZSBsaXN0ZW5lclxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGxpc3RlbmVyUG9ydCArIDFcbiAgICovXG4gIHJlYWRvbmx5IHRlc3RQb3J0PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBsaWZlY3ljbGUgaG9va3NcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBsaWZlY3ljbGUgaG9va3NcbiAgICovXG4gIHJlYWRvbmx5IGhvb2tzPzogQXBwU3BlY0hvb2tzO1xuXG4gIC8qKlxuICAgKiBUaGUgcGh5c2ljYWwsIGh1bWFuLXJlYWRhYmxlIG5hbWUgb2YgdGhlIENvZGVEZXBsb3kgQXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGFuIGF1dG8tZ2VuZXJhdGVkIG5hbWUgd2lsbCBiZSB1c2VkXG4gICAqL1xuICByZWFkb25seSBhcHBsaWNhdGlvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwaHlzaWNhbCwgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgQ29kZURlcGxveSBEZXBsb3ltZW50IEdyb3VwLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBbiBhdXRvLWdlbmVyYXRlZCBuYW1lIHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnRHcm91cE5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBGYXJnYXRlIHNlcnZpY2UgcnVubmluZyBvbiBhbiBFQ1MgY2x1c3RlciBmcm9udGVkIGJ5IGFuIGFwcGxpY2F0aW9uIGxvYWQgYmFsYW5jZXIgYW5kIGRlcGxveWVkIGJ5IENvZGVEZXBsb3kuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZENvZGVEZXBsb3llZEZhcmdhdGVTZXJ2aWNlIGV4dGVuZHMgQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRGYXJnYXRlU2VydmljZSB7XG4gIC8qKlxuICAgKiBDb21wb3NpdGUgYWxhcm0gZm9yIG1vbml0b3JpbmcgaGVhbHRoIG9mIHNlcnZpY2UuXG4gICAqL1xuICBoZWFsdGhBbGFybT86IElBbGFybTtcblxuICAvKipcbiAgICogQVBJIENhbmFyeSBmb3IgdGhlIHNlcnZpY2UuXG4gICAqL1xuICBhcGlDYW5hcnk/OiBBcGlDYW5hcnk7XG5cbiAgLyoqXG4gICAqIFRlc3QgbGlzdGVuZXIgdG8gdXNlIGZvciBDb2RlRGVwbG95IGRlcGxveW1lbnRzLlxuICAgKi9cbiAgdGVzdExpc3RlbmVyOiBBcHBsaWNhdGlvbkxpc3RlbmVyO1xuXG4gIC8qKlxuICAgKiBUZXN0IHRhcmdldCBncm91cCB0byB1c2UgZm9yIENvZGVEZXBsb3kgZGVwbG95bWVudHMuXG4gICAqL1xuICBncmVlblRhcmdldEdyb3VwOiBBcHBsaWNhdGlvblRhcmdldEdyb3VwO1xuXG4gIC8qKlxuICAgKiBTMyBCdWNrZXQgdXNlZCBmb3IgYWNjZXNzIGxvZ3MuXG4gICAqL1xuICBhY2Nlc3NMb2dCdWNrZXQ6IElCdWNrZXQ7XG5cbiAgLyoqXG4gICAqIENvZGVEZXBsb3kgYXBwbGljYXRpb24gZm9yIHRoaXMgc2VydmljZS5cbiAgICovXG4gIGFwcGxpY2F0aW9uOiBFY3NBcHBsaWNhdGlvbjtcblxuICAvKipcbiAgICogQ29kZURlcGxveSBkZXBsb3ltZW50IGdyb3VwIGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBkZXBsb3ltZW50R3JvdXA6IEVjc0RlcGxveW1lbnRHcm91cDtcblxuICAvKipcbiAgICogQ29kZURlcGxveSBkZXBsb3ltZW50IGZvciB0aGlzIHNlcnZpY2UuXG4gICAqL1xuICBkZXBsb3ltZW50OiBFY3NEZXBsb3ltZW50O1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZENvZGVEZXBsb3llZEZhcmdhdGVTZXJ2aWNlIGNsYXNzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VkQ29kZURlcGxveWVkRmFyZ2F0ZVNlcnZpY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBkZXBsb3ltZW50Q29udHJvbGxlcjoge1xuICAgICAgICB0eXBlOiBEZXBsb3ltZW50Q29udHJvbGxlclR5cGUuQ09ERV9ERVBMT1ksXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzLmRlcmVnaXN0cmF0aW9uRGVsYXkpIHtcbiAgICAgIHRoaXMudGFyZ2V0R3JvdXAuc2V0QXR0cmlidXRlKCdkZXJlZ2lzdHJhdGlvbl9kZWxheS50aW1lb3V0X3NlY29uZHMnLCBwcm9wcy5kZXJlZ2lzdHJhdGlvbkRlbGF5LnRvU2Vjb25kcygpLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgICBpZiAocHJvcHMudGFyZ2V0SGVhbHRoQ2hlY2spIHtcbiAgICAgIHRoaXMudGFyZ2V0R3JvdXAuY29uZmlndXJlSGVhbHRoQ2hlY2socHJvcHMudGFyZ2V0SGVhbHRoQ2hlY2spO1xuICAgIH1cbiAgICB0aGlzLmFjY2Vzc0xvZ0J1Y2tldCA9IHByb3BzLmFjY2Vzc0xvZ0J1Y2tldCA/P1xuICAgICAgbmV3IEJ1Y2tldCh0aGlzLCAnQWNjZXNzTG9nQnVja2V0Jywge1xuICAgICAgICBlbmNyeXB0aW9uOiBCdWNrZXRFbmNyeXB0aW9uLlMzX01BTkFHRUQsXG4gICAgICAgIGJsb2NrUHVibGljQWNjZXNzOiBCbG9ja1B1YmxpY0FjY2Vzcy5CTE9DS19BTEwsXG4gICAgICAgIGVuZm9yY2VTU0w6IHRydWUsXG4gICAgICB9KTtcblxuICAgIHRoaXMubG9hZEJhbGFuY2VyLmxvZ0FjY2Vzc0xvZ3ModGhpcy5hY2Nlc3NMb2dCdWNrZXQsIHByb3BzLmFjY2Vzc0xvZ1ByZWZpeCk7XG5cbiAgICBjb25zdCBhbGFybXM6IElBbGFybVtdID0gW107XG4gICAgaWYgKHByb3BzLnJlc3BvbnNlVGltZUFsYXJtVGhyZXNob2xkKSB7XG4gICAgICBjb25zdCByZXNwb25zZVRpbWVBbGFybSA9IG5ldyBBbGFybSh0aGlzLCAnUmVzcG9uc2VUaW1lQWxhcm0nLCB7XG4gICAgICAgIG1ldHJpYzogdGhpcy5sb2FkQmFsYW5jZXIubWV0cmljcy50YXJnZXRSZXNwb25zZVRpbWUoe1xuICAgICAgICAgIHBlcmlvZDogRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgICAgICBzdGF0aXN0aWM6ICdwOTUnLFxuICAgICAgICB9KSxcbiAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM6IDIsXG4gICAgICAgIHRocmVzaG9sZDogcHJvcHMucmVzcG9uc2VUaW1lQWxhcm1UaHJlc2hvbGQudG9TZWNvbmRzKCksXG4gICAgICAgIGNvbXBhcmlzb25PcGVyYXRvcjogQ29tcGFyaXNvbk9wZXJhdG9yLkdSRUFURVJfVEhBTl9USFJFU0hPTEQsXG4gICAgICB9KTtcbiAgICAgIGFsYXJtcy5wdXNoKHJlc3BvbnNlVGltZUFsYXJtKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm90b2NvbCA9IHByb3BzLnByb3RvY29sID8/IChwcm9wcy5jZXJ0aWZpY2F0ZSA/IEFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUFMgOiBBcHBsaWNhdGlvblByb3RvY29sLkhUVFApO1xuXG4gICAgY29uc3QgdGVzdEhvc3ROYW1lID0gcHJvcHMuZG9tYWluTmFtZSA/IHByb3BzLmRvbWFpbk5hbWUgOiB0aGlzLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJEbnNOYW1lO1xuXG4gICAgaWYgKHByb3BzLmFwaVRlc3RTdGVwcz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLmFwaUNhbmFyeSA9IG5ldyBBcGlDYW5hcnkodGhpcywgJ0NhbmFyeScsIHtcbiAgICAgICAgYmFzZVVybDogYCR7cHJvdG9jb2wudG9Mb3dlckNhc2UoKX06Ly8ke3Rlc3RIb3N0TmFtZX1gLFxuICAgICAgICBkdXJhdGlvbkFsYXJtVGhyZXNob2xkOiBwcm9wcy5hcGlDYW5hcnlUaW1lb3V0LFxuICAgICAgICBzY2hlZHVsZTogU2NoZWR1bGUucmF0ZShwcm9wcy5hcGlDYW5hcnlTY2hlZHVsZSA/PyBEdXJhdGlvbi5taW51dGVzKDUpKSxcbiAgICAgICAgdGhyZWFkQ291bnQ6IHByb3BzLmFwaUNhbmFyeVRocmVhZENvdW50LFxuICAgICAgICBzdGVwczogcHJvcHMuYXBpVGVzdFN0ZXBzLFxuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuYXBpQ2FuYXJ5Lm5vZGUuYWRkRGVwZW5kZW5jeSh0aGlzLnNlcnZpY2UpO1xuXG4gICAgICBhbGFybXMucHVzaCh0aGlzLmFwaUNhbmFyeS5zdWNjZXNzQWxhcm0pO1xuICAgICAgaWYgKHRoaXMuYXBpQ2FuYXJ5LmR1cmF0aW9uQWxhcm0pIHtcbiAgICAgICAgYWxhcm1zLnB1c2godGhpcy5hcGlDYW5hcnkuZHVyYXRpb25BbGFybSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChhbGFybXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5oZWFsdGhBbGFybSA9IG5ldyBDb21wb3NpdGVBbGFybSh0aGlzLCAnSGVhbHRoQWxhcm0nLCB7XG4gICAgICAgIGFsYXJtUnVsZTogQWxhcm1SdWxlLmFueU9mKC4uLmFsYXJtcyksXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oZWFsdGhBbGFybSA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBsZXQgdGVzdFBvcnQ6IG51bWJlcjtcbiAgICBpZiAocHJvcHMudGVzdFBvcnQpIHtcbiAgICAgIHRlc3RQb3J0ID0gcHJvcHMudGVzdFBvcnQ7XG4gICAgfSBlbHNlIGlmIChwcm9wcy5saXN0ZW5lclBvcnQpIHtcbiAgICAgIHRlc3RQb3J0ID0gcHJvcHMubGlzdGVuZXJQb3J0ICsgMTtcbiAgICB9IGVsc2UgaWYgKHByb3RvY29sID09PSBBcHBsaWNhdGlvblByb3RvY29sLkhUVFApIHtcbiAgICAgIHRlc3RQb3J0ID0gODA4MDtcbiAgICB9IGVsc2UgaWYgKHByb3RvY29sID09PSBBcHBsaWNhdGlvblByb3RvY29sLkhUVFBTKSB7XG4gICAgICB0ZXN0UG9ydCA9IDg0NDM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5hYmxlIHRvIGRldGVybWluZSBwb3J0IGZvciB0ZXN0IGxpc3RlbmVyJyk7XG4gICAgfVxuXG4gICAgbGV0IGNlcnRpZmljYXRlcztcbiAgICBpZiAocHJvcHMuY2VydGlmaWNhdGUpIHtcbiAgICAgIGNlcnRpZmljYXRlcyA9IFtwcm9wcy5jZXJ0aWZpY2F0ZV07XG4gICAgfVxuXG4gICAgdGhpcy50ZXN0TGlzdGVuZXIgPSB0aGlzLmxvYWRCYWxhbmNlci5hZGRMaXN0ZW5lcignVGVzdExpc3RlbmVyJywge1xuICAgICAgcHJvdG9jb2wsXG4gICAgICBwb3J0OiB0ZXN0UG9ydCxcbiAgICAgIG9wZW46IHByb3BzLm9wZW5MaXN0ZW5lciA/PyB0cnVlLFxuICAgICAgc3NsUG9saWN5OiBwcm9wcy5zc2xQb2xpY3ksXG4gICAgICBjZXJ0aWZpY2F0ZXM6IGNlcnRpZmljYXRlcyxcbiAgICB9KTtcblxuICAgIHRoaXMuZ3JlZW5UYXJnZXRHcm91cCA9IG5ldyBBcHBsaWNhdGlvblRhcmdldEdyb3VwKHRoaXMsICdHcmVlblRhcmdldEdyb3VwJywge1xuICAgICAgdnBjOiB0aGlzLmNsdXN0ZXIudnBjLFxuICAgICAgcG9ydDogdGVzdFBvcnQsXG4gICAgICBwcm90b2NvbDogcHJvcHMudGFyZ2V0UHJvdG9jb2wgPz8gQXBwbGljYXRpb25Qcm90b2NvbC5IVFRQLFxuICAgICAgcHJvdG9jb2xWZXJzaW9uOiBwcm9wcy5wcm90b2NvbFZlcnNpb24sXG4gICAgICBkZXJlZ2lzdHJhdGlvbkRlbGF5OiBwcm9wcy5kZXJlZ2lzdHJhdGlvbkRlbGF5LFxuICAgICAgaGVhbHRoQ2hlY2s6IHByb3BzLnRhcmdldEhlYWx0aENoZWNrLFxuICAgICAgdGFyZ2V0VHlwZTogVGFyZ2V0VHlwZS5JUCxcbiAgICB9KTtcblxuICAgIHRoaXMubGlzdGVuZXIubm9kZS5hZGREZXBlbmRlbmN5KHRoaXMuZ3JlZW5UYXJnZXRHcm91cCk7XG5cbiAgICB0aGlzLnRlc3RMaXN0ZW5lci5hZGRUYXJnZXRHcm91cHMoJ0VDUycsIHtcbiAgICAgIHRhcmdldEdyb3VwczogW3RoaXMuZ3JlZW5UYXJnZXRHcm91cF0sXG4gICAgfSk7XG5cbiAgICB0aGlzLmFwcGxpY2F0aW9uID0gbmV3IEVjc0FwcGxpY2F0aW9uKHRoaXMsICdBcHBsaWNhdGlvbicsIHtcbiAgICAgIGFwcGxpY2F0aW9uTmFtZTogcHJvcHMuYXBwbGljYXRpb25OYW1lLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXBsb3ltZW50R3JvdXAgPSBuZXcgRWNzRGVwbG95bWVudEdyb3VwKHRoaXMsICdEZXBsb3ltZW50R3JvdXAnLCB7XG4gICAgICBhcHBsaWNhdGlvbjogdGhpcy5hcHBsaWNhdGlvbixcbiAgICAgIGRlcGxveW1lbnRHcm91cE5hbWU6IHByb3BzLmRlcGxveW1lbnRHcm91cE5hbWUsXG4gICAgICBhbGFybXM6IHRoaXMuaGVhbHRoQWxhcm0/W3RoaXMuaGVhbHRoQWxhcm1dOnVuZGVmaW5lZCxcbiAgICAgIHNlcnZpY2U6IHRoaXMuc2VydmljZSxcbiAgICAgIGJsdWVHcmVlbkRlcGxveW1lbnRDb25maWc6IHtcbiAgICAgICAgYmx1ZVRhcmdldEdyb3VwOiB0aGlzLnRhcmdldEdyb3VwLFxuICAgICAgICBncmVlblRhcmdldEdyb3VwOiB0aGlzLmdyZWVuVGFyZ2V0R3JvdXAsXG4gICAgICAgIGxpc3RlbmVyOiB0aGlzLmxpc3RlbmVyLFxuICAgICAgICB0ZXN0TGlzdGVuZXI6IHRoaXMudGVzdExpc3RlbmVyLFxuICAgICAgICB0ZXJtaW5hdGlvbldhaXRUaW1lOiBwcm9wcy50ZXJtaW5hdGlvbldhaXRUaW1lID8/IER1cmF0aW9uLm1pbnV0ZXMoMTApLFxuICAgICAgfSxcbiAgICAgIGRlcGxveW1lbnRDb25maWc6IHByb3BzLmRlcGxveW1lbnRDb25maWcgPz8gRWNzRGVwbG95bWVudENvbmZpZy5BTExfQVRfT05DRSxcbiAgICAgIGF1dG9Sb2xsYmFjazoge1xuICAgICAgICBzdG9wcGVkRGVwbG95bWVudDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5kZXBsb3ltZW50ID0gbmV3IEVjc0RlcGxveW1lbnQoe1xuICAgICAgZGVwbG95bWVudEdyb3VwOiB0aGlzLmRlcGxveW1lbnRHcm91cCxcbiAgICAgIHRpbWVvdXQ6IHByb3BzLmRlcGxveW1lbnRUaW1lb3V0ID8/IER1cmF0aW9uLm1pbnV0ZXMoNjApLFxuICAgICAgdGFyZ2V0U2VydmljZToge1xuICAgICAgICB0YXNrRGVmaW5pdGlvbjogdGhpcy50YXNrRGVmaW5pdGlvbixcbiAgICAgICAgY29udGFpbmVyTmFtZTogdGhpcy50YXNrRGVmaW5pdGlvbi5kZWZhdWx0Q29udGFpbmVyIS5jb250YWluZXJOYW1lLFxuICAgICAgICBjb250YWluZXJQb3J0OiB0aGlzLnRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXIhLmNvbnRhaW5lclBvcnQsXG4gICAgICB9LFxuICAgICAgaG9va3M6IHByb3BzLmhvb2tzLFxuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZFNlcnZpY2VBc1RhcmdldChzZXJ2aWNlOiBCYXNlU2VydmljZSkge1xuICAgIHN1cGVyLmFkZFNlcnZpY2VBc1RhcmdldChzZXJ2aWNlKTtcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-codedeploy",
3
3
  "description": "AWS SDK for JavaScript Codedeploy Client for Node.js, Browser and React Native",
4
- "version": "3.569.0",
4
+ "version": "3.574.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-codedeploy",
@@ -20,17 +20,17 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "3.0.0",
22
22
  "@aws-crypto/sha256-js": "3.0.0",
23
- "@aws-sdk/client-sso-oidc": "3.569.0",
24
- "@aws-sdk/client-sts": "3.569.0",
25
- "@aws-sdk/core": "3.567.0",
26
- "@aws-sdk/credential-provider-node": "3.569.0",
23
+ "@aws-sdk/client-sso-oidc": "3.574.0",
24
+ "@aws-sdk/client-sts": "3.574.0",
25
+ "@aws-sdk/core": "3.572.0",
26
+ "@aws-sdk/credential-provider-node": "3.572.0",
27
27
  "@aws-sdk/middleware-host-header": "3.567.0",
28
28
  "@aws-sdk/middleware-logger": "3.568.0",
29
29
  "@aws-sdk/middleware-recursion-detection": "3.567.0",
30
- "@aws-sdk/middleware-user-agent": "3.567.0",
31
- "@aws-sdk/region-config-resolver": "3.567.0",
30
+ "@aws-sdk/middleware-user-agent": "3.572.0",
31
+ "@aws-sdk/region-config-resolver": "3.572.0",
32
32
  "@aws-sdk/types": "3.567.0",
33
- "@aws-sdk/util-endpoints": "3.567.0",
33
+ "@aws-sdk/util-endpoints": "3.572.0",
34
34
  "@aws-sdk/util-user-agent-browser": "3.567.0",
35
35
  "@aws-sdk/util-user-agent-node": "3.568.0",
36
36
  "@smithy/config-resolver": "^2.2.0",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@aws-sdk/client-sso",
3
3
  "description": "AWS SDK for JavaScript Sso Client for Node.js, Browser and React Native",
4
- "version": "3.568.0",
4
+ "version": "3.572.0",
5
5
  "scripts": {
6
6
  "build": "concurrently 'yarn:build:cjs' 'yarn:build:es' 'yarn:build:types'",
7
7
  "build:cjs": "node ../../scripts/compilation/inline client-sso",
@@ -20,14 +20,14 @@
20
20
  "dependencies": {
21
21
  "@aws-crypto/sha256-browser": "3.0.0",
22
22
  "@aws-crypto/sha256-js": "3.0.0",
23
- "@aws-sdk/core": "3.567.0",
23
+ "@aws-sdk/core": "3.572.0",
24
24
  "@aws-sdk/middleware-host-header": "3.567.0",
25
25
  "@aws-sdk/middleware-logger": "3.568.0",
26
26
  "@aws-sdk/middleware-recursion-detection": "3.567.0",
27
- "@aws-sdk/middleware-user-agent": "3.567.0",
28
- "@aws-sdk/region-config-resolver": "3.567.0",
27
+ "@aws-sdk/middleware-user-agent": "3.572.0",
28
+ "@aws-sdk/region-config-resolver": "3.572.0",
29
29
  "@aws-sdk/types": "3.567.0",
30
- "@aws-sdk/util-endpoints": "3.567.0",
30
+ "@aws-sdk/util-endpoints": "3.572.0",
31
31
  "@aws-sdk/util-user-agent-browser": "3.567.0",
32
32
  "@aws-sdk/util-user-agent-node": "3.568.0",
33
33
  "@smithy/config-resolver": "^2.2.0",
@@ -34,6 +34,7 @@ __export(src_exports, {
34
34
  InvalidClientException: () => InvalidClientException,
35
35
  InvalidClientMetadataException: () => InvalidClientMetadataException,
36
36
  InvalidGrantException: () => InvalidGrantException,
37
+ InvalidRedirectUriException: () => InvalidRedirectUriException,
37
38
  InvalidRequestException: () => InvalidRequestException,
38
39
  InvalidRequestRegionException: () => InvalidRequestRegionException,
39
40
  InvalidScopeException: () => InvalidScopeException,
@@ -470,10 +471,30 @@ var _InvalidClientMetadataException = class _InvalidClientMetadataException exte
470
471
  };
471
472
  __name(_InvalidClientMetadataException, "InvalidClientMetadataException");
472
473
  var InvalidClientMetadataException = _InvalidClientMetadataException;
474
+ var _InvalidRedirectUriException = class _InvalidRedirectUriException extends SSOOIDCServiceException {
475
+ /**
476
+ * @internal
477
+ */
478
+ constructor(opts) {
479
+ super({
480
+ name: "InvalidRedirectUriException",
481
+ $fault: "client",
482
+ ...opts
483
+ });
484
+ this.name = "InvalidRedirectUriException";
485
+ this.$fault = "client";
486
+ Object.setPrototypeOf(this, _InvalidRedirectUriException.prototype);
487
+ this.error = opts.error;
488
+ this.error_description = opts.error_description;
489
+ }
490
+ };
491
+ __name(_InvalidRedirectUriException, "InvalidRedirectUriException");
492
+ var InvalidRedirectUriException = _InvalidRedirectUriException;
473
493
  var CreateTokenRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
474
494
  ...obj,
475
495
  ...obj.clientSecret && { clientSecret: import_smithy_client.SENSITIVE_STRING },
476
- ...obj.refreshToken && { refreshToken: import_smithy_client.SENSITIVE_STRING }
496
+ ...obj.refreshToken && { refreshToken: import_smithy_client.SENSITIVE_STRING },
497
+ ...obj.codeVerifier && { codeVerifier: import_smithy_client.SENSITIVE_STRING }
477
498
  }), "CreateTokenRequestFilterSensitiveLog");
478
499
  var CreateTokenResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
479
500
  ...obj,
@@ -485,7 +506,8 @@ var CreateTokenWithIAMRequestFilterSensitiveLog = /* @__PURE__ */ __name((obj) =
485
506
  ...obj,
486
507
  ...obj.refreshToken && { refreshToken: import_smithy_client.SENSITIVE_STRING },
487
508
  ...obj.assertion && { assertion: import_smithy_client.SENSITIVE_STRING },
488
- ...obj.subjectToken && { subjectToken: import_smithy_client.SENSITIVE_STRING }
509
+ ...obj.subjectToken && { subjectToken: import_smithy_client.SENSITIVE_STRING },
510
+ ...obj.codeVerifier && { codeVerifier: import_smithy_client.SENSITIVE_STRING }
489
511
  }), "CreateTokenWithIAMRequestFilterSensitiveLog");
490
512
  var CreateTokenWithIAMResponseFilterSensitiveLog = /* @__PURE__ */ __name((obj) => ({
491
513
  ...obj,
@@ -518,6 +540,7 @@ var se_CreateTokenCommand = /* @__PURE__ */ __name(async (input, context) => {
518
540
  clientId: [],
519
541
  clientSecret: [],
520
542
  code: [],
543
+ codeVerifier: [],
521
544
  deviceCode: [],
522
545
  grantType: [],
523
546
  redirectUri: [],
@@ -543,6 +566,7 @@ var se_CreateTokenWithIAMCommand = /* @__PURE__ */ __name(async (input, context)
543
566
  assertion: [],
544
567
  clientId: [],
545
568
  code: [],
569
+ codeVerifier: [],
546
570
  grantType: [],
547
571
  redirectUri: [],
548
572
  refreshToken: [],
@@ -566,6 +590,10 @@ var se_RegisterClientCommand = /* @__PURE__ */ __name(async (input, context) =>
566
590
  (0, import_smithy_client.take)(input, {
567
591
  clientName: [],
568
592
  clientType: [],
593
+ entitledApplicationArn: [],
594
+ grantTypes: (_) => (0, import_smithy_client._json)(_),
595
+ issuerUrl: [],
596
+ redirectUris: (_) => (0, import_smithy_client._json)(_),
569
597
  scopes: (_) => (0, import_smithy_client._json)(_)
570
598
  })
571
599
  );
@@ -711,6 +739,9 @@ var de_CommandError = /* @__PURE__ */ __name(async (output, context) => {
711
739
  case "InvalidClientMetadataException":
712
740
  case "com.amazonaws.ssooidc#InvalidClientMetadataException":
713
741
  throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context);
742
+ case "InvalidRedirectUriException":
743
+ case "com.amazonaws.ssooidc#InvalidRedirectUriException":
744
+ throw await de_InvalidRedirectUriExceptionRes(parsedOutput, context);
714
745
  default:
715
746
  const parsedBody = parsedOutput.body;
716
747
  return throwDefaultError({
@@ -819,6 +850,20 @@ var de_InvalidGrantExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, co
819
850
  });
820
851
  return (0, import_smithy_client.decorateServiceException)(exception, parsedOutput.body);
821
852
  }, "de_InvalidGrantExceptionRes");
853
+ var de_InvalidRedirectUriExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => {
854
+ const contents = (0, import_smithy_client.map)({});
855
+ const data = parsedOutput.body;
856
+ const doc = (0, import_smithy_client.take)(data, {
857
+ error: import_smithy_client.expectString,
858
+ error_description: import_smithy_client.expectString
859
+ });
860
+ Object.assign(contents, doc);
861
+ const exception = new InvalidRedirectUriException({
862
+ $metadata: deserializeMetadata(parsedOutput),
863
+ ...contents
864
+ });
865
+ return (0, import_smithy_client.decorateServiceException)(exception, parsedOutput.body);
866
+ }, "de_InvalidRedirectUriExceptionRes");
822
867
  var de_InvalidRequestExceptionRes = /* @__PURE__ */ __name(async (parsedOutput, context) => {
823
868
  const contents = (0, import_smithy_client.map)({});
824
869
  const data = parsedOutput.body;
@@ -1014,6 +1059,7 @@ var SSOOIDC = _SSOOIDC;
1014
1059
  UnsupportedGrantTypeException,
1015
1060
  InvalidRequestRegionException,
1016
1061
  InvalidClientMetadataException,
1062
+ InvalidRedirectUriException,
1017
1063
  CreateTokenRequestFilterSensitiveLog,
1018
1064
  CreateTokenResponseFilterSensitiveLog,
1019
1065
  CreateTokenWithIAMRequestFilterSensitiveLog,
@@ -184,10 +184,25 @@ export class InvalidClientMetadataException extends __BaseException {
184
184
  this.error_description = opts.error_description;
185
185
  }
186
186
  }
187
+ export class InvalidRedirectUriException extends __BaseException {
188
+ constructor(opts) {
189
+ super({
190
+ name: "InvalidRedirectUriException",
191
+ $fault: "client",
192
+ ...opts,
193
+ });
194
+ this.name = "InvalidRedirectUriException";
195
+ this.$fault = "client";
196
+ Object.setPrototypeOf(this, InvalidRedirectUriException.prototype);
197
+ this.error = opts.error;
198
+ this.error_description = opts.error_description;
199
+ }
200
+ }
187
201
  export const CreateTokenRequestFilterSensitiveLog = (obj) => ({
188
202
  ...obj,
189
203
  ...(obj.clientSecret && { clientSecret: SENSITIVE_STRING }),
190
204
  ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }),
205
+ ...(obj.codeVerifier && { codeVerifier: SENSITIVE_STRING }),
191
206
  });
192
207
  export const CreateTokenResponseFilterSensitiveLog = (obj) => ({
193
208
  ...obj,
@@ -200,6 +215,7 @@ export const CreateTokenWithIAMRequestFilterSensitiveLog = (obj) => ({
200
215
  ...(obj.refreshToken && { refreshToken: SENSITIVE_STRING }),
201
216
  ...(obj.assertion && { assertion: SENSITIVE_STRING }),
202
217
  ...(obj.subjectToken && { subjectToken: SENSITIVE_STRING }),
218
+ ...(obj.codeVerifier && { codeVerifier: SENSITIVE_STRING }),
203
219
  });
204
220
  export const CreateTokenWithIAMResponseFilterSensitiveLog = (obj) => ({
205
221
  ...obj,
@@ -1,7 +1,7 @@
1
1
  import { loadRestJsonErrorCode, parseJsonBody as parseBody, parseJsonErrorBody as parseErrorBody } from "@aws-sdk/core";
2
2
  import { requestBuilder as rb } from "@smithy/core";
3
3
  import { _json, collectBody, decorateServiceException as __decorateServiceException, expectInt32 as __expectInt32, expectLong as __expectLong, expectNonNull as __expectNonNull, expectObject as __expectObject, expectString as __expectString, map, take, withBaseException, } from "@smithy/smithy-client";
4
- import { AccessDeniedException, AuthorizationPendingException, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidClientMetadataException, InvalidGrantException, InvalidRequestException, InvalidRequestRegionException, InvalidScopeException, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException, } from "../models/models_0";
4
+ import { AccessDeniedException, AuthorizationPendingException, ExpiredTokenException, InternalServerException, InvalidClientException, InvalidClientMetadataException, InvalidGrantException, InvalidRedirectUriException, InvalidRequestException, InvalidRequestRegionException, InvalidScopeException, SlowDownException, UnauthorizedClientException, UnsupportedGrantTypeException, } from "../models/models_0";
5
5
  import { SSOOIDCServiceException as __BaseException } from "../models/SSOOIDCServiceException";
6
6
  export const se_CreateTokenCommand = async (input, context) => {
7
7
  const b = rb(input, context);
@@ -14,6 +14,7 @@ export const se_CreateTokenCommand = async (input, context) => {
14
14
  clientId: [],
15
15
  clientSecret: [],
16
16
  code: [],
17
+ codeVerifier: [],
17
18
  deviceCode: [],
18
19
  grantType: [],
19
20
  redirectUri: [],
@@ -37,6 +38,7 @@ export const se_CreateTokenWithIAMCommand = async (input, context) => {
37
38
  assertion: [],
38
39
  clientId: [],
39
40
  code: [],
41
+ codeVerifier: [],
40
42
  grantType: [],
41
43
  redirectUri: [],
42
44
  refreshToken: [],
@@ -58,6 +60,10 @@ export const se_RegisterClientCommand = async (input, context) => {
58
60
  body = JSON.stringify(take(input, {
59
61
  clientName: [],
60
62
  clientType: [],
63
+ entitledApplicationArn: [],
64
+ grantTypes: (_) => _json(_),
65
+ issuerUrl: [],
66
+ redirectUris: (_) => _json(_),
61
67
  scopes: (_) => _json(_),
62
68
  }));
63
69
  b.m("POST").h(headers).b(body);
@@ -200,6 +206,9 @@ const de_CommandError = async (output, context) => {
200
206
  case "InvalidClientMetadataException":
201
207
  case "com.amazonaws.ssooidc#InvalidClientMetadataException":
202
208
  throw await de_InvalidClientMetadataExceptionRes(parsedOutput, context);
209
+ case "InvalidRedirectUriException":
210
+ case "com.amazonaws.ssooidc#InvalidRedirectUriException":
211
+ throw await de_InvalidRedirectUriExceptionRes(parsedOutput, context);
203
212
  default:
204
213
  const parsedBody = parsedOutput.body;
205
214
  return throwDefaultError({
@@ -308,6 +317,20 @@ const de_InvalidGrantExceptionRes = async (parsedOutput, context) => {
308
317
  });
309
318
  return __decorateServiceException(exception, parsedOutput.body);
310
319
  };
320
+ const de_InvalidRedirectUriExceptionRes = async (parsedOutput, context) => {
321
+ const contents = map({});
322
+ const data = parsedOutput.body;
323
+ const doc = take(data, {
324
+ error: __expectString,
325
+ error_description: __expectString,
326
+ });
327
+ Object.assign(contents, doc);
328
+ const exception = new InvalidRedirectUriException({
329
+ $metadata: deserializeMetadata(parsedOutput),
330
+ ...contents,
331
+ });
332
+ return __decorateServiceException(exception, parsedOutput.body);
333
+ };
311
334
  const de_InvalidRequestExceptionRes = async (parsedOutput, context) => {
312
335
  const contents = map({});
313
336
  const data = parsedOutput.body;
@@ -46,6 +46,7 @@ declare const CreateTokenCommand_base: {
46
46
  * "STRING_VALUE",
47
47
  * ],
48
48
  * redirectUri: "STRING_VALUE",
49
+ * codeVerifier: "STRING_VALUE",
49
50
  * };
50
51
  * const command = new CreateTokenCommand(input);
51
52
  * const response = await client.send(command);
@@ -28,7 +28,7 @@ declare const CreateTokenWithIAMCommand_base: {
28
28
  /**
29
29
  * <p>Creates and returns access and refresh tokens for clients and applications that are
30
30
  * authenticated using IAM entities. The access token can be used to fetch short-term credentials
31
- * for the assigned AWS accounts or to access application APIs using <code>bearer</code>
31
+ * for the assigned Amazon Web Services accounts or to access application APIs using <code>bearer</code>
32
32
  * authentication.</p>
33
33
  * @example
34
34
  * Use a bare-bones client and the command you need to make an API call.
@@ -49,6 +49,7 @@ declare const CreateTokenWithIAMCommand_base: {
49
49
  * subjectToken: "STRING_VALUE",
50
50
  * subjectTokenType: "STRING_VALUE",
51
51
  * requestedTokenType: "STRING_VALUE",
52
+ * codeVerifier: "STRING_VALUE",
52
53
  * };
53
54
  * const command = new CreateTokenWithIAMCommand(input);
54
55
  * const response = await client.send(command);