@cdklabs/cdk-ssm-documents 0.0.21 → 0.0.22

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 (118) hide show
  1. package/.jsii +616 -174
  2. package/API.md +538 -94
  3. package/README.md +4 -5
  4. package/changelog.md +2 -2
  5. package/lib/construct/synth-utils.js +1 -1
  6. package/lib/document/automation-document.js +1 -1
  7. package/lib/document/command-document.js +1 -1
  8. package/lib/document/document-builder.js +2 -2
  9. package/lib/document/ssm-document.js +1 -1
  10. package/lib/domain/choice.js +1 -1
  11. package/lib/domain/data-type.js +1 -1
  12. package/lib/domain/enum/install-action.js +2 -2
  13. package/lib/domain/enum/install-uninstall-repair.js +2 -2
  14. package/lib/domain/enum/installation-type.js +2 -2
  15. package/lib/domain/enum/package-name.js +2 -2
  16. package/lib/domain/input.js +1 -1
  17. package/lib/domain/operation.js +1 -1
  18. package/lib/domain/platform.js +1 -1
  19. package/lib/domain/precondition.js +1 -1
  20. package/lib/interface/approve-hook.js +2 -2
  21. package/lib/interface/auth-method.js +3 -3
  22. package/lib/interface/aws-invoker.js +2 -2
  23. package/lib/interface/downloadable-content.js +8 -8
  24. package/lib/interface/environment.js +3 -3
  25. package/lib/interface/execute-automation-hook/api-execute-automation-hook.js +1 -1
  26. package/lib/interface/observer.js +1 -1
  27. package/lib/interface/on-failure.js +6 -6
  28. package/lib/interface/pause-hook.js +2 -2
  29. package/lib/interface/run-command-hook/api-run-command-hook.js +1 -1
  30. package/lib/interface/run-document-location.js +2 -2
  31. package/lib/interface/sleep-hook.js +2 -2
  32. package/lib/interface/step-ref.js +1 -1
  33. package/lib/interface/variables/boolean-variable.js +2 -2
  34. package/lib/interface/variables/map-list-variable.js +2 -2
  35. package/lib/interface/variables/number-variable.js +2 -2
  36. package/lib/interface/variables/secure-string-variable.js +4 -4
  37. package/lib/interface/variables/string-list-variable.js +2 -2
  38. package/lib/interface/variables/string-map-variable.js +2 -2
  39. package/lib/interface/variables/string-variable.js +4 -4
  40. package/lib/interface/variables/variable.js +2 -2
  41. package/lib/interface/webhook.js +1 -1
  42. package/lib/parent-steps/automation/approve-step.js +1 -1
  43. package/lib/parent-steps/automation/assert-aws-resource-step.js +1 -1
  44. package/lib/parent-steps/automation/aws-api-step.js +1 -1
  45. package/lib/parent-steps/automation/branch-step.js +1 -1
  46. package/lib/parent-steps/automation/change-instance-state-step.js +3 -3
  47. package/lib/parent-steps/automation/copy-image-step.js +1 -1
  48. package/lib/parent-steps/automation/create-image-step.js +1 -1
  49. package/lib/parent-steps/automation/create-stack-step.js +3 -3
  50. package/lib/parent-steps/automation/create-tags-step.js +3 -3
  51. package/lib/parent-steps/automation/delete-image-step.js +1 -1
  52. package/lib/parent-steps/automation/delete-stack-step.js +1 -1
  53. package/lib/parent-steps/automation/execute-automation-step.js +1 -1
  54. package/lib/parent-steps/automation/execute-script-step.d.ts +116 -39
  55. package/lib/parent-steps/automation/execute-script-step.js +157 -62
  56. package/lib/parent-steps/automation/execute-state-machine-step.js +1 -1
  57. package/lib/parent-steps/automation/invoke-lambda-function-step.js +1 -1
  58. package/lib/parent-steps/automation/invoke-webhook-step.js +1 -1
  59. package/lib/parent-steps/automation/pause-step.js +1 -1
  60. package/lib/parent-steps/automation/run-command-step.js +3 -3
  61. package/lib/parent-steps/automation/run-instance-step.js +1 -1
  62. package/lib/parent-steps/automation/sleep-step.js +1 -1
  63. package/lib/parent-steps/automation/wait-for-resource-step.js +1 -1
  64. package/lib/parent-steps/automation-step.js +1 -1
  65. package/lib/parent-steps/command/applications-step.js +1 -1
  66. package/lib/parent-steps/command/configure-docker-step.js +1 -1
  67. package/lib/parent-steps/command/configure-package-step.js +1 -1
  68. package/lib/parent-steps/command/domain-join-step.js +1 -1
  69. package/lib/parent-steps/command/download-content-step.js +1 -1
  70. package/lib/parent-steps/command/ps-module-step.js +1 -1
  71. package/lib/parent-steps/command/run-docker-action-step.js +1 -1
  72. package/lib/parent-steps/command/run-document-step.js +1 -1
  73. package/lib/parent-steps/command/run-powershell-script-step.js +1 -1
  74. package/lib/parent-steps/command/run-shell-script-step.js +1 -1
  75. package/lib/parent-steps/command/software-inventory-step.js +1 -1
  76. package/lib/parent-steps/command/update-agent-step.js +1 -1
  77. package/lib/parent-steps/command/update-ssm-agent-step.js +1 -1
  78. package/lib/parent-steps/command-step.js +1 -1
  79. package/lib/parent-steps/step.js +1 -1
  80. package/lib/patterns/automation/composite-step.js +2 -2
  81. package/lib/patterns/automation/reboot-instance-and-wait.js +1 -1
  82. package/lib/patterns/automation/string-step.js +8 -7
  83. package/lib/patterns/document/string-document.js +1 -1
  84. package/lib/patterns/document/timed-document.js +10 -10
  85. package/lib/samples/hello-world.js +7 -8
  86. package/lib/simulation/automation/approve-simulation.js +1 -1
  87. package/lib/simulation/automation/assert-aws-resource-simulation.js +1 -1
  88. package/lib/simulation/automation/automation-simulation-base.js +1 -1
  89. package/lib/simulation/automation/aws-api-simulation.js +1 -1
  90. package/lib/simulation/automation/branch-simulation.js +1 -1
  91. package/lib/simulation/automation/change-instance-state-simulation.js +1 -1
  92. package/lib/simulation/automation/copy-image-simulation.js +1 -1
  93. package/lib/simulation/automation/create-image-simulation.js +1 -1
  94. package/lib/simulation/automation/create-stack-simulation.js +1 -1
  95. package/lib/simulation/automation/create-tags-simulation.js +1 -1
  96. package/lib/simulation/automation/delete-image-simulation.js +1 -1
  97. package/lib/simulation/automation/delete-stack-simulation.js +1 -1
  98. package/lib/simulation/automation/execute-script-simulation.js +5 -11
  99. package/lib/simulation/automation/execute-state-machine-simulation.js +1 -1
  100. package/lib/simulation/automation/invoke-lambda-function-simulation.js +1 -1
  101. package/lib/simulation/automation/invoke-webhook-simulation.js +1 -1
  102. package/lib/simulation/automation/pause-simulation.js +1 -1
  103. package/lib/simulation/automation/run-command-simulation.js +1 -1
  104. package/lib/simulation/automation/run-instance-simulation.js +1 -1
  105. package/lib/simulation/automation/sleep-simulation.js +1 -1
  106. package/lib/simulation/automation/wait-for-resource-simulation.js +1 -1
  107. package/lib/simulation/automation-step-simulation.js +1 -1
  108. package/lib/simulation/command/command-simulation-base.js +1 -1
  109. package/lib/simulation/command/ps-module-simulation.js +1 -1
  110. package/lib/simulation/command/run-powershell-script-simulation.js +1 -1
  111. package/lib/simulation/command/run-shell-script-simulation.js +1 -1
  112. package/lib/simulation/command-step-simulation.js +1 -1
  113. package/lib/simulation/document/automation-simulation.js +1 -1
  114. package/lib/simulation/document/command-simulation.js +1 -1
  115. package/lib/simulation/simulation.js +1 -1
  116. package/package.json +1 -1
  117. package/releasetag.txt +1 -1
  118. package/version.txt +1 -1
@@ -13,7 +13,7 @@ class HardCodedResourceType extends string_variable_1.HardCodedString {
13
13
  }
14
14
  exports.HardCodedResourceType = HardCodedResourceType;
15
15
  _a = JSII_RTTI_SYMBOL_1;
16
- HardCodedResourceType[_a] = { fqn: "@cdklabs/cdk-ssm-documents.HardCodedResourceType", version: "0.0.21" };
16
+ HardCodedResourceType[_a] = { fqn: "@cdklabs/cdk-ssm-documents.HardCodedResourceType", version: "0.0.22" };
17
17
  HardCodedResourceType.EC2 = new HardCodedResourceType('EC2');
18
18
  HardCodedResourceType.MANAGED_INSTANCE = new HardCodedResourceType('ManagedInstance');
19
19
  HardCodedResourceType.MAINTENANCE_WINDOW = new HardCodedResourceType('MaintenanceWindow');
@@ -32,7 +32,7 @@ class ResourceTypeVariable extends string_variable_1.StringVariable {
32
32
  }
33
33
  exports.ResourceTypeVariable = ResourceTypeVariable;
34
34
  _b = JSII_RTTI_SYMBOL_1;
35
- ResourceTypeVariable[_b] = { fqn: "@cdklabs/cdk-ssm-documents.ResourceTypeVariable", version: "0.0.21" };
35
+ ResourceTypeVariable[_b] = { fqn: "@cdklabs/cdk-ssm-documents.ResourceTypeVariable", version: "0.0.22" };
36
36
  /**
37
37
  * AutomationStep implemenation for aws:createTags
38
38
  * https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-createtag.html
@@ -71,5 +71,5 @@ class CreateTagsStep extends automation_step_1.AutomationStep {
71
71
  }
72
72
  exports.CreateTagsStep = CreateTagsStep;
73
73
  _c = JSII_RTTI_SYMBOL_1;
74
- CreateTagsStep[_c] = { fqn: "@cdklabs/cdk-ssm-documents.CreateTagsStep", version: "0.0.21" };
74
+ CreateTagsStep[_c] = { fqn: "@cdklabs/cdk-ssm-documents.CreateTagsStep", version: "0.0.22" };
75
75
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRhZ3Mtc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJlbnQtc3RlcHMvYXV0b21hdGlvbi9jcmVhdGUtdGFncy1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBSUEsK0VBQTJIO0FBRTNILHVGQUFpRjtBQUNqRix3REFBeUU7QUEyQnpFLE1BQWEscUJBQXNCLFNBQVEsaUNBQWU7SUFLeEQsWUFBb0IsR0FBVztRQUM3QixLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDYixDQUFDOztBQVBILHNEQVFDOzs7QUFQd0IseUJBQUcsR0FBRyxJQUFJLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3ZDLHNDQUFnQixHQUFHLElBQUkscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUNoRSx3Q0FBa0IsR0FBRyxJQUFJLHFCQUFxQixDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDcEUsK0JBQVMsR0FBRyxJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBTTVFLE1BQWEsb0JBQXFCLFNBQVEsZ0NBQWM7SUFBeEQ7O1FBQ1csZ0JBQVcsR0FBRyxDQUFDLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLENBQUMsQ0FBQztLQVFyRjtJQU5XLFVBQVUsQ0FBQyxLQUFVO1FBQzdCLDhCQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLDRCQUE0QixDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDOztBQVJILG9EQVNDOzs7QUFHRDs7O0dBR0c7QUFDSCxNQUFhLGNBQWUsU0FBUSxnQ0FBYztJQU1oRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTBCO1FBQ2xFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBTmpCLFdBQU0sR0FBRyxnQkFBZ0IsQ0FBQztRQU9qQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztJQUN6QyxDQUFDO0lBRUQ7O1NBRUs7SUFDRSxXQUFXO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLE1BQU0sR0FBRztZQUNiLElBQUksQ0FBQyxXQUFXO1lBQ2hCLElBQUksQ0FBQyxJQUFJO1lBQ1QsSUFBSSxDQUFDLFlBQVk7U0FDbEIsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sVUFBVTtRQUNmLE1BQU0sUUFBUSxHQUFpRDtZQUM3RCxXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7UUFDRixNQUFNLE9BQU8sR0FBRyxvREFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNsRSxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7QUF0Q0gsd0NBdUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICcuLi8uLi9kb21haW4vb3V0cHV0JztcbmltcG9ydCB7IElNYXBMaXN0VmFyaWFibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvdmFyaWFibGVzL21hcC1saXN0LXZhcmlhYmxlJztcbmltcG9ydCB7IElTdHJpbmdMaXN0VmFyaWFibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvdmFyaWFibGVzL3N0cmluZy1saXN0LXZhcmlhYmxlJztcbmltcG9ydCB7IGFzc2VydFN0cmluZywgSGFyZENvZGVkU3RyaW5nLCBJU3RyaW5nVmFyaWFibGUsIFN0cmluZ1ZhcmlhYmxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3ZhcmlhYmxlcy9zdHJpbmctdmFyaWFibGUnO1xuaW1wb3J0IHsgSUdlbmVyaWNWYXJpYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZS92YXJpYWJsZXMvdmFyaWFibGUnO1xuaW1wb3J0IHsgcHJ1bmVBbmRUcmFuc2Zvcm1SZWNvcmQgfSBmcm9tICcuLi8uLi91dGlscy9wcnVuZS1hbmQtdHJhbnNmb3JtLXJlY29yZCc7XG5pbXBvcnQgeyBBdXRvbWF0aW9uU3RlcCwgQXV0b21hdGlvblN0ZXBQcm9wcyB9IGZyb20gJy4uL2F1dG9tYXRpb24tc3RlcCc7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgQ3JlYXRlVGFnU3RlcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZVRhZ3NTdGVwUHJvcHMgZXh0ZW5kcyBBdXRvbWF0aW9uU3RlcFByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBJRHMgb2YgdGhlIHJlc291cmNlKHMpIHRvIGJlIHRhZ2dlZC4gSWYgcmVzb3VyY2UgdHlwZSBpc24ndCDigJxFQzLigJ0sIHRoaXMgZmllbGQgY2FuIGNvbnRhaW4gb25seSBhIHNpbmdsZSBpdGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VJZHM6IElTdHJpbmdMaXN0VmFyaWFibGU7XG5cbiAgLyoqXG4gICAqIFRoZSB0YWdzIHRvIGFzc29jaWF0ZSB3aXRoIHRoZSByZXNvdXJjZShzKS5cbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M6IElNYXBMaXN0VmFyaWFibGU7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGhlIHR5cGUgb2YgcmVzb3VyY2UocykgdG8gYmUgdGFnZ2VkLlxuICAgKiBWYWxpZCB2YWx1ZXM6IEVDMiB8IE1hbmFnZWRJbnN0YW5jZSB8IE1haW50ZW5hbmNlV2luZG93IHwgUGFyYW1ldGVyXG4gICAqIEBkZWZhdWx0IEVDMlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VUeXBlPzogSVJlc291cmNlVHlwZVZhcmlhYmxlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvdXJjZVR5cGVWYXJpYWJsZSBleHRlbmRzIElTdHJpbmdWYXJpYWJsZSB7XG59XG5cbmV4cG9ydCBjbGFzcyBIYXJkQ29kZWRSZXNvdXJjZVR5cGUgZXh0ZW5kcyBIYXJkQ29kZWRTdHJpbmcgaW1wbGVtZW50cyBJUmVzb3VyY2VUeXBlVmFyaWFibGUge1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVDMiA9IG5ldyBIYXJkQ29kZWRSZXNvdXJjZVR5cGUoJ0VDMicpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IE1BTkFHRURfSU5TVEFOQ0UgPSBuZXcgSGFyZENvZGVkUmVzb3VyY2VUeXBlKCdNYW5hZ2VkSW5zdGFuY2UnKTtcbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBNQUlOVEVOQU5DRV9XSU5ET1cgPSBuZXcgSGFyZENvZGVkUmVzb3VyY2VUeXBlKCdNYWludGVuYW5jZVdpbmRvdycpO1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBBUkFNRVRFUiA9IG5ldyBIYXJkQ29kZWRSZXNvdXJjZVR5cGUoJ1BhcmFtZXRlcicpO1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKHZhbDogc3RyaW5nKSB7XG4gICAgc3VwZXIodmFsKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VUeXBlVmFyaWFibGUgZXh0ZW5kcyBTdHJpbmdWYXJpYWJsZSBpbXBsZW1lbnRzIElSZXNvdXJjZVR5cGVWYXJpYWJsZSB7XG4gIHJlYWRvbmx5IHZhbGlkVmFsdWVzID0gWydFQzInLCAnTWFuYWdlZEluc3RhbmNlJywgJ01haW50ZW5hbmNlV2luZG93JywgJ1BhcmFtZXRlciddO1xuXG4gIHByb3RlY3RlZCBhc3NlcnRUeXBlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBhc3NlcnRTdHJpbmcodmFsdWUpO1xuICAgIGlmICghdGhpcy52YWxpZFZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHt2YWx1ZX0gaXMgbm90IGEgdmFsaWQgZW51bSB2YWx1ZWApO1xuICAgIH1cbiAgfVxufVxuXG5cbi8qKlxuICogQXV0b21hdGlvblN0ZXAgaW1wbGVtZW5hdGlvbiBmb3IgYXdzOmNyZWF0ZVRhZ3NcbiAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zeXN0ZW1zLW1hbmFnZXIvbGF0ZXN0L3VzZXJndWlkZS9hdXRvbWF0aW9uLWFjdGlvbi1jcmVhdGV0YWcuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgQ3JlYXRlVGFnc1N0ZXAgZXh0ZW5kcyBBdXRvbWF0aW9uU3RlcCB7XG4gIHJlYWRvbmx5IGFjdGlvbiA9ICdhd3M6Y3JlYXRlVGFncyc7XG4gIHJlYWRvbmx5IHJlc291cmNlSWRzOiBJU3RyaW5nTGlzdFZhcmlhYmxlO1xuICByZWFkb25seSB0YWdzOiBJTWFwTGlzdFZhcmlhYmxlO1xuICByZWFkb25seSByZXNvdXJjZVR5cGU/OiBJUmVzb3VyY2VUeXBlVmFyaWFibGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IENyZWF0ZVRhZ3NTdGVwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLnJlc291cmNlSWRzID0gcHJvcHMucmVzb3VyY2VJZHM7XG4gICAgdGhpcy50YWdzID0gcHJvcHMudGFncztcbiAgICB0aGlzLnJlc291cmNlVHlwZSA9IHByb3BzLnJlc291cmNlVHlwZTtcbiAgfVxuXG4gIC8qKlxuICAgICAqIFRoaXMgc3RlcCBoYXMgbm8gb3V0cHV0cy5cbiAgICAgKi9cbiAgcHVibGljIGxpc3RPdXRwdXRzKCk6IE91dHB1dFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgbGlzdElucHV0cygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgaW5wdXRzID0gW1xuICAgICAgdGhpcy5yZXNvdXJjZUlkcyxcbiAgICAgIHRoaXMudGFncyxcbiAgICAgIHRoaXMucmVzb3VyY2VUeXBlLFxuICAgIF07XG5cbiAgICByZXR1cm4gaW5wdXRzLmZsYXRNYXAoaSA9PiBpPy5yZXF1aXJlZElucHV0cygpID8/IFtdKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1NzbUVudHJ5KCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIGNvbnN0IGVudHJ5TWFwOiBSZWNvcmQ8c3RyaW5nLCBJR2VuZXJpY1ZhcmlhYmxlIHwgdW5kZWZpbmVkPiA9IHtcbiAgICAgIFJlc291cmNlSWRzOiB0aGlzLnJlc291cmNlSWRzLFxuICAgICAgVGFnczogdGhpcy50YWdzLFxuICAgICAgUmVzb3VyY2VUeXBlOiB0aGlzLnJlc291cmNlVHlwZSxcbiAgICB9O1xuICAgIGNvbnN0IGVudHJpZXMgPSBwcnVuZUFuZFRyYW5zZm9ybVJlY29yZChlbnRyeU1hcCwgeCA9PiB4LnByaW50KCkpO1xuICAgIHJldHVybiBzdXBlci5wcmVwYXJlU3NtRW50cnkoZW50cmllcyk7XG4gIH1cbn0iXX0=
@@ -34,5 +34,5 @@ class DeleteImageStep extends automation_step_1.AutomationStep {
34
34
  }
35
35
  exports.DeleteImageStep = DeleteImageStep;
36
36
  _a = JSII_RTTI_SYMBOL_1;
37
- DeleteImageStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.DeleteImageStep", version: "0.0.21" };
37
+ DeleteImageStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.DeleteImageStep", version: "0.0.22" };
38
38
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWltYWdlLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyZW50LXN0ZXBzL2F1dG9tYXRpb24vZGVsZXRlLWltYWdlLXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSx3REFBeUU7QUFhekU7OztHQUdHO0FBQ0gsTUFBYSxlQUFnQixTQUFRLGdDQUFjO0lBSWpELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMkI7UUFDbkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFKakIsV0FBTSxHQUFXLGlCQUFpQixDQUFDO1FBSzFDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztJQUMvQixDQUFDO0lBRUQ7O1NBRUs7SUFDRSxXQUFXO1FBQ2hCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLE1BQU0sR0FBRztZQUNiLElBQUksQ0FBQyxPQUFPO1NBQ2IsQ0FBQztRQUVGLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sS0FBSyxDQUFDLGVBQWUsQ0FBQztZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUU7U0FDOUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1QkgsMENBNkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICcuLi8uLi9kb21haW4vb3V0cHV0JztcbmltcG9ydCB7IElTdHJpbmdWYXJpYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZS92YXJpYWJsZXMvc3RyaW5nLXZhcmlhYmxlJztcbmltcG9ydCB7IEF1dG9tYXRpb25TdGVwLCBBdXRvbWF0aW9uU3RlcFByb3BzIH0gZnJvbSAnLi4vYXV0b21hdGlvbi1zdGVwJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBEZWxldGVJbWFnZVN0ZXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxldGVJbWFnZVN0ZXBQcm9wcyBleHRlbmRzIEF1dG9tYXRpb25TdGVwUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGltYWdlIHRvIGJlIGRlbGV0ZWQuXG4gICAqL1xuICByZWFkb25seSBpbWFnZUlkOiBJU3RyaW5nVmFyaWFibGU7XG59XG5cbi8qKlxuICogQXV0b21hdGlvblN0ZXAgaW1wbGVtZW50YXRpb24gZm9yIGF3czpkZWxldGVJbWFnZVxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N5c3RlbXMtbWFuYWdlci9sYXRlc3QvdXNlcmd1aWRlL2F1dG9tYXRpb24tYWN0aW9uLWRlbGV0ZS5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBEZWxldGVJbWFnZVN0ZXAgZXh0ZW5kcyBBdXRvbWF0aW9uU3RlcCB7XG4gIHJlYWRvbmx5IGFjdGlvbjogc3RyaW5nID0gJ2F3czpkZWxldGVJbWFnZSc7XG4gIHJlYWRvbmx5IGltYWdlSWQ6IElTdHJpbmdWYXJpYWJsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGVsZXRlSW1hZ2VTdGVwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLmltYWdlSWQgPSBwcm9wcy5pbWFnZUlkO1xuICB9XG5cbiAgLyoqXG4gICAgICogVGhpcyBzdGVwIGhhcyBubyBvdXRwdXRzLlxuICAgICAqL1xuICBwdWJsaWMgbGlzdE91dHB1dHMoKTogT3V0cHV0W10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0SW5wdXRzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBpbnB1dHMgPSBbXG4gICAgICB0aGlzLmltYWdlSWQsXG4gICAgXTtcblxuICAgIHJldHVybiBpbnB1dHMuZmxhdE1hcChpID0+IGk/LnJlcXVpcmVkSW5wdXRzKCkgPz8gW10pO1xuICB9XG5cbiAgcHVibGljIHRvU3NtRW50cnkoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgcmV0dXJuIHN1cGVyLnByZXBhcmVTc21FbnRyeSh7XG4gICAgICBJbWFnZUlkOiB0aGlzLmltYWdlSWQucHJpbnQoKSxcbiAgICB9KTtcbiAgfVxufSJdfQ==
@@ -45,5 +45,5 @@ class DeleteStackStep extends automation_step_1.AutomationStep {
45
45
  }
46
46
  exports.DeleteStackStep = DeleteStackStep;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- DeleteStackStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.DeleteStackStep", version: "0.0.21" };
48
+ DeleteStackStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.DeleteStackStep", version: "0.0.22" };
49
49
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXN0YWNrLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyZW50LXN0ZXBzL2F1dG9tYXRpb24vZGVsZXRlLXN0YWNrLXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSx3REFBeUU7QUEwQnpFOzs7R0FHRztBQUNILE1BQWEsZUFBZ0IsU0FBUSxnQ0FBYztJQU1qRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTJCO1FBQ25FLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBSGpCLFdBQU0sR0FBVyxpQkFBaUIsQ0FBQztRQUkxQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7OztTQUdLO0lBQ0UsV0FBVztRQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7O1NBR0s7SUFDRSxVQUFVO1FBQ2YsT0FBTztZQUNMLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRTtZQUMxQyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFO1NBQ2xFLENBQUM7SUFDSixDQUFDO0lBRU0sVUFBVTtRQUNmLE1BQU0sTUFBTSxHQUE0QjtZQUN0QyxTQUFTLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRTtZQUN6QyxrQkFBa0IsRUFBRSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsK0JBQStCO1NBQ3JGLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksU0FBUyxFQUFFO1lBQzdCLE1BQU0sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUMvQjtRQUNELE9BQU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2QyxDQUFDOztBQXhDSCwwQ0EwQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE91dHB1dCB9IGZyb20gJy4uLy4uL2RvbWFpbi9vdXRwdXQnO1xuaW1wb3J0IHsgSVN0cmluZ1ZhcmlhYmxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3ZhcmlhYmxlcy9zdHJpbmctdmFyaWFibGUnO1xuaW1wb3J0IHsgQXV0b21hdGlvblN0ZXAsIEF1dG9tYXRpb25TdGVwUHJvcHMgfSBmcm9tICcuLi9hdXRvbWF0aW9uLXN0ZXAnO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIERlbGV0ZVN0YWNrU3RlcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZVN0YWNrU3RlcFByb3BzIGV4dGVuZHMgQXV0b21hdGlvblN0ZXBQcm9wcyB7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIGFuIEFXUyBJZGVudGl0eSBhbmQgQWNjZXNzIE1hbmFnZW1lbnQgKElBTSkgcm9sZSB0aGF0IENsb3VkRm9ybWF0aW9uXG4gICAqIGFzc3VtZXMgdG8gY3JlYXRlIHRoZSBzdGFjay4gQ2xvdWRGb3JtYXRpb24gdXNlcyB0aGUgcm9sZSdzIGNyZWRlbnRpYWxzIHRvIG1ha2UgY2FsbHMgb24geW91ciBiZWhhbGYuXG4gICAqIENsb3VkRm9ybWF0aW9uIGFsd2F5cyB1c2VzIHRoaXMgcm9sZSBmb3IgYWxsIGZ1dHVyZSBvcGVyYXRpb25zIG9uIHRoZSBzdGFjay5cbiAgICogQXMgbG9uZyBhcyB1c2VycyBoYXZlIHBlcm1pc3Npb24gdG8gb3BlcmF0ZSBvbiB0aGUgc3RhY2ssIENsb3VkRm9ybWF0aW9uIHVzZXMgdGhpcyByb2xlIGV2ZW5cbiAgICogaWYgdGhlIHVzZXJzIGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byBwYXNzIGl0LiBFbnN1cmUgdGhhdCB0aGUgcm9sZSBncmFudHMgdGhlIGxlYXN0IGFtb3VudCBvZiBwcml2aWxlZ2VzLlxuICAgKlxuICAgKiBJZiB5b3UgZG9uJ3Qgc3BlY2lmeSBhIHZhbHVlLCBDbG91ZEZvcm1hdGlvbiB1c2VzIHRoZSByb2xlIHRoYXQgd2FzIHByZXZpb3VzbHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBzdGFjay5cbiAgICogSWYgbm8gcm9sZSBpcyBhdmFpbGFibGUsIENsb3VkRm9ybWF0aW9uIHVzZXMgYSB0ZW1wb3Jhcnkgc2Vzc2lvbiB0aGF0IGlzIGdlbmVyYXRlZCBmcm9tIHlvdXIgdXNlciBjcmVkZW50aWFscy5cbiAgICovXG4gIHJlYWRvbmx5IHJvbGVBcm4/OiBJU3RyaW5nVmFyaWFibGU7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgVmFyaWFibGUgdGhhdCBpcyBmZWQgaW50byB0aGlzIHN0ZXAgZGVjbGFyaW5nIHdoaWNoIHN0YWNrIHRvIGRlbGV0ZS5cbiAgICogQGRlZmF1bHQgLSBTdGFja05hbWUgaXMgdGhlIGRlZmF1bHQgdmFsdWUuXG4gICAqL1xuICByZWFkb25seSBzdGFja05hbWVWYXJpYWJsZTogSVN0cmluZ1ZhcmlhYmxlO1xufVxuXG4vKipcbiAqIEF1dG9tYXRpb25TdGVwIGltcGxlbWVuYXRpb24gZm9yIGF3czpkZWxldGVTdGFja1xuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N5c3RlbXMtbWFuYWdlci9sYXRlc3QvdXNlcmd1aWRlL2F1dG9tYXRpb24tYWN0aW9uLWRlbGV0ZXN0YWNrLmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIERlbGV0ZVN0YWNrU3RlcCBleHRlbmRzIEF1dG9tYXRpb25TdGVwIHtcblxuICByZWFkb25seSByb2xlQXJuPzogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBzdGFja05hbWVWYXJpYWJsZTogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBhY3Rpb246IHN0cmluZyA9ICdhd3M6ZGVsZXRlU3RhY2snO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEZWxldGVTdGFja1N0ZXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMucm9sZUFybiA9IHByb3BzLnJvbGVBcm47XG4gICAgdGhpcy5zdGFja05hbWVWYXJpYWJsZSA9IHByb3BzLnN0YWNrTmFtZVZhcmlhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAgICogTm8gb3V0cHV0cyBlbWl0dGVkIGZyb20gRGVsZXRlIFN0YWNrIHN0ZXBcbiAgICAgKiBAcmV0dXJucyBbXVxuICAgICAqL1xuICBwdWJsaWMgbGlzdE91dHB1dHMoKTogT3V0cHV0W10ge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIC8qKlxuICAgICAqIFRoZSBpbnB1dCByZXF1aXJlZCBmb3IgdGhpcyBzdGVwIGlzIHRoZSBzdGFja05hbWVWYXJpYWJsZS5cbiAgICAgKiBAcmV0dXJucyB0aGUgc3RhY2tOYW1lVmFyaWFibGUgYXMgZGVjbGFyZWQgaW4gdGhlIGNvbnN0cnVjdG9yXG4gICAgICovXG4gIHB1YmxpYyBsaXN0SW5wdXRzKCk6IHN0cmluZ1tdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4udGhpcy5zdGFja05hbWVWYXJpYWJsZS5yZXF1aXJlZElucHV0cygpLFxuICAgICAgLi4udGhpcy5yb2xlQXJuID09IHVuZGVmaW5lZCA/IFtdIDogdGhpcy5yb2xlQXJuLnJlcXVpcmVkSW5wdXRzKCksXG4gICAgXTtcbiAgfVxuXG4gIHB1YmxpYyB0b1NzbUVudHJ5KCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBpbnB1dHM6IHsgW25hbWU6IHN0cmluZ106IGFueSB9ID0ge1xuICAgICAgU3RhY2tOYW1lOiB0aGlzLnN0YWNrTmFtZVZhcmlhYmxlLnByaW50KCksXG4gICAgICBDbGllbnRSZXF1ZXN0VG9rZW46IGAke3RoaXMuc3RhY2tOYW1lVmFyaWFibGUucHJpbnQoKX17eyBhdXRvbWF0aW9uOkVYRUNVVElPTl9JRCB9fWAsXG4gICAgfTtcbiAgICBpZiAodGhpcy5yb2xlQXJuICE9IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXRzLlJvbGVBUk4gPSB0aGlzLnJvbGVBcm47XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5wcmVwYXJlU3NtRW50cnkoaW5wdXRzKTtcbiAgfVxuXG59XG4iXX0=
@@ -94,5 +94,5 @@ class ExecuteAutomationStep extends automation_step_1.AutomationStep {
94
94
  }
95
95
  exports.ExecuteAutomationStep = ExecuteAutomationStep;
96
96
  _a = JSII_RTTI_SYMBOL_1;
97
- ExecuteAutomationStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.ExecuteAutomationStep", version: "0.0.21" };
97
+ ExecuteAutomationStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.ExecuteAutomationStep", version: "0.0.22" };
98
98
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1hdXRvbWF0aW9uLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyZW50LXN0ZXBzL2F1dG9tYXRpb24vZXhlY3V0ZS1hdXRvbWF0aW9uLXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxzREFBc0Q7QUFLdEQsd0RBQXlFO0FBd0R6RTs7O0dBR0c7QUFDSCxNQUFhLHFCQUFzQixTQUFRLGdDQUFjO0lBZXZELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBaUM7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFIakIsV0FBTSxHQUFHLHVCQUF1QixDQUFDO1FBSXhDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDO1FBQ25DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUM7UUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxNQUFNLEdBQUc7WUFDYixJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsZUFBZTtZQUNwQixJQUFJLENBQUMsY0FBYztZQUNuQixJQUFJLENBQUMsU0FBUztZQUNkLElBQUksQ0FBQyxpQkFBaUI7WUFDdEIsSUFBSSxDQUFDLElBQUk7WUFDVCxJQUFJLENBQUMsZUFBZTtZQUNwQixJQUFJLENBQUMsVUFBVTtZQUNmLElBQUksQ0FBQyxtQkFBbUI7WUFDeEIsSUFBSSxDQUFDLE9BQU87U0FDYixDQUFDO1FBQ0YsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxXQUFXO1FBQ1QsT0FBTyxDQUFDO2dCQUNOLFVBQVUsRUFBRSx3QkFBWSxDQUFDLFdBQVc7Z0JBQ3BDLElBQUksRUFBRSxRQUFRO2dCQUNkLFFBQVEsRUFBRSxVQUFVO2FBQ3JCO1lBQ0Q7Z0JBQ0UsVUFBVSxFQUFFLHdCQUFZLENBQUMsTUFBTTtnQkFDL0IsSUFBSSxFQUFFLGFBQWE7Z0JBQ25CLFFBQVEsRUFBRSxlQUFlO2FBQzFCO1lBQ0Q7Z0JBQ0UsVUFBVSxFQUFFLHdCQUFZLENBQUMsTUFBTTtnQkFDL0IsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsUUFBUSxFQUFFLFVBQVU7YUFDckIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLFVBQVU7UUFDZixNQUFNLE1BQU0sR0FBNEI7WUFDdEMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ2hDLENBQUM7UUFDRixJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksU0FBUyxFQUFFO1lBQ3JDLE1BQU0sQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUMvQztRQUNELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxTQUFTLEVBQUU7WUFDcEMsTUFBTSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLFNBQVMsRUFBRTtZQUMvQixNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDbkM7UUFDRCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxTQUFTLEVBQUU7WUFDdkMsTUFBTSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztTQUNuRDtRQUNELElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLEVBQUU7WUFDMUIsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxJQUFJLENBQUMsZUFBZSxJQUFJLFNBQVMsRUFBRTtZQUNyQyxNQUFNLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7U0FDL0M7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksU0FBUyxFQUFFO1lBQ2hDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUNyQztRQUNELElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLFNBQVMsRUFBRTtZQUN6QyxNQUFNLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRTtZQUM3QixNQUFNLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDL0I7UUFDRCxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLEVBQUUsR0FBRyxXQUFXLENBQUM7UUFDM0MsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7QUFqR0gsc0RBbUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBEYXRhVHlwZUVudW0gfSBmcm9tICcuLi8uLi9kb21haW4vZGF0YS10eXBlJztcbmltcG9ydCB7IE91dHB1dCB9IGZyb20gJy4uLy4uL2RvbWFpbi9vdXRwdXQnO1xuaW1wb3J0IHsgSU1hcExpc3RWYXJpYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZS92YXJpYWJsZXMvbWFwLWxpc3QtdmFyaWFibGUnO1xuaW1wb3J0IHsgSVN0cmluZ01hcFZhcmlhYmxlIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL3ZhcmlhYmxlcy9zdHJpbmctbWFwLXZhcmlhYmxlJztcbmltcG9ydCB7IElTdHJpbmdWYXJpYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZS92YXJpYWJsZXMvc3RyaW5nLXZhcmlhYmxlJztcbmltcG9ydCB7IEF1dG9tYXRpb25TdGVwLCBBdXRvbWF0aW9uU3RlcFByb3BzIH0gZnJvbSAnLi4vYXV0b21hdGlvbi1zdGVwJztcblxuZXhwb3J0IGludGVyZmFjZSBFeGVjdXRlQXV0b21hdGlvblN0ZXBQcm9wcyBleHRlbmRzIEF1dG9tYXRpb25TdGVwUHJvcHMge1xuXG4gIC8qXG4gICogVGhlIG5hbWUgb2YgdGhlIHNlY29uZGFyeSBydW5ib29rIHRvIHJ1biBkdXJpbmcgdGhlIHN0ZXAuIEZvciBydW5ib29rcyBpbiB0aGUgc2FtZSBBV1MgYWNjb3VudCwgc3BlY2lmeSB0aGUgcnVuYm9vayBuYW1lLiBGb3IgcnVuYm9va3Mgc2hhcmVkIGZyb20gYSBkaWZmZXJlbnQgQVdTIGFjY291bnQsIHNwZWNpZnkgdGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSBydW5ib29rLiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgc2hhcmVkIHJ1bmJvb2tzLCBzZWUgVXNpbmcgc2hhcmVkIFNTTSBkb2N1bWVudHMuXG4gICovXG4gIHJlYWRvbmx5IGRvY3VtZW50TmFtZTogSVN0cmluZ1ZhcmlhYmxlO1xuXG4gIC8qXG4gICogVGhlIHZlcnNpb24gb2YgdGhlIHNlY29uZGFyeSBydW5ib29rIHRvIHJ1bi4gSWYgbm90IHNwZWNpZmllZCwgQXV0b21hdGlvbiBydW5zIHRoZSBkZWZhdWx0IHJ1bmJvb2sgdmVyc2lvbi5cbiAgKi9cbiAgcmVhZG9ubHkgZG9jdW1lbnRWZXJzaW9uPzogSVN0cmluZ1ZhcmlhYmxlO1xuXG4gIC8qXG4gICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRhcmdldHMgYWxsb3dlZCB0byBydW4gdGhpcyB0YXNrIGluIHBhcmFsbGVsLiBZb3UgY2FuIHNwZWNpZnkgYSBudW1iZXIsIHN1Y2ggYXMgMTAsIG9yIGEgcGVyY2VudGFnZSwgc3VjaCBhcyAxMCUuXG4gICovXG4gIHJlYWRvbmx5IG1heENvbmN1cnJlbmN5PzogSVN0cmluZ1ZhcmlhYmxlO1xuXG4gIC8qXG4gICogVGhlIG51bWJlciBvZiBlcnJvcnMgdGhhdCBhcmUgYWxsb3dlZCBiZWZvcmUgdGhlIHN5c3RlbSBzdG9wcyBydW5uaW5nIHRoZSBhdXRvbWF0aW9uIG9uIGFkZGl0aW9uYWwgdGFyZ2V0cy4gWW91IGNhbiBzcGVjaWZ5IGVpdGhlciBhbiBhYnNvbHV0ZSBudW1iZXIgb2YgZXJyb3JzLCBmb3IgZXhhbXBsZSAxMCwgb3IgYSBwZXJjZW50YWdlIG9mIHRoZSB0YXJnZXQgc2V0LCBmb3IgZXhhbXBsZSAxMCUuIElmIHlvdSBzcGVjaWZ5IDMsIGZvciBleGFtcGxlLCB0aGUgc3lzdGVtIHN0b3BzIHJ1bm5pbmcgdGhlIGF1dG9tYXRpb24gd2hlbiB0aGUgZm91cnRoIGVycm9yIGlzIHJlY2VpdmVkLiBJZiB5b3Ugc3BlY2lmeSAwLCB0aGVuIHRoZSBzeXN0ZW0gc3RvcHMgcnVubmluZyB0aGUgYXV0b21hdGlvbiBvbiBhZGRpdGlvbmFsIHRhcmdldHMgYWZ0ZXIgdGhlIGZpcnN0IGVycm9yIHJlc3VsdCBpcyByZXR1cm5lZC4gSWYgeW91IHJ1biBhbiBhdXRvbWF0aW9uIG9uIDUwIHJlc291cmNlcyBhbmQgc2V0IE1heEVycm9ycyB0byAxMCUsIHRoZW4gdGhlIHN5c3RlbSBzdG9wcyBydW5uaW5nIHRoZSBhdXRvbWF0aW9uIG9uIGFkZGl0aW9uYWwgdGFyZ2V0cyB3aGVuIHRoZSBzaXh0aCBlcnJvciBpcyByZWNlaXZlZC5cbiAgKi9cbiAgcmVhZG9ubHkgbWF4RXJyb3JzPzogSVN0cmluZ1ZhcmlhYmxlO1xuXG4gIC8qXG4gICogUmVxdWlyZWQgcGFyYW1ldGVycyBmb3IgdGhlIHNlY29uZGFyeSBydW5ib29rLiBUaGUgbWFwcGluZyB1c2VzIHRoZSBmb2xsb3dpbmcgZm9ybWF0OiB7XCJwYXJhbWV0ZXIxXCIgOiBcInZhbHVlMVwiLCBcInBhcmFtZXRlcjJcIiA6IFwidmFsdWUyXCIgfVxuICAqL1xuICByZWFkb25seSBydW50aW1lUGFyYW1ldGVycz86IElTdHJpbmdNYXBWYXJpYWJsZTtcblxuICAvKlxuICAqIE9wdGlvbmFsIG1ldGFkYXRhIHRoYXQgeW91IGFzc2lnbiB0byBhIHJlc291cmNlLiBZb3UgY2FuIHNwZWNpZnkgYSBtYXhpbXVtIG9mIGZpdmUgdGFncyBmb3IgYW4gYXV0b21hdGlvbi5cbiAgKi9cbiAgcmVhZG9ubHkgdGFncz86IElNYXBMaXN0VmFyaWFibGU7XG5cbiAgLypcbiAgKiBBIGxvY2F0aW9uIGlzIGEgY29tYmluYXRpb24gb2YgQVdTIFJlZ2lvbnMgYW5kL29yIEFXUyBhY2NvdW50cyB3aGVyZSB5b3Ugd2FudCB0byBydW4gdGhlIGF1dG9tYXRpb24uIEEgbWluaW11bSBudW1iZXIgb2YgMSBpdGVtIG11c3QgYmUgc3BlY2lmaWVkIGFuZCBhIG1heGltdW0gbnVtYmVyIG9mIDEwMCBpdGVtcyBjYW4gYmUgc3BlY2lmaWVkLlxuICAqL1xuICByZWFkb25seSB0YXJnZXRMb2NhdGlvbnM/OiBJTWFwTGlzdFZhcmlhYmxlO1xuXG4gIC8qXG4gICogQSBsaXN0IG9mIGtleS12YWx1ZSBtYXBwaW5ncyBvZiBkb2N1bWVudCBwYXJhbWV0ZXJzIHRvIHRhcmdldCByZXNvdXJjZXMuIEJvdGggVGFyZ2V0cyBhbmQgVGFyZ2V0TWFwcyBjYW4ndCBiZSBzcGVjaWZpZWQgdG9nZXRoZXIuXG4gICovXG4gIHJlYWRvbmx5IHRhcmdldE1hcHM/OiBJTWFwTGlzdFZhcmlhYmxlO1xuXG4gIC8qXG4gICogVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB1c2VkIGFzIHRoZSB0YXJnZXQgcmVzb3VyY2UgZm9yIHRoZSByYXRlLWNvbnRyb2xsZWQgYXV0b21hdGlvbi4gUmVxdWlyZWQgaWYgeW91IHNwZWNpZnkgVGFyZ2V0cy5cbiAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0UGFyYW1ldGVyTmFtZT86IElTdHJpbmdWYXJpYWJsZTtcblxuICAvKlxuICAqIEEgbGlzdCBvZiBrZXktdmFsdWUgbWFwcGluZ3MgdG8gdGFyZ2V0IHJlc291cmNlcy4gUmVxdWlyZWQgaWYgeW91IHNwZWNpZnkgVGFyZ2V0UGFyYW1ldGVyTmFtZS5cbiAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0cz86IElNYXBMaXN0VmFyaWFibGU7XG5cbn1cblxuLyoqXG4gKiBBdXRvbWF0aW9uU3RlcCBpbXBsZW1lbnRhdGlvbiBmb3IgYXdzOmV4ZWN1dGVBdXRvbWF0aW9uXG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3lzdGVtcy1tYW5hZ2VyL2xhdGVzdC91c2VyZ3VpZGUvYXV0b21hdGlvbi1hY3Rpb24tZXhlY3V0ZUF1dG9tYXRpb24uaHRtbFxuICovXG5leHBvcnQgY2xhc3MgRXhlY3V0ZUF1dG9tYXRpb25TdGVwIGV4dGVuZHMgQXV0b21hdGlvblN0ZXAge1xuXG4gIHJlYWRvbmx5IGRvY3VtZW50TmFtZTogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBkb2N1bWVudFZlcnNpb24/OiBJU3RyaW5nVmFyaWFibGU7XG4gIHJlYWRvbmx5IG1heENvbmN1cnJlbmN5PzogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBtYXhFcnJvcnM/OiBJU3RyaW5nVmFyaWFibGU7XG4gIHJlYWRvbmx5IHJ1bnRpbWVQYXJhbWV0ZXJzPzogSVN0cmluZ01hcFZhcmlhYmxlO1xuICByZWFkb25seSB0YWdzPzogSU1hcExpc3RWYXJpYWJsZTtcbiAgcmVhZG9ubHkgdGFyZ2V0TG9jYXRpb25zPzogSU1hcExpc3RWYXJpYWJsZTtcbiAgcmVhZG9ubHkgdGFyZ2V0TWFwcz86IElNYXBMaXN0VmFyaWFibGU7XG4gIHJlYWRvbmx5IHRhcmdldFBhcmFtZXRlck5hbWU/OiBJU3RyaW5nVmFyaWFibGU7XG4gIHJlYWRvbmx5IHRhcmdldHM/OiBJTWFwTGlzdFZhcmlhYmxlO1xuXG4gIHJlYWRvbmx5IGFjdGlvbiA9ICdhd3M6ZXhlY3V0ZUF1dG9tYXRpb24nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFeGVjdXRlQXV0b21hdGlvblN0ZXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMuZG9jdW1lbnROYW1lID0gcHJvcHMuZG9jdW1lbnROYW1lO1xuICAgIHRoaXMuZG9jdW1lbnRWZXJzaW9uID0gcHJvcHMuZG9jdW1lbnRWZXJzaW9uO1xuICAgIHRoaXMubWF4Q29uY3VycmVuY3kgPSBwcm9wcy5tYXhDb25jdXJyZW5jeTtcbiAgICB0aGlzLm1heEVycm9ycyA9IHByb3BzLm1heEVycm9ycztcbiAgICB0aGlzLnJ1bnRpbWVQYXJhbWV0ZXJzID0gcHJvcHMucnVudGltZVBhcmFtZXRlcnM7XG4gICAgdGhpcy50YWdzID0gcHJvcHMudGFncztcbiAgICB0aGlzLnRhcmdldExvY2F0aW9ucyA9IHByb3BzLnRhcmdldExvY2F0aW9ucztcbiAgICB0aGlzLnRhcmdldE1hcHMgPSBwcm9wcy50YXJnZXRNYXBzO1xuICAgIHRoaXMudGFyZ2V0UGFyYW1ldGVyTmFtZSA9IHByb3BzLnRhcmdldFBhcmFtZXRlck5hbWU7XG4gICAgdGhpcy50YXJnZXRzID0gcHJvcHMudGFyZ2V0cztcbiAgfVxuXG4gIHB1YmxpYyBsaXN0SW5wdXRzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBpbnB1dHMgPSBbXG4gICAgICB0aGlzLmRvY3VtZW50TmFtZSxcbiAgICAgIHRoaXMuZG9jdW1lbnRWZXJzaW9uLFxuICAgICAgdGhpcy5tYXhDb25jdXJyZW5jeSxcbiAgICAgIHRoaXMubWF4RXJyb3JzLFxuICAgICAgdGhpcy5ydW50aW1lUGFyYW1ldGVycyxcbiAgICAgIHRoaXMudGFncyxcbiAgICAgIHRoaXMudGFyZ2V0TG9jYXRpb25zLFxuICAgICAgdGhpcy50YXJnZXRNYXBzLFxuICAgICAgdGhpcy50YXJnZXRQYXJhbWV0ZXJOYW1lLFxuICAgICAgdGhpcy50YXJnZXRzLFxuICAgIF07XG4gICAgcmV0dXJuIGlucHV0cy5mbGF0TWFwKGkgPT4gaT8ucmVxdWlyZWRJbnB1dHMoKSA/PyBbXSk7XG4gIH1cblxuICBsaXN0T3V0cHV0cygpOiBPdXRwdXRbXSB7XG4gICAgcmV0dXJuIFt7XG4gICAgICBvdXRwdXRUeXBlOiBEYXRhVHlwZUVudW0uU1RSSU5HX0xJU1QsXG4gICAgICBuYW1lOiAnT3V0cHV0JyxcbiAgICAgIHNlbGVjdG9yOiAnJC5PdXRwdXQnLFxuICAgIH0sXG4gICAge1xuICAgICAgb3V0cHV0VHlwZTogRGF0YVR5cGVFbnVtLlNUUklORyxcbiAgICAgIG5hbWU6ICdFeGVjdXRpb25JZCcsXG4gICAgICBzZWxlY3RvcjogJyQuRXhlY3V0aW9uSWQnLFxuICAgIH0sXG4gICAge1xuICAgICAgb3V0cHV0VHlwZTogRGF0YVR5cGVFbnVtLlNUUklORyxcbiAgICAgIG5hbWU6ICdTdGF0dXMnLFxuICAgICAgc2VsZWN0b3I6ICckLlN0YXR1cycsXG4gICAgfV07XG4gIH1cblxuICBwdWJsaWMgdG9Tc21FbnRyeSgpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgY29uc3QgaW5wdXRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSA9IHtcbiAgICAgIERvY3VtZW50TmFtZTogdGhpcy5kb2N1bWVudE5hbWUsXG4gICAgfTtcbiAgICBpZiAodGhpcy5kb2N1bWVudFZlcnNpb24gIT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnB1dHMuRG9jdW1lbnRWZXJzaW9uID0gdGhpcy5kb2N1bWVudFZlcnNpb247XG4gICAgfVxuICAgIGlmICh0aGlzLm1heENvbmN1cnJlbmN5ICE9IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXRzLk1heENvbmN1cnJlbmN5ID0gdGhpcy5tYXhDb25jdXJyZW5jeTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4RXJyb3JzICE9IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXRzLk1heEVycm9ycyA9IHRoaXMubWF4RXJyb3JzO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydW50aW1lUGFyYW1ldGVycyAhPSB1bmRlZmluZWQpIHtcbiAgICAgIGlucHV0cy5SdW50aW1lUGFyYW1ldGVycyA9IHRoaXMucnVudGltZVBhcmFtZXRlcnM7XG4gICAgfVxuICAgIGlmICh0aGlzLnRhZ3MgIT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnB1dHMuVGFncyA9IHRoaXMudGFncztcbiAgICB9XG4gICAgaWYgKHRoaXMudGFyZ2V0TG9jYXRpb25zICE9IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXRzLlRhcmdldExvY2F0aW9ucyA9IHRoaXMudGFyZ2V0TG9jYXRpb25zO1xuICAgIH1cbiAgICBpZiAodGhpcy50YXJnZXRNYXBzICE9IHVuZGVmaW5lZCkge1xuICAgICAgaW5wdXRzLlRhcmdldE1hcHMgPSB0aGlzLnRhcmdldE1hcHM7XG4gICAgfVxuICAgIGlmICh0aGlzLnRhcmdldFBhcmFtZXRlck5hbWUgIT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnB1dHMuVGFyZ2V0UGFyYW1ldGVyTmFtZSA9IHRoaXMudGFyZ2V0UGFyYW1ldGVyTmFtZTtcbiAgICB9XG4gICAgaWYgKHRoaXMudGFyZ2V0cyAhPSB1bmRlZmluZWQpIHtcbiAgICAgIGlucHV0cy5UYXJnZXRzID0gdGhpcy50YXJnZXRzO1xuICAgIH1cbiAgICBjb25zdCBlbnRpcmVFbnRyeSA9IHN1cGVyLnByZXBhcmVTc21FbnRyeShpbnB1dHMpO1xuICAgIGNvbnN0IHsgb3V0cHV0cywgLi4ubmV3T2JqIH0gPSBlbnRpcmVFbnRyeTtcbiAgICByZXR1cm4gbmV3T2JqO1xuICB9XG5cbn0iXX0=
@@ -1,69 +1,146 @@
1
1
  import { Construct } from 'constructs';
2
2
  import { Output } from '../../domain/output';
3
+ import { IGenericVariable } from '../../interface/variables/variable';
3
4
  import { AutomationStep, AutomationStepProps } from '../automation-step';
4
- export declare enum ScriptLanguage {
5
- PYTHON = 0
5
+ /**
6
+ * The code to run for the execution.
7
+ * See "script" parameter here:
8
+ * https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html
9
+ * Attachments are not yet supported.
10
+ */
11
+ export declare abstract class ScriptCode {
12
+ /**
13
+ * Inline code to be executed. String will be used to produce function in yaml/json.
14
+ * Simulation will execute the function in this string using the language specified.
15
+ */
16
+ static inline(code: string): InlineScriptCode;
17
+ /**
18
+ * Full path to the code to execute. File is parsed to produce yaml/json.
19
+ * Simulation will execute this file using the language specified.
20
+ * (Attachments not yet supported)
21
+ */
22
+ static fromFile(fullPath: string): FileScriptCode;
23
+ /**
24
+ * @returns code as a string
25
+ */
26
+ abstract codeAsString(): string;
27
+ /**
28
+ * If there is a file for this code, return it.
29
+ * Otherwise, create a file with the specified suffix.
30
+ * @param suffix of the file to create (such as ".py")
31
+ */
32
+ abstract createOrGetFile(suffix: string): string;
33
+ }
34
+ export declare class InlineScriptCode extends ScriptCode {
35
+ private static toFile;
36
+ readonly inlineCode: string;
37
+ constructor(inlineCode: string);
38
+ codeAsString(): string;
39
+ createOrGetFile(suffix: string): string;
40
+ }
41
+ export declare class FileScriptCode extends ScriptCode {
42
+ readonly fullPath: string;
43
+ constructor(fullPath: string);
44
+ codeAsString(): string;
45
+ createOrGetFile(_suffix: string): string;
46
+ }
47
+ /**
48
+ * Specifies the script language as described in the "Runtime" argument here:
49
+ * https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html
50
+ */
51
+ export declare abstract class ScriptLanguage {
52
+ /**
53
+ * Create a new ScriptLanguage for python execution.
54
+ * @param version is the pythonVersion to use when writing the document (for simulation will not matter).
55
+ * @param handlerName is the function name in code as entry point for script handler.
56
+ */
57
+ static python(version: PythonVersion, handlerName: string): ScriptLanguage;
58
+ /**
59
+ * Creates a ScriptLanguage based on the provided runtime.
60
+ * Prefer one of the other static constructors if possible.
61
+ * @param runtime is the runtime name (such as "python3.6").
62
+ * @param handlerName to be provided for python executions.
63
+ */
64
+ static fromRuntime(runtime: string, handlerName?: string): ScriptLanguage;
65
+ private static pythonVersion;
66
+ /**
67
+ * Builds the ssm inputs.
68
+ */
69
+ abstract ssmInputs(): {
70
+ [name: string]: string;
71
+ };
72
+ /**
73
+ * The associated runtime of this ScriptLanguage.
74
+ */
75
+ abstract runtime(): string;
76
+ /**
77
+ * The suffix to apply to file names of this type of execution.
78
+ */
79
+ abstract fileSuffix(): string;
80
+ /**
81
+ * Simulate an execution of this ScriptLanguage.
82
+ * Provide the inputs after replaced with the actual values (not variables).
83
+ */
84
+ abstract simulate(code: ScriptCode, inputs: {
85
+ [name: string]: string;
86
+ }): {
87
+ [name: string]: string;
88
+ };
89
+ }
90
+ /**
91
+ * Python runtime to use when writing SSM Document.
92
+ * Simulation will use local python version.
93
+ */
94
+ export declare enum PythonVersion {
95
+ VERSION_3_6 = 0,
96
+ VERSION_3_7 = 1,
97
+ VERSION_3_8 = 2
6
98
  }
7
99
  /**
8
100
  * Properties for ExecuteScriptStep
9
101
  */
10
102
  export interface ExecuteScriptStepProps extends AutomationStepProps {
11
103
  /**
12
- * (Required) Language used to execute the script.
13
- */
104
+ * (Required) Language used to execute the script.
105
+ */
14
106
  readonly language: ScriptLanguage;
15
107
  /**
16
- * Full path to the code to execute. File is parsed to produce yaml/json.
17
- * Simulation will execute this file using the language specified.
18
- * Either this OR inclineCode must be provided.
19
- */
20
- readonly fullPathToCode?: string;
21
- /**
22
- * Inline code to be executed. String will be used to produce function in yaml/json.
23
- * Simulation will execute the function in this string using the language specified.
24
- * Either this OR fullPathToCode must be provided.
25
- */
26
- readonly inlineCode?: string;
27
- /**
28
- * (Optional) Function name in fullPathToCode file to use as entry point for script handler.
29
- * @default script_handler
30
- */
31
- readonly handlerName?: string;
108
+ * Inline code to be executed. String will be used to produce function in yaml/json.
109
+ * Simulation will execute the function in this code using the language specified.
110
+ */
111
+ readonly code: ScriptCode;
32
112
  /**
33
- * (Optional) Outputs that the function is expected to return.
34
- * Be sure to prefix the selector for these outputs with "$.Payload." for executeScript step outputs.
35
- * @default []
36
- */
113
+ * (Optional) Outputs that the function is expected to return.
114
+ * Be sure to prefix the selector for these outputs with "$.Payload." for executeScript step outputs.
115
+ * @default []
116
+ */
37
117
  readonly outputs?: Output[];
38
118
  /**
39
- * (Optional) Inputs that the function needs in order to execute.
40
- * @default []
41
- */
42
- readonly inputs: string[];
119
+ * InputPayload that will be passed to the first parameter of the handler.
120
+ * This can be used to pass input data to the script.
121
+ * The key of this dict is the variable name that will be available to the code.
122
+ * The value is the Variable object.
123
+ */
124
+ readonly inputPayload: {
125
+ [name: string]: IGenericVariable;
126
+ };
43
127
  }
44
128
  /**
45
129
  * AutomationStep implementation for aws:executeScript
46
130
  * https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html
47
131
  */
48
132
  export declare class ExecuteScriptStep extends AutomationStep {
49
- static getLanguage(runtime: string): ScriptLanguage;
50
- private static readonly RUNTIME_TO_LANGUAGE;
51
133
  readonly language: ScriptLanguage;
52
- readonly fullPathToCode: string;
53
- readonly handlerName: string;
134
+ readonly code: ScriptCode;
54
135
  readonly outputs: Output[];
55
- readonly inputs: string[];
136
+ readonly inputs: {
137
+ [name: string]: IGenericVariable;
138
+ };
56
139
  readonly action: string;
57
140
  constructor(stage: Construct, id: string, props: ExecuteScriptStepProps);
58
- private toFile;
59
- private getFileSuffix;
60
141
  listOutputs(): Output[];
61
142
  listInputs(): string[];
62
143
  toSsmEntry(): {
63
144
  [name: string]: any;
64
145
  };
65
- /**
66
- * @returns the SSM associated runtime argument for the language specified
67
- */
68
- private runtime;
69
146
  }
@@ -1,18 +1,160 @@
1
1
  "use strict";
2
- var _a;
2
+ var _a, _b, _c, _d, _e;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ExecuteScriptStep = exports.ScriptLanguage = void 0;
4
+ exports.ExecuteScriptStep = exports.PythonVersion = exports.ScriptLanguage = exports.FileScriptCode = exports.InlineScriptCode = exports.ScriptCode = void 0;
5
5
  const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
6
  const fs = require("fs");
7
+ const python_script_handler_1 = require("../../script/python-script-handler");
7
8
  const automation_step_1 = require("../automation-step");
8
9
  // eslint-disable-next-line
9
10
  const path = require('path');
10
11
  // eslint-disable-next-line
11
12
  const os = require('os');
12
- var ScriptLanguage;
13
- (function (ScriptLanguage) {
14
- ScriptLanguage[ScriptLanguage["PYTHON"] = 0] = "PYTHON";
15
- })(ScriptLanguage = exports.ScriptLanguage || (exports.ScriptLanguage = {}));
13
+ /**
14
+ * The code to run for the execution.
15
+ * See "script" parameter here:
16
+ * https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html
17
+ * Attachments are not yet supported.
18
+ */
19
+ class ScriptCode {
20
+ /**
21
+ * Inline code to be executed. String will be used to produce function in yaml/json.
22
+ * Simulation will execute the function in this string using the language specified.
23
+ */
24
+ static inline(code) {
25
+ return new InlineScriptCode(code);
26
+ }
27
+ /**
28
+ * Full path to the code to execute. File is parsed to produce yaml/json.
29
+ * Simulation will execute this file using the language specified.
30
+ * (Attachments not yet supported)
31
+ */
32
+ static fromFile(fullPath) {
33
+ return new FileScriptCode(fullPath);
34
+ }
35
+ }
36
+ exports.ScriptCode = ScriptCode;
37
+ _a = JSII_RTTI_SYMBOL_1;
38
+ ScriptCode[_a] = { fqn: "@cdklabs/cdk-ssm-documents.ScriptCode", version: "0.0.22" };
39
+ class InlineScriptCode extends ScriptCode {
40
+ constructor(inlineCode) {
41
+ super();
42
+ this.inlineCode = inlineCode;
43
+ }
44
+ static toFile(data, suffix) {
45
+ const tempDir = path.join(os.tmpdir(), 'tmp' + new Date().getSeconds() + Math.floor(Math.random() * 100000));
46
+ fs.mkdirSync(tempDir);
47
+ const tempFile = path.join(tempDir, 'execution' + suffix);
48
+ fs.writeFileSync(tempFile, data);
49
+ console.log(`Successfully wrote file to ${tempFile}`);
50
+ return tempFile;
51
+ }
52
+ codeAsString() {
53
+ return this.inlineCode;
54
+ }
55
+ createOrGetFile(suffix) {
56
+ return InlineScriptCode.toFile(this.inlineCode, suffix);
57
+ }
58
+ }
59
+ exports.InlineScriptCode = InlineScriptCode;
60
+ _b = JSII_RTTI_SYMBOL_1;
61
+ InlineScriptCode[_b] = { fqn: "@cdklabs/cdk-ssm-documents.InlineScriptCode", version: "0.0.22" };
62
+ class FileScriptCode extends ScriptCode {
63
+ constructor(fullPath) {
64
+ super();
65
+ this.fullPath = fullPath;
66
+ }
67
+ codeAsString() {
68
+ return fs.readFileSync(this.fullPath, 'utf8');
69
+ }
70
+ createOrGetFile(_suffix) {
71
+ return this.fullPath;
72
+ }
73
+ }
74
+ exports.FileScriptCode = FileScriptCode;
75
+ _c = JSII_RTTI_SYMBOL_1;
76
+ FileScriptCode[_c] = { fqn: "@cdklabs/cdk-ssm-documents.FileScriptCode", version: "0.0.22" };
77
+ /**
78
+ * Specifies the script language as described in the "Runtime" argument here:
79
+ * https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html
80
+ */
81
+ class ScriptLanguage {
82
+ /**
83
+ * Create a new ScriptLanguage for python execution.
84
+ * @param version is the pythonVersion to use when writing the document (for simulation will not matter).
85
+ * @param handlerName is the function name in code as entry point for script handler.
86
+ */
87
+ static python(version, handlerName) {
88
+ return new PythonScript(version, handlerName);
89
+ }
90
+ /**
91
+ * Creates a ScriptLanguage based on the provided runtime.
92
+ * Prefer one of the other static constructors if possible.
93
+ * @param runtime is the runtime name (such as "python3.6").
94
+ * @param handlerName to be provided for python executions.
95
+ */
96
+ static fromRuntime(runtime, handlerName) {
97
+ if (runtime.startsWith('python')) {
98
+ return ScriptLanguage.python(ScriptLanguage.pythonVersion(runtime), handlerName);
99
+ }
100
+ throw new Error('Unrecognized runtime version ' + runtime);
101
+ }
102
+ static pythonVersion(runtime) {
103
+ switch (runtime) {
104
+ case 'python3.6':
105
+ return PythonVersion.VERSION_3_6;
106
+ case 'python3.7':
107
+ return PythonVersion.VERSION_3_7;
108
+ case 'python3.8':
109
+ return PythonVersion.VERSION_3_8;
110
+ default:
111
+ throw new Error('Unrecognized python version ' + runtime);
112
+ }
113
+ }
114
+ }
115
+ exports.ScriptLanguage = ScriptLanguage;
116
+ _d = JSII_RTTI_SYMBOL_1;
117
+ ScriptLanguage[_d] = { fqn: "@cdklabs/cdk-ssm-documents.ScriptLanguage", version: "0.0.22" };
118
+ class PythonScript extends ScriptLanguage {
119
+ constructor(version, handlerName) {
120
+ super();
121
+ this.version = version;
122
+ this.handlerName = handlerName;
123
+ }
124
+ runtime() {
125
+ switch (this.version) {
126
+ case PythonVersion.VERSION_3_6:
127
+ return 'python3.6';
128
+ case PythonVersion.VERSION_3_7:
129
+ return 'python3.7';
130
+ case PythonVersion.VERSION_3_8:
131
+ return 'python3.8';
132
+ }
133
+ }
134
+ fileSuffix() {
135
+ return '.py';
136
+ }
137
+ ssmInputs() {
138
+ return {
139
+ Handler: this.handlerName,
140
+ Runtime: this.runtime(),
141
+ };
142
+ }
143
+ simulate(code, inputs) {
144
+ const pyHandler = new python_script_handler_1.PythonScriptHandler();
145
+ return pyHandler.run(code.createOrGetFile(this.fileSuffix()), this.handlerName, inputs);
146
+ }
147
+ }
148
+ /**
149
+ * Python runtime to use when writing SSM Document.
150
+ * Simulation will use local python version.
151
+ */
152
+ var PythonVersion;
153
+ (function (PythonVersion) {
154
+ PythonVersion[PythonVersion["VERSION_3_6"] = 0] = "VERSION_3_6";
155
+ PythonVersion[PythonVersion["VERSION_3_7"] = 1] = "VERSION_3_7";
156
+ PythonVersion[PythonVersion["VERSION_3_8"] = 2] = "VERSION_3_8";
157
+ })(PythonVersion = exports.PythonVersion || (exports.PythonVersion = {}));
16
158
  /**
17
159
  * AutomationStep implementation for aws:executeScript
18
160
  * https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html
@@ -22,77 +164,30 @@ class ExecuteScriptStep extends automation_step_1.AutomationStep {
22
164
  super(stage, id, props);
23
165
  this.action = 'aws:executeScript';
24
166
  this.language = props.language;
25
- if ((props.fullPathToCode == undefined) == (props.inlineCode == undefined)) {
26
- throw new Error('Exactly one of "fullPathToCode" or "inlineCode" should be defined');
27
- }
28
- this.fullPathToCode = props.fullPathToCode ?? this.toFile(props.inlineCode ?? '');
29
- this.handlerName = props.handlerName ?? 'script_handler';
167
+ this.code = props.code;
30
168
  this.outputs = props.outputs ?? [];
31
- this.inputs = props.inputs ?? [];
169
+ this.inputs = props.inputPayload;
32
170
  const nonPayloadOutputs = this.outputs.filter(out => !out.selector.startsWith('$.Payload'));
33
171
  if (nonPayloadOutputs.length != 0) {
34
172
  throw new Error('All script outputs must specify selector starting with "$.Payload", ' +
35
173
  `but these did not: ${JSON.stringify(nonPayloadOutputs)}`);
36
174
  }
37
175
  }
38
- static getLanguage(runtime) {
39
- const langugage = ExecuteScriptStep.RUNTIME_TO_LANGUAGE[runtime];
40
- if (langugage != undefined) {
41
- return langugage;
42
- }
43
- else {
44
- throw new Error(`Runtime ${runtime} not supported.`);
45
- }
46
- }
47
- toFile(data) {
48
- const tempDir = path.join(os.tmpdir(), 'tmp' + new Date().getSeconds() + Math.floor(Math.random() * 1000));
49
- fs.mkdirSync(tempDir);
50
- const tempFile = path.join(tempDir, 'execution' + this.getFileSuffix());
51
- fs.writeFileSync(tempFile, data);
52
- console.log(`Successfully wrote file to ${tempFile}`);
53
- return tempFile;
54
- }
55
- getFileSuffix() {
56
- switch (this.language) {
57
- case ScriptLanguage.PYTHON:
58
- return '.py';
59
- default:
60
- throw new Error(`Language ${this.language} not supported.`);
61
- }
62
- }
63
176
  listOutputs() {
64
177
  return this.outputs;
65
178
  }
66
179
  listInputs() {
67
- return this.inputs;
180
+ return Object.values(this.inputs).flatMap(i => i?.requiredInputs() ?? []);
68
181
  }
69
182
  toSsmEntry() {
70
- const inputPayload = Object.fromEntries(this.listInputs().map(inp => [inp, `{{ ${inp} }}`]));
71
183
  return this.prepareSsmEntry({
72
- Runtime: this.runtime(),
73
- Handler: this.handlerName,
74
- Script: fs.readFileSync(this.fullPathToCode, 'utf8'),
75
- InputPayload: inputPayload,
184
+ ...this.language.ssmInputs(),
185
+ Script: this.code.codeAsString(),
186
+ InputPayload: this.inputs,
76
187
  });
77
188
  }
78
- /**
79
- * @returns the SSM associated runtime argument for the language specified
80
- */
81
- runtime() {
82
- const runtimeEntry = Object.entries(ExecuteScriptStep.RUNTIME_TO_LANGUAGE)
83
- .filter(entry => entry[1] == this.language)[0];
84
- if (runtimeEntry) {
85
- return runtimeEntry[0];
86
- }
87
- else {
88
- throw new Error(`Language ${this.language} not supported.`);
89
- }
90
- }
91
189
  }
92
190
  exports.ExecuteScriptStep = ExecuteScriptStep;
93
- _a = JSII_RTTI_SYMBOL_1;
94
- ExecuteScriptStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.ExecuteScriptStep", version: "0.0.21" };
95
- ExecuteScriptStep.RUNTIME_TO_LANGUAGE = {
96
- 'python3.6': ScriptLanguage.PYTHON,
97
- };
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1zY3JpcHQtc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJlbnQtc3RlcHMvYXV0b21hdGlvbi9leGVjdXRlLXNjcmlwdC1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBR3pCLHdEQUF5RTtBQUN6RSwyQkFBMkI7QUFDM0IsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQzdCLDJCQUEyQjtBQUMzQixNQUFNLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFFekIsSUFBWSxjQUVYO0FBRkQsV0FBWSxjQUFjO0lBQ3hCLHVEQUFNLENBQUE7QUFDUixDQUFDLEVBRlcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFFekI7QUE4Q0Q7OztHQUdHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxnQ0FBYztJQXVCbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE2QjtRQUNyRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUpqQixXQUFNLEdBQVcsbUJBQW1CLENBQUM7UUFLNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxTQUFTLENBQUMsRUFBRTtZQUMxRSxNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUM7U0FDdEY7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxnQkFBZ0Is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bUJBQW1CLENBQUM7YUFDdkUsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRCxJQUFJLFlBQVksRUFBRTtZQUNoQixPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUN4QjthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxRQUFRLGlCQUFpQixDQUFDLENBQUM7U0FDN0Q7SUFDSCxDQUFDOztBQXZGSCw4Q0F5RkM7OztBQTlFeUIscUNBQW1CLEdBQXVDO0lBQ2hGLFdBQVcsRUFBRSxjQUFjLENBQUMsTUFBTTtDQUNuQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICcuLi8uLi9kb21haW4vb3V0cHV0JztcbmltcG9ydCB7IEF1dG9tYXRpb25TdGVwLCBBdXRvbWF0aW9uU3RlcFByb3BzIH0gZnJvbSAnLi4vYXV0b21hdGlvbi1zdGVwJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuY29uc3Qgb3MgPSByZXF1aXJlKCdvcycpO1xuXG5leHBvcnQgZW51bSBTY3JpcHRMYW5ndWFnZSB7XG4gIFBZVEhPTlxufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIEV4ZWN1dGVTY3JpcHRTdGVwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZVNjcmlwdFN0ZXBQcm9wcyBleHRlbmRzIEF1dG9tYXRpb25TdGVwUHJvcHMge1xuXG4gIC8qKlxuICAgICAqIChSZXF1aXJlZCkgTGFuZ3VhZ2UgdXNlZCB0byBleGVjdXRlIHRoZSBzY3JpcHQuXG4gICAgICovXG4gIHJlYWRvbmx5IGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZTtcblxuICAvKipcbiAgICAgICogRnVsbCBwYXRoIHRvIHRoZSBjb2RlIHRvIGV4ZWN1dGUuIEZpbGUgaXMgcGFyc2VkIHRvIHByb2R1Y2UgeWFtbC9qc29uLlxuICAgICAgKiBTaW11bGF0aW9uIHdpbGwgZXhlY3V0ZSB0aGlzIGZpbGUgdXNpbmcgdGhlIGxhbmd1YWdlIHNwZWNpZmllZC5cbiAgICAgICogRWl0aGVyIHRoaXMgT1IgaW5jbGluZUNvZGUgbXVzdCBiZSBwcm92aWRlZC5cbiAgICAgICovXG4gIHJlYWRvbmx5IGZ1bGxQYXRoVG9Db2RlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAgKiBJbmxpbmUgY29kZSB0byBiZSBleGVjdXRlZC4gU3RyaW5nIHdpbGwgYmUgdXNlZCB0byBwcm9kdWNlIGZ1bmN0aW9uIGluIHlhbWwvanNvbi5cbiAgICAgICogU2ltdWxhdGlvbiB3aWxsIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uIGluIHRoaXMgc3RyaW5nIHVzaW5nIHRoZSBsYW5ndWFnZSBzcGVjaWZpZWQuXG4gICAgICAqIEVpdGhlciB0aGlzIE9SIGZ1bGxQYXRoVG9Db2RlIG11c3QgYmUgcHJvdmlkZWQuXG4gICAgICAqL1xuICByZWFkb25seSBpbmxpbmVDb2RlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgICAgKiAoT3B0aW9uYWwpIEZ1bmN0aW9uIG5hbWUgaW4gZnVsbFBhdGhUb0NvZGUgZmlsZSB0byB1c2UgYXMgZW50cnkgcG9pbnQgZm9yIHNjcmlwdCBoYW5kbGVyLlxuICAgICAgKiBAZGVmYXVsdCBzY3JpcHRfaGFuZGxlclxuICAgICAgKi9cbiAgcmVhZG9ubHkgaGFuZGxlck5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAgICAqIChPcHRpb25hbCkgT3V0cHV0cyB0aGF0IHRoZSBmdW5jdGlvbiBpcyBleHBlY3RlZCB0byByZXR1cm4uXG4gICAgICAqIEJlIHN1cmUgdG8gcHJlZml4IHRoZSBzZWxlY3RvciBmb3IgdGhlc2Ugb3V0cHV0cyB3aXRoIFwiJC5QYXlsb2FkLlwiIGZvciBleGVjdXRlU2NyaXB0IHN0ZXAgb3V0cHV0cy5cbiAgICAgICogQGRlZmF1bHQgW11cbiAgICAgICovXG4gIHJlYWRvbmx5IG91dHB1dHM/OiBPdXRwdXRbXTtcblxuICAvKipcbiAgICAgICogKE9wdGlvbmFsKSBJbnB1dHMgdGhhdCB0aGUgZnVuY3Rpb24gbmVlZHMgaW4gb3JkZXIgdG8gZXhlY3V0ZS5cbiAgICAgICogQGRlZmF1bHQgW11cbiAgICAgICovXG4gIHJlYWRvbmx5IGlucHV0czogc3RyaW5nW107XG59XG5cbi8qKlxuICogQXV0b21hdGlvblN0ZXAgaW1wbGVtZW50YXRpb24gZm9yIGF3czpleGVjdXRlU2NyaXB0XG4gKiBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vc3lzdGVtcy1tYW5hZ2VyL2xhdGVzdC91c2VyZ3VpZGUvYXV0b21hdGlvbi1hY3Rpb24tZXhlY3V0ZVNjcmlwdC5odG1sXG4gKi9cbmV4cG9ydCBjbGFzcyBFeGVjdXRlU2NyaXB0U3RlcCBleHRlbmRzIEF1dG9tYXRpb25TdGVwIHtcblxuICBwdWJsaWMgc3RhdGljIGdldExhbmd1YWdlKHJ1bnRpbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGxhbmd1Z2FnZSA9IEV4ZWN1dGVTY3JpcHRTdGVwLlJVTlRJTUVfVE9fTEFOR1VBR0VbcnVudGltZV07XG4gICAgaWYgKGxhbmd1Z2FnZSAhPSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBsYW5ndWdhZ2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUnVudGltZSAke3J1bnRpbWV9IG5vdCBzdXBwb3J0ZWQuYCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUlVOVElNRV9UT19MQU5HVUFHRTogeyBbbmFtZTogc3RyaW5nXTogU2NyaXB0TGFuZ3VhZ2UgfSA9IHtcbiAgICAncHl0aG9uMy42JzogU2NyaXB0TGFuZ3VhZ2UuUFlUSE9OLFxuICB9O1xuXG4gIHJlYWRvbmx5IGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZTtcbiAgcmVhZG9ubHkgZnVsbFBhdGhUb0NvZGU6IHN0cmluZztcbiAgcmVhZG9ubHkgaGFuZGxlck5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgb3V0cHV0czogT3V0cHV0W107XG4gIHJlYWRvbmx5IGlucHV0czogc3RyaW5nW107XG4gIHJlYWRvbmx5IGFjdGlvbjogc3RyaW5nID0gJ2F3czpleGVjdXRlU2NyaXB0JztcblxuXG4gIGNvbnN0cnVjdG9yKHN0YWdlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFeGVjdXRlU2NyaXB0U3RlcFByb3BzKSB7XG4gICAgc3VwZXIoc3RhZ2UsIGlkLCBwcm9wcyk7XG4gICAgdGhpcy5sYW5ndWFnZSA9IHByb3BzLmxhbmd1YWdlO1xuICAgIGlmICgocHJvcHMuZnVsbFBhdGhUb0NvZGUgPT0gdW5kZWZpbmVkKSA9PSAocHJvcHMuaW5saW5lQ29kZSA9PSB1bmRlZmluZWQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4YWN0bHkgb25lIG9mIFwiZnVsbFBhdGhUb0NvZGVcIiBvciBcImlubGluZUNvZGVcIiBzaG91bGQgYmUgZGVmaW5lZCcpO1xuICAgIH1cbiAgICB0aGlzLmZ1bGxQYXRoVG9Db2RlID0gcHJvcHMuZnVsbFBhdGhUb0NvZGUgPz8gdGhpcy50b0ZpbGUocHJvcHMuaW5saW5lQ29kZSA/PyAnJyk7XG4gICAgdGhpcy5oYW5kbGVyTmFtZSA9IHByb3BzLmhhbmRsZXJOYW1lID8/ICdzY3JpcHRfaGFuZGxlcic7XG4gICAgdGhpcy5vdXRwdXRzID0gcHJvcHMub3V0cHV0cyA/PyBbXTtcbiAgICB0aGlzLmlucHV0cyA9IHByb3BzLmlucHV0cyA/PyBbXTtcbiAgICBjb25zdCBub25QYXlsb2FkT3V0cHV0cyA9IHRoaXMub3V0cHV0cy5maWx0ZXIob3V0ID0+ICFvdXQuc2VsZWN0b3Iuc3RhcnRzV2l0aCgnJC5QYXlsb2FkJykpO1xuICAgIGlmIChub25QYXlsb2FkT3V0cHV0cy5sZW5ndGggIT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBbGwgc2NyaXB0IG91dHB1dHMgbXVzdCBzcGVjaWZ5IHNlbGVjdG9yIHN0YXJ0aW5nIHdpdGggXCIkLlBheWxvYWRcIiwgJyArXG4gICAgICAgICAgICAgICAgYGJ1dCB0aGVzZSBkaWQgbm90OiAke0pTT04uc3RyaW5naWZ5KG5vblBheWxvYWRPdXRwdXRzKX1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvRmlsZShkYXRhOiBzdHJpbmcpIHtcbiAgICBjb25zdCB0ZW1wRGlyID0gcGF0aC5qb2luKG9zLnRtcGRpcigpLCAndG1wJyArIG5ldyBEYXRlKCkuZ2V0U2Vjb25kcygpICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMCkpO1xuICAgIGZzLm1rZGlyU3luYyh0ZW1wRGlyKTtcbiAgICBjb25zdCB0ZW1wRmlsZSA9IHBhdGguam9pbih0ZW1wRGlyLCAnZXhlY3V0aW9uJyArIHRoaXMuZ2V0RmlsZVN1ZmZpeCgpKTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHRlbXBGaWxlLCBkYXRhKTtcbiAgICBjb25zb2xlLmxvZyhgU3VjY2Vzc2Z1bGx5IHdyb3RlIGZpbGUgdG8gJHt0ZW1wRmlsZX1gKTtcbiAgICByZXR1cm4gdGVtcEZpbGU7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVTdWZmaXgoKSB7XG4gICAgc3dpdGNoICh0aGlzLmxhbmd1YWdlKSB7XG4gICAgICBjYXNlIFNjcmlwdExhbmd1YWdlLlBZVEhPTjpcbiAgICAgICAgcmV0dXJuICcucHknO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBMYW5ndWFnZSAke3RoaXMubGFuZ3VhZ2V9IG5vdCBzdXBwb3J0ZWQuYCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxpc3RPdXRwdXRzKCk6IE91dHB1dFtdIHtcbiAgICByZXR1cm4gdGhpcy5vdXRwdXRzO1xuICB9XG5cbiAgcHVibGljIGxpc3RJbnB1dHMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmlucHV0cztcbiAgfVxuXG4gIHB1YmxpYyB0b1NzbUVudHJ5KCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBpbnB1dFBheWxvYWQgPSBPYmplY3QuZnJvbUVudHJpZXModGhpcy5saXN0SW5wdXRzKCkubWFwKGlucCA9PiBbaW5wLCBge3sgJHtpbnB9IH19YF0pKTtcbiAgICByZXR1cm4gdGhpcy5wcmVwYXJlU3NtRW50cnkoe1xuICAgICAgUnVudGltZTogdGhpcy5ydW50aW1lKCksXG4gICAgICBIYW5kbGVyOiB0aGlzLmhhbmRsZXJOYW1lLFxuICAgICAgU2NyaXB0OiBmcy5yZWFkRmlsZVN5bmModGhpcy5mdWxsUGF0aFRvQ29kZSwgJ3V0ZjgnKSxcbiAgICAgIElucHV0UGF5bG9hZDogaW5wdXRQYXlsb2FkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAgICogQHJldHVybnMgdGhlIFNTTSBhc3NvY2lhdGVkIHJ1bnRpbWUgYXJndW1lbnQgZm9yIHRoZSBsYW5ndWFnZSBzcGVjaWZpZWRcbiAgICAgKi9cbiAgcHJpdmF0ZSBydW50aW1lKCk6IHN0cmluZyB7XG4gICAgY29uc3QgcnVudGltZUVudHJ5ID0gT2JqZWN0LmVudHJpZXMoRXhlY3V0ZVNjcmlwdFN0ZXAuUlVOVElNRV9UT19MQU5HVUFHRSlcbiAgICAgIC5maWx0ZXIoZW50cnkgPT4gZW50cnlbMV0gPT0gdGhpcy5sYW5ndWFnZSlbMF07XG4gICAgaWYgKHJ1bnRpbWVFbnRyeSkge1xuICAgICAgcmV0dXJuIHJ1bnRpbWVFbnRyeVswXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBMYW5ndWFnZSAke3RoaXMubGFuZ3VhZ2V9IG5vdCBzdXBwb3J0ZWQuYCk7XG4gICAgfVxuICB9XG5cbn0iXX0=
191
+ _e = JSII_RTTI_SYMBOL_1;
192
+ ExecuteScriptStep[_e] = { fqn: "@cdklabs/cdk-ssm-documents.ExecuteScriptStep", version: "0.0.22" };
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1zY3JpcHQtc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYXJlbnQtc3RlcHMvYXV0b21hdGlvbi9leGVjdXRlLXNjcmlwdC1zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseUJBQXlCO0FBSXpCLDhFQUF5RTtBQUN6RSx3REFBeUU7QUFDekUsMkJBQTJCO0FBQzNCLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QiwyQkFBMkI7QUFDM0IsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRXpCOzs7OztHQUtHO0FBQ0gsTUFBc0IsVUFBVTtJQUM5Qjs7O09BR0c7SUFDSCxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVk7UUFDeEIsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFnQjtRQUM5QixPQUFPLElBQUksY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O0FBZkgsZ0NBNEJDOzs7QUFFRCxNQUFhLGdCQUFpQixTQUFRLFVBQVU7SUFXOUMsWUFBWSxVQUFrQjtRQUM1QixLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFiTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQVksRUFBRSxNQUFjO1FBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDN0csRUFBRSxDQUFD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LENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLHNFQUFzRTtnQkFDcEYsc0JBQXNCLElBQUksQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDOUQ7SUFDSCxDQUFDO0lBRU0sV0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUVNLFVBQVU7UUFDZixPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUMxQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFO1lBQzVCLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNoQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU07U0FDMUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFuQ0gsOENBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICcuLi8uLi9kb21haW4vb3V0cHV0JztcbmltcG9ydCB7IElHZW5lcmljVmFyaWFibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvdmFyaWFibGVzL3ZhcmlhYmxlJztcbmltcG9ydCB7IFB5dGhvblNjcmlwdEhhbmRsZXIgfSBmcm9tICcuLi8uLi9zY3JpcHQvcHl0aG9uLXNjcmlwdC1oYW5kbGVyJztcbmltcG9ydCB7IEF1dG9tYXRpb25TdGVwLCBBdXRvbWF0aW9uU3RlcFByb3BzIH0gZnJvbSAnLi4vYXV0b21hdGlvbi1zdGVwJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuY29uc3Qgb3MgPSByZXF1aXJlKCdvcycpO1xuXG4vKipcbiAqIFRoZSBjb2RlIHRvIHJ1biBmb3IgdGhlIGV4ZWN1dGlvbi5cbiAqIFNlZSBcInNjcmlwdFwiIHBhcmFtZXRlciBoZXJlOlxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N5c3RlbXMtbWFuYWdlci9sYXRlc3QvdXNlcmd1aWRlL2F1dG9tYXRpb24tYWN0aW9uLWV4ZWN1dGVTY3JpcHQuaHRtbFxuICogQXR0YWNobWVudHMgYXJlIG5vdCB5ZXQgc3VwcG9ydGVkLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgU2NyaXB0Q29kZSB7XG4gIC8qKlxuICAgKiBJbmxpbmUgY29kZSB0byBiZSBleGVjdXRlZC4gU3RyaW5nIHdpbGwgYmUgdXNlZCB0byBwcm9kdWNlIGZ1bmN0aW9uIGluIHlhbWwvanNvbi5cbiAgICogU2ltdWxhdGlvbiB3aWxsIGV4ZWN1dGUgdGhlIGZ1bmN0aW9uIGluIHRoaXMgc3RyaW5nIHVzaW5nIHRoZSBsYW5ndWFnZSBzcGVjaWZpZWQuXG4gICAqL1xuICBzdGF0aWMgaW5saW5lKGNvZGU6IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgSW5saW5lU2NyaXB0Q29kZShjb2RlKTtcbiAgfVxuICAvKipcbiAgICogRnVsbCBwYXRoIHRvIHRoZSBjb2RlIHRvIGV4ZWN1dGUuIEZpbGUgaXMgcGFyc2VkIHRvIHByb2R1Y2UgeWFtbC9qc29uLlxuICAgKiBTaW11bGF0aW9uIHdpbGwgZXhlY3V0ZSB0aGlzIGZpbGUgdXNpbmcgdGhlIGxhbmd1YWdlIHNwZWNpZmllZC5cbiAgICogKEF0dGFjaG1lbnRzIG5vdCB5ZXQgc3VwcG9ydGVkKVxuICAgKi9cbiAgc3RhdGljIGZyb21GaWxlKGZ1bGxQYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IEZpbGVTY3JpcHRDb2RlKGZ1bGxQYXRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAcmV0dXJucyBjb2RlIGFzIGEgc3RyaW5nXG4gICAqL1xuICBhYnN0cmFjdCBjb2RlQXNTdHJpbmcoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJZiB0aGVyZSBpcyBhIGZpbGUgZm9yIHRoaXMgY29kZSwgcmV0dXJuIGl0LlxuICAgKiBPdGhlcndpc2UsIGNyZWF0ZSBhIGZpbGUgd2l0aCB0aGUgc3BlY2lmaWVkIHN1ZmZpeC5cbiAgICogQHBhcmFtIHN1ZmZpeCBvZiB0aGUgZmlsZSB0byBjcmVhdGUgKHN1Y2ggYXMgXCIucHlcIilcbiAgICovXG4gIGFic3RyYWN0IGNyZWF0ZU9yR2V0RmlsZShzdWZmaXg6IHN0cmluZyk6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIElubGluZVNjcmlwdENvZGUgZXh0ZW5kcyBTY3JpcHRDb2RlIHtcbiAgcHJpdmF0ZSBzdGF0aWMgdG9GaWxlKGRhdGE6IHN0cmluZywgc3VmZml4OiBzdHJpbmcpIHtcbiAgICBjb25zdCB0ZW1wRGlyID0gcGF0aC5qb2luKG9zLnRtcGRpcigpLCAndG1wJyArIG5ldyBEYXRlKCkuZ2V0U2Vjb25kcygpICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwKSk7XG4gICAgZnMubWtkaXJTeW5jKHRlbXBEaXIpO1xuICAgIGNvbnN0IHRlbXBGaWxlID0gcGF0aC5qb2luKHRlbXBEaXIsICdleGVjdXRpb24nICsgc3VmZml4KTtcbiAgICBmcy53cml0ZUZpbGVTeW5jKHRlbXBGaWxlLCBkYXRhKTtcbiAgICBjb25zb2xlLmxvZyhgU3VjY2Vzc2Z1bGx5IHdyb3RlIGZpbGUgdG8gJHt0ZW1wRmlsZX1gKTtcbiAgICByZXR1cm4gdGVtcEZpbGU7XG4gIH1cblxuICByZWFkb25seSBpbmxpbmVDb2RlOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKGlubGluZUNvZGU6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pbmxpbmVDb2RlID0gaW5saW5lQ29kZTtcbiAgfVxuXG4gIGNvZGVBc1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlubGluZUNvZGU7XG4gIH1cblxuICBjcmVhdGVPckdldEZpbGUoc3VmZml4OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBJbmxpbmVTY3JpcHRDb2RlLnRvRmlsZSh0aGlzLmlubGluZUNvZGUsIHN1ZmZpeCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEZpbGVTY3JpcHRDb2RlIGV4dGVuZHMgU2NyaXB0Q29kZSB7XG4gIHJlYWRvbmx5IGZ1bGxQYXRoOiBzdHJpbmc7XG4gIGNvbnN0cnVjdG9yKGZ1bGxQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZnVsbFBhdGggPSBmdWxsUGF0aDtcbiAgfVxuICBjb2RlQXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZnMucmVhZEZpbGVTeW5jKHRoaXMuZnVsbFBhdGgsICd1dGY4Jyk7XG4gIH1cblxuICBjcmVhdGVPckdldEZpbGUoX3N1ZmZpeDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mdWxsUGF0aDtcbiAgfVxufVxuXG4vKipcbiAqIFNwZWNpZmllcyB0aGUgc2NyaXB0IGxhbmd1YWdlIGFzIGRlc2NyaWJlZCBpbiB0aGUgXCJSdW50aW1lXCIgYXJndW1lbnQgaGVyZTpcbiAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zeXN0ZW1zLW1hbmFnZXIvbGF0ZXN0L3VzZXJndWlkZS9hdXRvbWF0aW9uLWFjdGlvbi1leGVjdXRlU2NyaXB0Lmh0bWxcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNjcmlwdExhbmd1YWdlIHtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IFNjcmlwdExhbmd1YWdlIGZvciBweXRob24gZXhlY3V0aW9uLlxuICAgKiBAcGFyYW0gdmVyc2lvbiBpcyB0aGUgcHl0aG9uVmVyc2lvbiB0byB1c2Ugd2hlbiB3cml0aW5nIHRoZSBkb2N1bWVudCAoZm9yIHNpbXVsYXRpb24gd2lsbCBub3QgbWF0dGVyKS5cbiAgICogQHBhcmFtIGhhbmRsZXJOYW1lIGlzIHRoZSBmdW5jdGlvbiBuYW1lIGluIGNvZGUgYXMgZW50cnkgcG9pbnQgZm9yIHNjcmlwdCBoYW5kbGVyLlxuICAgKi9cbiAgc3RhdGljIHB5dGhvbih2ZXJzaW9uOiBQeXRob25WZXJzaW9uLCBoYW5kbGVyTmFtZTogc3RyaW5nKTogU2NyaXB0TGFuZ3VhZ2Uge1xuICAgIHJldHVybiBuZXcgUHl0aG9uU2NyaXB0KHZlcnNpb24sIGhhbmRsZXJOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgU2NyaXB0TGFuZ3VhZ2UgYmFzZWQgb24gdGhlIHByb3ZpZGVkIHJ1bnRpbWUuXG4gICAqIFByZWZlciBvbmUgb2YgdGhlIG90aGVyIHN0YXRpYyBjb25zdHJ1Y3RvcnMgaWYgcG9zc2libGUuXG4gICAqIEBwYXJhbSBydW50aW1lIGlzIHRoZSBydW50aW1lIG5hbWUgKHN1Y2ggYXMgXCJweXRob24zLjZcIikuXG4gICAqIEBwYXJhbSBoYW5kbGVyTmFtZSB0byBiZSBwcm92aWRlZCBmb3IgcHl0aG9uIGV4ZWN1dGlvbnMuXG4gICAqL1xuICBzdGF0aWMgZnJvbVJ1bnRpbWUocnVudGltZTogc3RyaW5nLCBoYW5kbGVyTmFtZT86IHN0cmluZyk6IFNjcmlwdExhbmd1YWdlIHtcbiAgICBpZiAocnVudGltZS5zdGFydHNXaXRoKCdweXRob24nKSkge1xuICAgICAgcmV0dXJuIFNjcmlwdExhbmd1YWdlLnB5dGhvbihTY3JpcHRMYW5ndWFnZS5weXRob25WZXJzaW9uKHJ1bnRpbWUpLCBoYW5kbGVyTmFtZSEpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1VucmVjb2duaXplZCBydW50aW1lIHZlcnNpb24gJyArIHJ1bnRpbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcHl0aG9uVmVyc2lvbihydW50aW1lOiBzdHJpbmcpIHtcbiAgICBzd2l0Y2ggKHJ1bnRpbWUpIHtcbiAgICAgIGNhc2UgJ3B5dGhvbjMuNic6XG4gICAgICAgIHJldHVybiBQeXRob25WZXJzaW9uLlZFUlNJT05fM182O1xuICAgICAgY2FzZSAncHl0aG9uMy43JzpcbiAgICAgICAgcmV0dXJuIFB5dGhvblZlcnNpb24uVkVSU0lPTl8zXzc7XG4gICAgICBjYXNlICdweXRob24zLjgnOlxuICAgICAgICByZXR1cm4gUHl0aG9uVmVyc2lvbi5WRVJTSU9OXzNfODtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5yZWNvZ25pemVkIHB5dGhvbiB2ZXJzaW9uICcgKyBydW50aW1lKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQnVpbGRzIHRoZSBzc20gaW5wdXRzLlxuICAgKi9cbiAgYWJzdHJhY3Qgc3NtSW5wdXRzKCk6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgYXNzb2NpYXRlZCBydW50aW1lIG9mIHRoaXMgU2NyaXB0TGFuZ3VhZ2UuXG4gICAqL1xuICBhYnN0cmFjdCBydW50aW1lKCk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHN1ZmZpeCB0byBhcHBseSB0byBmaWxlIG5hbWVzIG9mIHRoaXMgdHlwZSBvZiBleGVjdXRpb24uXG4gICAqL1xuICBhYnN0cmFjdCBmaWxlU3VmZml4KCk6IHN0cmluZztcblxuICAvKipcbiAgICogU2ltdWxhdGUgYW4gZXhlY3V0aW9uIG9mIHRoaXMgU2NyaXB0TGFuZ3VhZ2UuXG4gICAqIFByb3ZpZGUgdGhlIGlucHV0cyBhZnRlciByZXBsYWNlZCB3aXRoIHRoZSBhY3R1YWwgdmFsdWVzIChub3QgdmFyaWFibGVzKS5cbiAgICovXG4gIGFic3RyYWN0IHNpbXVsYXRlKGNvZGU6IFNjcmlwdENvZGUsIGlucHV0czogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0gKTogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmNsYXNzIFB5dGhvblNjcmlwdCBleHRlbmRzIFNjcmlwdExhbmd1YWdlIHtcbiAgcmVhZG9ubHkgdmVyc2lvbjogUHl0aG9uVmVyc2lvbjtcbiAgcmVhZG9ubHkgaGFuZGxlck5hbWU6IHN0cmluZztcbiAgY29uc3RydWN0b3IodmVyc2lvbjogUHl0aG9uVmVyc2lvbiwgaGFuZGxlck5hbWU6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy52ZXJzaW9uID0gdmVyc2lvbjtcbiAgICB0aGlzLmhhbmRsZXJOYW1lID0gaGFuZGxlck5hbWU7XG4gIH1cblxuICBydW50aW1lKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnZlcnNpb24pIHtcbiAgICAgIGNhc2UgUHl0aG9uVmVyc2lvbi5WRVJTSU9OXzNfNjpcbiAgICAgICAgcmV0dXJuICdweXRob24zLjYnO1xuICAgICAgY2FzZSBQeXRob25WZXJzaW9uLlZFUlNJT05fM183OlxuICAgICAgICByZXR1cm4gJ3B5dGhvbjMuNyc7XG4gICAgICBjYXNlIFB5dGhvblZlcnNpb24uVkVSU0lPTl8zXzg6XG4gICAgICAgIHJldHVybiAncHl0aG9uMy44JztcbiAgICB9XG4gIH1cblxuICBmaWxlU3VmZml4KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICcucHknO1xuICB9XG5cbiAgc3NtSW5wdXRzKCk6IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgSGFuZGxlcjogdGhpcy5oYW5kbGVyTmFtZSxcbiAgICAgIFJ1bnRpbWU6IHRoaXMucnVudGltZSgpLFxuICAgIH07XG4gIH1cblxuICBzaW11bGF0ZShjb2RlOiBTY3JpcHRDb2RlLCBpbnB1dHM6IHsgW3A6IHN0cmluZ106IHN0cmluZyB9KTogeyBbcDogc3RyaW5nXTogc3RyaW5nIH0ge1xuICAgIGNvbnN0IHB5SGFuZGxlciA9IG5ldyBQeXRob25TY3JpcHRIYW5kbGVyKCk7XG4gICAgcmV0dXJuIHB5SGFuZGxlci5ydW4oY29kZS5jcmVhdGVPckdldEZpbGUodGhpcy5maWxlU3VmZml4KCkpLCB0aGlzLmhhbmRsZXJOYW1lLCBpbnB1dHMpO1xuICB9XG59XG5cbi8qKlxuICogUHl0aG9uIHJ1bnRpbWUgdG8gdXNlIHdoZW4gd3JpdGluZyBTU00gRG9jdW1lbnQuXG4gKiBTaW11bGF0aW9uIHdpbGwgdXNlIGxvY2FsIHB5dGhvbiB2ZXJzaW9uLlxuICovXG5leHBvcnQgZW51bSBQeXRob25WZXJzaW9uIHtcbiAgVkVSU0lPTl8zXzYsXG4gIFZFUlNJT05fM183LFxuICBWRVJTSU9OXzNfOCxcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBFeGVjdXRlU2NyaXB0U3RlcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVTY3JpcHRTdGVwUHJvcHMgZXh0ZW5kcyBBdXRvbWF0aW9uU3RlcFByb3BzIHtcblxuICAvKipcbiAgICogKFJlcXVpcmVkKSBMYW5ndWFnZSB1c2VkIHRvIGV4ZWN1dGUgdGhlIHNjcmlwdC5cbiAgICovXG4gIHJlYWRvbmx5IGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZTtcblxuICAvKipcbiAgICogSW5saW5lIGNvZGUgdG8gYmUgZXhlY3V0ZWQuIFN0cmluZyB3aWxsIGJlIHVzZWQgdG8gcHJvZHVjZSBmdW5jdGlvbiBpbiB5YW1sL2pzb24uXG4gICAqIFNpbXVsYXRpb24gd2lsbCBleGVjdXRlIHRoZSBmdW5jdGlvbiBpbiB0aGlzIGNvZGUgdXNpbmcgdGhlIGxhbmd1YWdlIHNwZWNpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvZGU6IFNjcmlwdENvZGU7XG5cbiAgLyoqXG4gICAqIChPcHRpb25hbCkgT3V0cHV0cyB0aGF0IHRoZSBmdW5jdGlvbiBpcyBleHBlY3RlZCB0byByZXR1cm4uXG4gICAqIEJlIHN1cmUgdG8gcHJlZml4IHRoZSBzZWxlY3RvciBmb3IgdGhlc2Ugb3V0cHV0cyB3aXRoIFwiJC5QYXlsb2FkLlwiIGZvciBleGVjdXRlU2NyaXB0IHN0ZXAgb3V0cHV0cy5cbiAgICogQGRlZmF1bHQgW11cbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dHM/OiBPdXRwdXRbXTtcblxuICAvKipcbiAgICogSW5wdXRQYXlsb2FkIHRoYXQgd2lsbCBiZSBwYXNzZWQgdG8gdGhlIGZpcnN0IHBhcmFtZXRlciBvZiB0aGUgaGFuZGxlci5cbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBwYXNzIGlucHV0IGRhdGEgdG8gdGhlIHNjcmlwdC5cbiAgICogVGhlIGtleSBvZiB0aGlzIGRpY3QgaXMgdGhlIHZhcmlhYmxlIG5hbWUgdGhhdCB3aWxsIGJlIGF2YWlsYWJsZSB0byB0aGUgY29kZS5cbiAgICogVGhlIHZhbHVlIGlzIHRoZSBWYXJpYWJsZSBvYmplY3QuXG4gICAqL1xuICByZWFkb25seSBpbnB1dFBheWxvYWQ6IHsgW25hbWU6IHN0cmluZ106IElHZW5lcmljVmFyaWFibGUgfTtcbn1cblxuLyoqXG4gKiBBdXRvbWF0aW9uU3RlcCBpbXBsZW1lbnRhdGlvbiBmb3IgYXdzOmV4ZWN1dGVTY3JpcHRcbiAqIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zeXN0ZW1zLW1hbmFnZXIvbGF0ZXN0L3VzZXJndWlkZS9hdXRvbWF0aW9uLWFjdGlvbi1leGVjdXRlU2NyaXB0Lmh0bWxcbiAqL1xuZXhwb3J0IGNsYXNzIEV4ZWN1dGVTY3JpcHRTdGVwIGV4dGVuZHMgQXV0b21hdGlvblN0ZXAge1xuXG4gIHJlYWRvbmx5IGxhbmd1YWdlOiBTY3JpcHRMYW5ndWFnZTtcbiAgcmVhZG9ubHkgY29kZTogU2NyaXB0Q29kZTtcbiAgcmVhZG9ubHkgb3V0cHV0czogT3V0cHV0W107XG4gIHJlYWRvbmx5IGlucHV0czogeyBbbmFtZTogc3RyaW5nXTogSUdlbmVyaWNWYXJpYWJsZSB9O1xuICByZWFkb25seSBhY3Rpb246IHN0cmluZyA9ICdhd3M6ZXhlY3V0ZVNjcmlwdCc7XG5cbiAgY29uc3RydWN0b3Ioc3RhZ2U6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV4ZWN1dGVTY3JpcHRTdGVwUHJvcHMpIHtcbiAgICBzdXBlcihzdGFnZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLmxhbmd1YWdlID0gcHJvcHMubGFuZ3VhZ2U7XG4gICAgdGhpcy5jb2RlID0gcHJvcHMuY29kZTtcbiAgICB0aGlzLm91dHB1dHMgPSBwcm9wcy5vdXRwdXRzID8/IFtdO1xuICAgIHRoaXMuaW5wdXRzID0gcHJvcHMuaW5wdXRQYXlsb2FkO1xuICAgIGNvbnN0IG5vblBheWxvYWRPdXRwdXRzID0gdGhpcy5vdXRwdXRzLmZpbHRlcihvdXQgPT4gIW91dC5zZWxlY3Rvci5zdGFydHNXaXRoKCckLlBheWxvYWQnKSk7XG4gICAgaWYgKG5vblBheWxvYWRPdXRwdXRzLmxlbmd0aCAhPSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FsbCBzY3JpcHQgb3V0cHV0cyBtdXN0IHNwZWNpZnkgc2VsZWN0b3Igc3RhcnRpbmcgd2l0aCBcIiQuUGF5bG9hZFwiLCAnICtcbiAgICAgICAgYGJ1dCB0aGVzZSBkaWQgbm90OiAke0pTT04uc3RyaW5naWZ5KG5vblBheWxvYWRPdXRwdXRzKX1gKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbGlzdE91dHB1dHMoKTogT3V0cHV0W10ge1xuICAgIHJldHVybiB0aGlzLm91dHB1dHM7XG4gIH1cblxuICBwdWJsaWMgbGlzdElucHV0cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5pbnB1dHMpLmZsYXRNYXAoaSA9PiBpPy5yZXF1aXJlZElucHV0cygpID8/IFtdKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1NzbUVudHJ5KCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICByZXR1cm4gdGhpcy5wcmVwYXJlU3NtRW50cnkoe1xuICAgICAgLi4udGhpcy5sYW5ndWFnZS5zc21JbnB1dHMoKSxcbiAgICAgIFNjcmlwdDogdGhpcy5jb2RlLmNvZGVBc1N0cmluZygpLFxuICAgICAgSW5wdXRQYXlsb2FkOiB0aGlzLmlucHV0cyxcbiAgICB9KTtcbiAgfVxuXG59Il19
@@ -41,5 +41,5 @@ class ExecuteStateMachineStep extends automation_step_1.AutomationStep {
41
41
  }
42
42
  exports.ExecuteStateMachineStep = ExecuteStateMachineStep;
43
43
  _a = JSII_RTTI_SYMBOL_1;
44
- ExecuteStateMachineStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep", version: "0.0.21" };
44
+ ExecuteStateMachineStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.ExecuteStateMachineStep", version: "0.0.22" };
45
45
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlY3V0ZS1zdGF0ZS1tYWNoaW5lLXN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGFyZW50LXN0ZXBzL2F1dG9tYXRpb24vZXhlY3V0ZS1zdGF0ZS1tYWNoaW5lLXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSx1RkFBaUY7QUFDakYsd0RBQXlFO0FBdUJ6RTs7R0FFRztBQUNILE1BQWEsdUJBQXdCLFNBQVEsZ0NBQWM7SUFNekQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFtQztRQUMzRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQU5qQixXQUFNLEdBQVcseUJBQXlCLENBQUM7UUFPbEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDO1FBQzdDLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7SUFDM0IsQ0FBQztJQUVEOzs7U0FHSztJQUNFLFdBQVc7UUFDaEIsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU0sVUFBVTtRQUNmLE1BQU0sTUFBTSxHQUFHO1lBQ2IsSUFBSSxDQUFDLGVBQWU7WUFDcEIsSUFBSSxDQUFDLGFBQWE7WUFDbEIsSUFBSSxDQUFDLEtBQUs7U0FDWCxDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG9EQUF1QixDQUFDO1lBQ2xELGVBQWUsRUFBRSxJQUFJLENBQUMsZUFBZTtZQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1NBQ2xCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RCLENBQUM7O0FBckNILDBEQXNDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnLi4vLi4vZG9tYWluL291dHB1dCc7XG5pbXBvcnQgeyBJU3RyaW5nVmFyaWFibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvdmFyaWFibGVzL3N0cmluZy12YXJpYWJsZSc7XG5pbXBvcnQgeyBwcnVuZUFuZFRyYW5zZm9ybVJlY29yZCB9IGZyb20gJy4uLy4uL3V0aWxzL3BydW5lLWFuZC10cmFuc2Zvcm0tcmVjb3JkJztcbmltcG9ydCB7IEF1dG9tYXRpb25TdGVwLCBBdXRvbWF0aW9uU3RlcFByb3BzIH0gZnJvbSAnLi4vYXV0b21hdGlvbi1zdGVwJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgRXhlY3V0ZVN0YXRlTWFjaGluZSBzdGVwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXhlY3V0ZVN0YXRlTWFjaGluZVN0ZXBQcm9wcyBleHRlbmRzIEF1dG9tYXRpb25TdGVwUHJvcHMge1xuXG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIFN0ZXAgRnVuY3Rpb25zIHN0YXRlIG1hY2hpbmUuXG4gICAqL1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVBcm46IElTdHJpbmdWYXJpYWJsZTtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBUaGUgbmFtZSBvZiB0aGUgZXhlY3V0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0aW9uTmFtZT86IElTdHJpbmdWYXJpYWJsZTtcblxuICAvKipcbiAgICogKE9wdGlvbmFsKSBBIHN0cmluZyB0aGF0IGNvbnRhaW5zIHRoZSBKU09OIGlucHV0IGRhdGEgZm9yIHRoZSBleGVjdXRpb24uXG4gICAqL1xuICByZWFkb25seSBpbnB1dD86IElTdHJpbmdWYXJpYWJsZTtcbn1cblxuLyoqXG4gKiBBdXRvbWF0aW9uU3RlcCBpbXBsZW1lbnRhdGlvbiBvZiBbYXdzOmV4ZWN1dGVTdGF0ZU1hY2hpbmVdKGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9zeXN0ZW1zLW1hbmFnZXIvbGF0ZXN0L3VzZXJndWlkZS9hdXRvbWF0aW9uLWFjdGlvbi1leGVjdXRlU3RhdGVNYWNoaW5lLmh0bWwpXG4gKi9cbmV4cG9ydCBjbGFzcyBFeGVjdXRlU3RhdGVNYWNoaW5lU3RlcCBleHRlbmRzIEF1dG9tYXRpb25TdGVwIHtcbiAgcmVhZG9ubHkgYWN0aW9uOiBzdHJpbmcgPSAnYXdzOmV4ZWN1dGVTdGF0ZU1hY2hpbmUnO1xuICByZWFkb25seSBzdGF0ZU1hY2hpbmVBcm46IElTdHJpbmdWYXJpYWJsZTtcbiAgcmVhZG9ubHkgZXhlY3V0aW9uTmFtZT86IElTdHJpbmdWYXJpYWJsZTtcbiAgcmVhZG9ubHkgaW5wdXQ/OiBJU3RyaW5nVmFyaWFibGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEV4ZWN1dGVTdGF0ZU1hY2hpbmVTdGVwUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB0aGlzLnN0YXRlTWFjaGluZUFybiA9IHByb3BzLnN0YXRlTWFjaGluZUFybjtcbiAgICB0aGlzLmV4ZWN1dGlvbk5hbWUgPSBwcm9wcy5leGVjdXRpb25OYW1lO1xuICAgIHRoaXMuaW5wdXQgPSBwcm9wcy5pbnB1dDtcbiAgfVxuXG4gIC8qKlxuICAgICAqIE5vIG91dHB1dHMgZW1pdHRlZCBmcm9tIERlbGV0ZSBTdGFjayBzdGVwXG4gICAgICogQHJldHVybnMgW11cbiAgICAgKi9cbiAgcHVibGljIGxpc3RPdXRwdXRzKCk6IE91dHB1dFtdIHtcbiAgICByZXR1cm4gW107XG4gIH1cblxuICBwdWJsaWMgbGlzdElucHV0cygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgaW5wdXRzID0gW1xuICAgICAgdGhpcy5zdGF0ZU1hY2hpbmVBcm4sXG4gICAgICB0aGlzLmV4ZWN1dGlvbk5hbWUsXG4gICAgICB0aGlzLmlucHV0LFxuICAgIF07XG5cbiAgICByZXR1cm4gaW5wdXRzLmZsYXRNYXAoaSA9PiBpPy5yZXF1aXJlZElucHV0cygpID8/IFtdKTtcbiAgfVxuXG4gIHB1YmxpYyB0b1NzbUVudHJ5KCk6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICAgIHJldHVybiB0aGlzLnByZXBhcmVTc21FbnRyeShwcnVuZUFuZFRyYW5zZm9ybVJlY29yZCh7XG4gICAgICBzdGF0ZU1hY2hpbmVBcm46IHRoaXMuc3RhdGVNYWNoaW5lQXJuLFxuICAgICAgbmFtZTogdGhpcy5leGVjdXRpb25OYW1lLFxuICAgICAgaW5wdXQ6IHRoaXMuaW5wdXQsXG4gICAgfSwgeCA9PiB4LnByaW50KCkpKTtcbiAgfVxufSJdfQ==
@@ -69,5 +69,5 @@ class InvokeLambdaFunctionStep extends automation_step_1.AutomationStep {
69
69
  }
70
70
  exports.InvokeLambdaFunctionStep = InvokeLambdaFunctionStep;
71
71
  _a = JSII_RTTI_SYMBOL_1;
72
- InvokeLambdaFunctionStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep", version: "0.0.21" };
72
+ InvokeLambdaFunctionStep[_a] = { fqn: "@cdklabs/cdk-ssm-documents.InvokeLambdaFunctionStep", version: "0.0.22" };
73
73
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2tlLWxhbWJkYS1mdW5jdGlvbi1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3BhcmVudC1zdGVwcy9hdXRvbWF0aW9uL2ludm9rZS1sYW1iZGEtZnVuY3Rpb24tc3RlcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHNEQUFzRDtBQUt0RCx1RkFBaUY7QUFDakYsd0RBQXlFO0FBc0N6RTs7O0dBR0c7QUFDSCxNQUFhLHdCQUF5QixTQUFRLGdDQUFjO0lBVTFELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0M7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFWakIsV0FBTSxHQUFXLDBCQUEwQixDQUFDO1FBV25ELElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUN2QyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxDQUFDO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDekMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFTSxXQUFXO1FBQ2hCLE9BQU8sQ0FBQztnQkFDTixVQUFVLEVBQUUsd0JBQVksQ0FBQyxPQUFPO2dCQUNoQyxJQUFJLEVBQUUsWUFBWTtnQkFDbEIsUUFBUSxFQUFFLGNBQWM7YUFDekIsRUFBRTtnQkFDRCxVQUFVLEVBQUUsd0JBQVksQ0FBQyxNQUFNO2dCQUMvQixJQUFJLEVBQUUsZUFBZTtnQkFDckIsUUFBUSxFQUFFLGlCQUFpQjthQUM1QixFQUFFO2dCQUNELFVBQVUsRUFBRSx3QkFBWSxDQUFDLE1BQU07Z0JBQy9CLElBQUksRUFBRSxXQUFXO2dCQUNqQixRQUFRLEVBQUUsYUFBYTthQUN4QixFQUFFO2dCQUNELFVBQVUsRUFBRSx3QkFBWSxDQUFDLE1BQU07Z0JBQy9CLElBQUksRUFBRSxTQUFTO2dCQUNmLFFBQVEsRUFBRSxXQUFXO2FBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxNQUFNLEdBQUc7WUFDYixJQUFJLENBQUMsWUFBWTtZQUNqQixJQUFJLENBQUMsU0FBUztZQUNkLElBQUksQ0FBQyxjQUFjO1lBQ25CLElBQUksQ0FBQyxPQUFPO1lBQ1osSUFBSSxDQUFDLGFBQWE7WUFDbEIsSUFBSSxDQUFDLE9BQU87U0FDYixDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLGNBQWMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxVQUFVO1FBQ2YsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLG9EQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sY0FBYztRQUNuQixPQUFPO1lBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdEIsQ0FBQztJQUNKLENBQUM7O0FBcEVILDREQXFFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRGF0YVR5cGVFbnVtIH0gZnJvbSAnLi4vLi4vZG9tYWluL2RhdGEtdHlwZSc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICcuLi8uLi9kb21haW4vb3V0cHV0JztcbmltcG9ydCB7IElBd3NJbnZva2VyIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlL2F3cy1pbnZva2VyJztcbmltcG9ydCB7IElTdHJpbmdNYXBWYXJpYWJsZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZS92YXJpYWJsZXMvc3RyaW5nLW1hcC12YXJpYWJsZSc7XG5pbXBvcnQgeyBJU3RyaW5nVmFyaWFibGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2UvdmFyaWFibGVzL3N0cmluZy12YXJpYWJsZSc7XG5pbXBvcnQgeyBwcnVuZUFuZFRyYW5zZm9ybVJlY29yZCB9IGZyb20gJy4uLy4uL3V0aWxzL3BydW5lLWFuZC10cmFuc2Zvcm0tcmVjb3JkJztcbmltcG9ydCB7IEF1dG9tYXRpb25TdGVwLCBBdXRvbWF0aW9uU3RlcFByb3BzIH0gZnJvbSAnLi4vYXV0b21hdGlvbi1zdGVwJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBJbnZva2VMYW1iZGFGdW5jdGlvblN0ZXBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZva2VMYW1iZGFGdW5jdGlvblN0ZXBQcm9wcyBleHRlbmRzIEF1dG9tYXRpb25TdGVwUHJvcHMge1xuXG4gIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBMYW1iZGEgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gbXVzdCBleGlzdC5cbiAgICAgKi9cbiAgcmVhZG9ubHkgZnVuY3Rpb25OYW1lOiBJU3RyaW5nVmFyaWFibGU7XG5cbiAgLyoqXG4gICAgICogKE9wdGlvbmFsKSBUaGUgZnVuY3Rpb24gdmVyc2lvbiBvciBhbGlhcyBuYW1lLlxuICAgICAqL1xuICByZWFkb25seSBxdWFsaWZpZXI/OiBJU3RyaW5nVmFyaWFibGU7XG5cbiAgLyoqXG4gICAgICogKE9wdGlvbmFsKSBUaGUgaW52b2NhdGlvbiB0eXBlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBSZXF1ZXN0UmVzcG9uc2UuXG4gICAgICovXG4gIHJlYWRvbmx5IGludm9jYXRpb25UeXBlPzogSVN0cmluZ1ZhcmlhYmxlO1xuXG4gIC8qKlxuICAgICAqIChPcHRpb25hbCkgSWYgdGhlIGRlZmF1bHQgdmFsdWUgaXMgVGFpbCwgdGhlIGludm9jYXRpb24gdHlwZSBtdXN0IGJlIFJlcXVlc3RSZXNwb25zZS4gTGFtYmRhIHJldHVybnMgdGhlIGxhc3QgNCBLQiBvZiBsb2cgZGF0YSBwcm9kdWNlZCBieSB5b3VyIExhbWJkYSBmdW5jdGlvbiwgYmFzZTY0LWVuY29kZWQuXG4gICAgICovXG4gIHJlYWRvbmx5IGxvZ1R5cGU/OiBJU3RyaW5nVmFyaWFibGU7XG5cbiAgLyoqXG4gICAgICogKE9wdGlvbmFsKSBUaGUgY2xpZW50LXNwZWNpZmljIGluZm9ybWF0aW9uLlxuICAgICAqL1xuICByZWFkb25seSBjbGllbnRDb250ZXh0PzogSVN0cmluZ1ZhcmlhYmxlO1xuXG4gIC8qKlxuICAgICAqIChPcHRpb25hbCkgVGhlIEpTT04gaW5wdXQgZm9yIHlvdXIgTGFtYmRhIGZ1bmN0aW9uLlxuICAgICAqL1xuICByZWFkb25seSBwYXlsb2FkPzogSVN0cmluZ01hcFZhcmlhYmxlO1xufVxuXG4vKipcbiAqIEF1dG9tYXRpb25TdGVwIGltcGxlbWVuYXRpb24gZm9yIGF3czppbnZva2VMYW1iZGFGdW5jdGlvblxuICogaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL3N5c3RlbXMtbWFuYWdlci9sYXRlc3QvdXNlcmd1aWRlL2F1dG9tYXRpb24tYWN0aW9uLWxhbWIuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgSW52b2tlTGFtYmRhRnVuY3Rpb25TdGVwIGV4dGVuZHMgQXV0b21hdGlvblN0ZXAge1xuICByZWFkb25seSBhY3Rpb246IHN0cmluZyA9ICdhd3M6aW52b2tlTGFtYmRhRnVuY3Rpb24nO1xuICByZWFkb25seSBhd3NJbnZva2VyPzogSUF3c0ludm9rZXI7XG4gIHJlYWRvbmx5IGZ1bmN0aW9uTmFtZTogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBxdWFsaWZpZXI/OiBJU3RyaW5nVmFyaWFibGU7XG4gIHJlYWRvbmx5IGludm9jYXRpb25UeXBlPzogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBsb2dUeXBlPzogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBjbGllbnRDb250ZXh0PzogSVN0cmluZ1ZhcmlhYmxlO1xuICByZWFkb25seSBwYXlsb2FkPzogSVN0cmluZ01hcFZhcmlhYmxlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBJbnZva2VMYW1iZGFGdW5jdGlvblN0ZXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuICAgIHRoaXMuZnVuY3Rpb25OYW1lID0gcHJvcHMuZnVuY3Rpb25OYW1lO1xuICAgIHRoaXMucXVhbGlmaWVyID0gcHJvcHMucXVhbGlmaWVyO1xuICAgIHRoaXMuaW52b2NhdGlvblR5cGUgPSBwcm9wcy5pbnZvY2F0aW9uVHlwZTtcbiAgICB0aGlzLmxvZ1R5cGUgPSBwcm9wcy5sb2dUeXBlO1xuICAgIHRoaXMuY2xpZW50Q29udGV4dCA9IHByb3BzLmNsaWVudENvbnRleHQ7XG4gICAgdGhpcy5wYXlsb2FkID0gcHJvcHMucGF5bG9hZDtcbiAgfVxuXG4gIHB1YmxpYyBsaXN0T3V0cHV0cygpOiBPdXRwdXRbXSB7XG4gICAgcmV0dXJuIFt7XG4gICAgICBvdXRwdXRUeXBlOiBEYXRhVHlwZUVudW0uSU5URUdFUixcbiAgICAgIG5hbWU6ICdTdGF0dXNDb2RlJyxcbiAgICAgIHNlbGVjdG9yOiAnJC5TdGF0dXNDb2RlJyxcbiAgICB9LCB7XG4gICAgICBvdXRwdXRUeXBlOiBEYXRhVHlwZUVudW0uU1RSSU5HLFxuICAgICAgbmFtZTogJ0Z1bmN0aW9uRXJyb3InLFxuICAgICAgc2VsZWN0b3I6ICckLkZ1bmN0aW9uRXJyb3InLFxuICAgIH0sIHtcbiAgICAgIG91dHB1dFR5cGU6IERhdGFUeXBlRW51bS5TVFJJTkcsXG4gICAgICBuYW1lOiAnTG9nUmVzdWx0JyxcbiAgICAgIHNlbGVjdG9yOiAnJC5Mb2dSZXN1bHQnLFxuICAgIH0sIHtcbiAgICAgIG91dHB1dFR5cGU6IERhdGFUeXBlRW51bS5TVFJJTkcsXG4gICAgICBuYW1lOiAnUGF5bG9hZCcsXG4gICAgICBzZWxlY3RvcjogJyQuUGF5bG9hZCcsXG4gICAgfV07XG4gIH1cblxuICBwdWJsaWMgbGlzdElucHV0cygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgaW5wdXRzID0gW1xuICAgICAgdGhpcy5mdW5jdGlvbk5hbWUsXG4gICAgICB0aGlzLnF1YWxpZmllcixcbiAgICAgIHRoaXMuaW52b2NhdGlvblR5cGUsXG4gICAgICB0aGlzLmxvZ1R5cGUsXG4gICAgICB0aGlzLmNsaWVudENvbnRleHQsXG4gICAgICB0aGlzLnBheWxvYWQsXG4gICAgXTtcblxuICAgIHJldHVybiBpbnB1dHMuZmxhdE1hcChpID0+IGk/LnJlcXVpcmVkSW5wdXRzKCkgPz8gW10pO1xuICB9XG5cbiAgcHVibGljIHRvU3NtRW50cnkoKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgY29uc3QgZW50cnlNYXAgPSB0aGlzLmZvcm1hdElucHV0TWFwKCk7XG4gICAgY29uc3QgZW50cmllcyA9IHBydW5lQW5kVHJhbnNmb3JtUmVjb3JkKGVudHJ5TWFwLCB4ID0+IHgucHJpbnQoKSk7XG4gICAgcmV0dXJuIHN1cGVyLnByZXBhcmVTc21FbnRyeShlbnRyaWVzKTtcbiAgfVxuXG4gIHB1YmxpYyBmb3JtYXRJbnB1dE1hcCgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHtcbiAgICByZXR1cm4ge1xuICAgICAgRnVuY3Rpb25OYW1lOiB0aGlzLmZ1bmN0aW9uTmFtZSxcbiAgICAgIFF1YWxpZmllcjogdGhpcy5xdWFsaWZpZXIsXG4gICAgICBJbnZvY2F0aW9uVHlwZTogdGhpcy5pbnZvY2F0aW9uVHlwZSxcbiAgICAgIExvZ1R5cGU6IHRoaXMubG9nVHlwZSxcbiAgICAgIENsaWVudENvbnRleHQ6IHRoaXMuY2xpZW50Q29udGV4dCxcbiAgICAgIFBheWxvYWQ6IHRoaXMucGF5bG9hZCxcbiAgICB9O1xuICB9XG59Il19