@cdklabs/cdk-ssm-documents 0.0.19 → 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 (123) hide show
  1. package/.jsii +1416 -212
  2. package/API.md +2469 -519
  3. package/README.md +9 -6
  4. package/changelog.md +3 -3
  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/index.d.ts +2 -0
  21. package/lib/index.js +3 -1
  22. package/lib/interface/approve-hook.js +2 -2
  23. package/lib/interface/auth-method.js +3 -3
  24. package/lib/interface/aws-invoker.js +2 -2
  25. package/lib/interface/downloadable-content.js +8 -8
  26. package/lib/interface/environment.js +3 -3
  27. package/lib/interface/execute-automation-hook/api-execute-automation-hook.js +1 -1
  28. package/lib/interface/observer.js +1 -1
  29. package/lib/interface/on-failure.d.ts +75 -0
  30. package/lib/interface/on-failure.js +141 -0
  31. package/lib/interface/pause-hook.js +2 -2
  32. package/lib/interface/run-command-hook/api-run-command-hook.js +1 -1
  33. package/lib/interface/run-document-location.js +2 -2
  34. package/lib/interface/sleep-hook.js +2 -2
  35. package/lib/interface/step-ref.d.ts +21 -0
  36. package/lib/interface/step-ref.js +40 -0
  37. package/lib/interface/variables/boolean-variable.js +2 -2
  38. package/lib/interface/variables/map-list-variable.js +2 -2
  39. package/lib/interface/variables/number-variable.js +2 -2
  40. package/lib/interface/variables/secure-string-variable.js +4 -4
  41. package/lib/interface/variables/string-list-variable.js +2 -2
  42. package/lib/interface/variables/string-map-variable.js +2 -2
  43. package/lib/interface/variables/string-variable.js +4 -4
  44. package/lib/interface/variables/variable.js +2 -2
  45. package/lib/interface/webhook.js +1 -1
  46. package/lib/parent-steps/automation/approve-step.js +1 -1
  47. package/lib/parent-steps/automation/assert-aws-resource-step.js +1 -1
  48. package/lib/parent-steps/automation/aws-api-step.js +1 -1
  49. package/lib/parent-steps/automation/branch-step.js +1 -1
  50. package/lib/parent-steps/automation/change-instance-state-step.js +3 -3
  51. package/lib/parent-steps/automation/copy-image-step.js +1 -1
  52. package/lib/parent-steps/automation/create-image-step.js +1 -1
  53. package/lib/parent-steps/automation/create-stack-step.js +3 -3
  54. package/lib/parent-steps/automation/create-tags-step.js +3 -3
  55. package/lib/parent-steps/automation/delete-image-step.js +1 -1
  56. package/lib/parent-steps/automation/delete-stack-step.js +1 -1
  57. package/lib/parent-steps/automation/execute-automation-step.js +1 -1
  58. package/lib/parent-steps/automation/execute-script-step.d.ts +116 -39
  59. package/lib/parent-steps/automation/execute-script-step.js +157 -62
  60. package/lib/parent-steps/automation/execute-state-machine-step.js +1 -1
  61. package/lib/parent-steps/automation/invoke-lambda-function-step.js +1 -1
  62. package/lib/parent-steps/automation/invoke-webhook-step.js +1 -1
  63. package/lib/parent-steps/automation/pause-step.js +1 -1
  64. package/lib/parent-steps/automation/run-command-step.js +3 -3
  65. package/lib/parent-steps/automation/run-instance-step.js +1 -1
  66. package/lib/parent-steps/automation/sleep-step.js +1 -1
  67. package/lib/parent-steps/automation/wait-for-resource-step.js +1 -1
  68. package/lib/parent-steps/automation-step.d.ts +33 -24
  69. package/lib/parent-steps/automation-step.js +15 -10
  70. package/lib/parent-steps/command/applications-step.js +1 -1
  71. package/lib/parent-steps/command/configure-docker-step.js +1 -1
  72. package/lib/parent-steps/command/configure-package-step.js +1 -1
  73. package/lib/parent-steps/command/domain-join-step.js +1 -1
  74. package/lib/parent-steps/command/download-content-step.js +1 -1
  75. package/lib/parent-steps/command/ps-module-step.js +1 -1
  76. package/lib/parent-steps/command/run-docker-action-step.js +1 -1
  77. package/lib/parent-steps/command/run-document-step.js +1 -1
  78. package/lib/parent-steps/command/run-powershell-script-step.js +1 -1
  79. package/lib/parent-steps/command/run-shell-script-step.js +1 -1
  80. package/lib/parent-steps/command/software-inventory-step.js +1 -1
  81. package/lib/parent-steps/command/update-agent-step.js +1 -1
  82. package/lib/parent-steps/command/update-ssm-agent-step.js +1 -1
  83. package/lib/parent-steps/command-step.js +1 -1
  84. package/lib/parent-steps/step.js +1 -1
  85. package/lib/patterns/automation/composite-step.js +2 -2
  86. package/lib/patterns/automation/reboot-instance-and-wait.js +1 -1
  87. package/lib/patterns/automation/string-step.js +8 -7
  88. package/lib/patterns/document/string-document.js +1 -1
  89. package/lib/patterns/document/timed-document.js +10 -10
  90. package/lib/samples/hello-world.js +7 -8
  91. package/lib/simulation/automation/approve-simulation.js +1 -1
  92. package/lib/simulation/automation/assert-aws-resource-simulation.js +1 -1
  93. package/lib/simulation/automation/automation-simulation-base.js +1 -1
  94. package/lib/simulation/automation/aws-api-simulation.js +1 -1
  95. package/lib/simulation/automation/branch-simulation.js +1 -1
  96. package/lib/simulation/automation/change-instance-state-simulation.js +1 -1
  97. package/lib/simulation/automation/copy-image-simulation.js +1 -1
  98. package/lib/simulation/automation/create-image-simulation.js +1 -1
  99. package/lib/simulation/automation/create-stack-simulation.js +1 -1
  100. package/lib/simulation/automation/create-tags-simulation.js +1 -1
  101. package/lib/simulation/automation/delete-image-simulation.js +1 -1
  102. package/lib/simulation/automation/delete-stack-simulation.js +1 -1
  103. package/lib/simulation/automation/execute-script-simulation.js +5 -11
  104. package/lib/simulation/automation/execute-state-machine-simulation.js +1 -1
  105. package/lib/simulation/automation/invoke-lambda-function-simulation.js +1 -1
  106. package/lib/simulation/automation/invoke-webhook-simulation.js +1 -1
  107. package/lib/simulation/automation/pause-simulation.js +1 -1
  108. package/lib/simulation/automation/run-command-simulation.js +1 -1
  109. package/lib/simulation/automation/run-instance-simulation.js +1 -1
  110. package/lib/simulation/automation/sleep-simulation.js +1 -1
  111. package/lib/simulation/automation/wait-for-resource-simulation.js +1 -1
  112. package/lib/simulation/automation-step-simulation.js +18 -8
  113. package/lib/simulation/command/command-simulation-base.js +1 -1
  114. package/lib/simulation/command/ps-module-simulation.js +1 -1
  115. package/lib/simulation/command/run-powershell-script-simulation.js +1 -1
  116. package/lib/simulation/command/run-shell-script-simulation.js +1 -1
  117. package/lib/simulation/command-step-simulation.js +1 -1
  118. package/lib/simulation/document/automation-simulation.js +3 -3
  119. package/lib/simulation/document/command-simulation.js +1 -1
  120. package/lib/simulation/simulation.js +1 -1
  121. package/package.json +1 -1
  122. package/releasetag.txt +1 -1
  123. package/version.txt +1 -1
package/.jsii CHANGED
@@ -2798,7 +2798,7 @@
2798
2798
  },
2799
2799
  "name": "@cdklabs/cdk-ssm-documents",
2800
2800
  "readme": {
2801
- "markdown": "# SSM Document CDK\nThis library provides a code-based utility for implementing SSM Documents. The SSM Document objects can be used to print YAML/JSON documents and to mimic document processing locally.\n\nThis library abstracts SSM Documents at a high level, with each step as well as the document itself being objects. The properties needed to build these objects correlate to the settings that apply to them, making them simple to make.\nThis library can be used to test your document locally before deploying it to SSM.\n\nSince the library is written in JSII, it can be exported to other languages that support JSII (Java, Python).\n\nThis is what you'd use if you wanted to:\n1. The ability to test without deploying resources or executing an actual SSM on AWS.\n2. Reusability of steps between documents by reusing existing items\n3. Create logical higher-level groupings of reusable groups of steps (\"Patterns\")\n4. Simple to use interface for writing documents\n5. Import existing documents from a file (or string) and mimic them locally to test them.\n\n## Usage\n\n### Document Creation\n\nTypescript usage (Execute AWS API Step)...\nThe below creates the AutomationDocument in an AWS CDK stack.\n```ts\nimport { AutomationDocument } from './automation-document';\n\nexport class HelloWorld extends Stack {\n constructor(app: Construct, id: string) {\n super(app, id);\n\n // Create AutomationDocument\n const myDoc = new AutomationDocument(this, \"MyDoc\", {\n documentFormat: DocumentFormat.JSON,\n documentName: \"MyDoc\",\n docInputs: [Input.ofTypeString('MyInput', { defaultValue: 'a' })],\n });\n\n // Define your steps...\n myDoc.addStep(new PauseStep(this, \"MyPauseStep\", { name: \"MyPauseStep\" }));\n\n myDoc.addStep(new ExecuteScriptStep(this, \"MyExecuteStep\", {\n name: \"step1\",\n handlerName: \"my_func\",\n language: ScriptLanguage.PYTHON,\n fullPathToCode: resolve(\"test/test_file.py\"),\n // OR .inlineCode(\"def my_func(args, context):\\n return {'MyReturn': args['MyInput'] + '-suffix'}\\n\")\n outputs: [{\n outputType: DataTypeEnum.STRING,\n name: \"MyFuncOut\",\n selector: \"$.Payload.MyReturn\"\n }],\n inputs: [\"MyInput\"]\n }));\n }\n}\n```\n\n### Document JSON/YAML Export as YAML/JSON\n\nYou can deploy the above document using CDK.\nTo print the above document object as a JSON (or YAML), do the following:\n\n```ts\nconst myDocJson = myDoc.print(); // Print YAML by setting the documentFormat to YAML\n```\n\n\n### Document Simulation\n\nTo run the document object in simulation mode, use the below. Simulation mode does NOT hit the SSM API, rather it mimics the execution that will happen in an SSM execution. The run happens locally and allows you to mock the calls to external services (AWS APIs for example) or to invoke those services using your local credentials.\n\n```ts\nimport { Simulation } from './simulation';\n\nconst myDocJson = Simulation.ofAutomation(myDoc, {}).simulate({ MyInput: \"FooBar\" });\n```\n\n### Command Documents\n\nBelow is an example of how to use the library to create Command documents.\nSimulation for command documents is not yet supported for all command plugins.\nYou can use a Docker image/container as a playground for testing the Command document execution for the supported plugins.\n\nIn this example there is a complete CDK stack. Notice that the `CommandDocument` is saved as a field so that it can be tested from the test code.\n```typescript\nexport class HelloCdkStack extends Stack {\n readonly myCommandDoc: CommandDocument;\n constructor(scope: Construct, id: string, props?: StackProps) {\n super(scope, id, props);\n this.myCommandDoc = new CommandDocument(this, \"MyCommandDoc\", {\n docInputs: [Input.ofTypeString('FirstCommand', { defaultValue: 'a' })],\n })\n const runScriptStep = new RunShellScriptStep(this, \"MyShellScript\", {\n runCommand: [\n StringVariable.of(\"FirstCommand\"),\n HardCodedString.of(\"mkdir asdf\"),\n ],\n });\n this.myCommandDoc.addStep(runScriptStep);\n }\n}\n```\n\nBelow is an example of how you would run a simulation against the above `CommandDocument`.\n\nCurrently, `bash` must be available in the container or the executions against the docker will not succeed.\n\n```typescript\ntest('Test command doc', () => {\n const app = new cdk.App();\n const stack = new HelloCdk.HelloCdkStack(app, 'MyTestStack');\n // 1. $ docker pull amazonlinux\n // 2. $ docker run -di amazonlinux\n const simulation = Simulation.ofCommand(stack.myCommandDoc, {\n simulationPlatform: Platform.LINUX,\n environment: DockerEnvironment.fromContainer('MY_CONTAINER_ID')\n });\n simulation.simulate({FirstCommand: 'mkdir foobar'})\n // 3. The document should run the first command (create 'foobar') and create file 'asdf'\n // 4. $ docker exec -it <container name> bash\n // 5. Ensure that 'asdf' and 'foobar' were written to /tmp\n});\n```\n\n## Patterns (High-Level Constructs)\n\nIn typical CDK style, you can assemble often used groups of steps into higher level Constructs.\n\nConsider if you typically create AutomationDocuments that start with logging the time and end with logging the total time taken. You can create a high-level Automation Document and extend that when you implement an Automation.\n\nSee the `TimedDocument` class to see such implementation.\n\nOr consider the case of multiple steps that are always run together such as rebooting and instance and waiting for it to be active.\n\nThe below example is copied from the `RebootInstanceAndWait` class:\n\n```ts\nexport class RebootInstanceAndWait extends CompositeAutomationStep {\n\n readonly reboot: AwsApiStep;\n readonly describe: WaitForResourceStep;\n\n constructor(scope: Construct, id: string, instanceId: IStringVariable) {\n super(scope, id);\n this.reboot = new AwsApiStep(this, 'RebootInstances', {\n service: 'ec2',\n pascalCaseApi: 'RebootInstances',\n apiParams: { InstanceIds: [instanceId] },\n outputs: [],\n });\n this.describe = new WaitForResourceStep(this, 'DescribeInstances', {\n service: 'ec2',\n pascalCaseApi: 'DescribeInstances',\n apiParams: { InstanceIds: [instanceId] },\n selector: '$.Reservations[0].Instances[0].State.Name',\n desiredValues: ['running'],\n });\n }\n\n addToDocument(doc: AutomationDocumentBuilder): void {\n doc.addStep(this.reboot);\n doc.addStep(this.describe);\n }\n}\n\n```\n\nNow, you can use `RebootInstanceAndWait` as a step in a document and the child steps will be included.\n\n## Existing Documents\n\nDo you have an existing document that you want to convert to code and/or test locally using the simulation?\n\n### Import Existing Document\n\nHere is an example of how you can import an existing document and then simulate it locally with mocked AWS resources:\n\n```ts\n// Initialize Mocks\nconst sleeper = new MockSleep();\nconst awsInvoker = new MockAwsInvoker();\nawsInvoker.whenThen(\n // when invoked with...\n {awsApi: 'listBuckets', awsParams: {}, service: 'S3'},\n // then response with...\n {Owner: {ID: \"BUCKET_ID\"}})\n\n// ======> Create document from file <=======\nconst stack: Stack = new Stack();\nconst myAutomationDoc = StringDocument.fromFile(stack, \"MyAutomationDoc\", 'test/myAutomation.json', {\n // ======================\n});\n\n// Execute simulation\nconst simOutput = Simulation.ofAutomation(myAutomationDoc, {\n sleepHook: sleeper,\n awsInvoker: awsInvoker\n}).simulate({});\n\n// Assert simulation result\nassert.deepEqual(awsInvoker.previousInvocations, [\n { awsApi: 'listBuckets', awsParams: {}, service: 'S3' }]);\nassert.deepEqual(sleeper.sleepMilliInvocations, [3000]);\nassert.deepEqual(simOutput.outputs['simulationSteps'], ['MySleep', 'GetBucketId']);\n```\n\n### Import Existing Steps\n\nYou can also grab a string step (or steps) and import them as CDK step constructs.\nThis can be used to convert existing documents into CDK with each step defined separately.\nDoing so will allow you do modify steps and reuse them in other documents.\n\nHere's a simple example of a sleep step copy and pasted from its original yaml:\n\n```ts\nStringStep.fromYaml(this, `\n name: sleep\n action: aws:sleep\n inputs:\n Duration: PT0M\n`, {});\n```\n\nThe above will return the CDK construct SleepStep.\n\n## What is Planned?\n\nThis library currently contains AutomationDocument steps.\n\nAlso planned is the ability to run Command documents.\n\nStay tuned!\n\n## Related Projects\n\n- https://github.com/udondan/cdk-ssm-document\n\n## Security\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\nThis project is licensed under the Apache-2.0 License.\n\n"
2801
+ "markdown": "# SSM Document CDK\nThis library provides a code-based utility for implementing SSM Documents. The SSM Document objects can be used to print YAML/JSON documents and to mimic document processing locally.\n\nThis library abstracts SSM Documents at a high level, with each step as well as the document itself being objects. The properties needed to build these objects correlate to the settings that apply to them, making them simple to make.\nThis library can be used to test your document locally before deploying it to SSM.\n\nSince the library is written in JSII, it can be exported to other languages that support JSII (Java, Python).\n\nThis is what you'd use if you wanted to:\n1. The ability to test without deploying resources or executing an actual SSM on AWS.\n2. Reusability of steps between documents by reusing existing items\n3. Create logical higher-level groupings of reusable groups of steps (\"Patterns\")\n4. Simple to use interface for writing documents\n5. Import existing documents from a file (or string) and mimic them locally to test them.\n\n## Usage\n\n### Document Creation\n\nTypescript usage (Execute AWS API Step)...\nThe below creates the AutomationDocument in an AWS CDK stack.\n```ts\nimport { AutomationDocument } from './automation-document';\n\nexport class HelloWorld extends Stack {\n constructor(app: Construct, id: string) {\n super(app, id);\n\n // Create AutomationDocument\n const myDoc = new AutomationDocument(this, \"MyDoc\", {\n documentFormat: DocumentFormat.JSON,\n documentName: \"MyDoc\",\n docInputs: [Input.ofTypeString('MyInput', { defaultValue: 'a' })],\n });\n\n // Define your steps...\n myDoc.addStep(new PauseStep(this, \"MyPauseStep\", {\n name: \"MyPauseStep\",\n explicitNextStep: StepRef.fromName(\"step1\") // Optional (will default to next added step)\n }));\n\n myDoc.addStep(new ExecuteScriptStep(this, \"MyExecuteStep\", {\n name: \"step1\",\n language: ScriptLanguage.python(PythonVersion.VERSION_3_6, 'my_func'),\n code: ScriptCode.fromFile(resolve(\"test/test_file.py\")),\n // OR ScriptCode.inline(\"def my_func(args, context):\\n return {'MyReturn': args['MyInput'] + '-suffix'}\\n\"),\n outputs: [{\n outputType: DataTypeEnum.STRING,\n name: \"MyFuncOut\",\n selector: \"$.Payload.MyReturn\"\n }],\n onFailure: OnFailure.abort(),\n inputPayload: { MyInput: StringVariable.of('MyInput') },\n }));\n }\n}\n```\n\n### Document JSON/YAML Export as YAML/JSON\n\nYou can deploy the above document using CDK.\nTo print the above document object as a JSON (or YAML), do the following:\n\n```ts\nconst myDocJson = myDoc.print(); // Print YAML by setting the documentFormat to YAML\n```\n\n\n### Document Simulation\n\nTo run the document object in simulation mode, use the below. Simulation mode does NOT hit the SSM API, rather it mimics the execution that will happen in an SSM execution. The run happens locally and allows you to mock the calls to external services (AWS APIs for example) or to invoke those services using your local credentials.\n\n```ts\nimport { Simulation } from './simulation';\n\nconst myDocJson = Simulation.ofAutomation(myDoc, {}).simulate({ MyInput: \"FooBar\" });\n```\n\n### Command Documents\n\nBelow is an example of how to use the library to create Command documents.\nSimulation for command documents is not yet supported for all command plugins.\nYou can use a Docker image/container as a playground for testing the Command document execution for the supported plugins.\n\nIn this example there is a complete CDK stack. Notice that the `CommandDocument` is saved as a field so that it can be tested from the test code.\n```typescript\nexport class HelloCdkStack extends Stack {\n readonly myCommandDoc: CommandDocument;\n constructor(scope: Construct, id: string, props?: StackProps) {\n super(scope, id, props);\n this.myCommandDoc = new CommandDocument(this, \"MyCommandDoc\", {\n docInputs: [Input.ofTypeString('FirstCommand', { defaultValue: 'a' })],\n })\n const runScriptStep = new RunShellScriptStep(this, \"MyShellScript\", {\n runCommand: [\n StringVariable.of(\"FirstCommand\"),\n HardCodedString.of(\"mkdir asdf\"),\n ],\n });\n this.myCommandDoc.addStep(runScriptStep);\n }\n}\n```\n\nBelow is an example of how you would run a simulation against the above `CommandDocument`.\n\nCurrently, `bash` must be available in the container or the executions against the docker will not succeed.\n\n```typescript\ntest('Test command doc', () => {\n const app = new cdk.App();\n const stack = new HelloCdk.HelloCdkStack(app, 'MyTestStack');\n // 1. $ docker pull amazonlinux\n // 2. $ docker run -di amazonlinux\n const simulation = Simulation.ofCommand(stack.myCommandDoc, {\n simulationPlatform: Platform.LINUX,\n environment: DockerEnvironment.fromContainer('MY_CONTAINER_ID')\n });\n simulation.simulate({FirstCommand: 'mkdir foobar'})\n // 3. The document should run the first command (create 'foobar') and create file 'asdf'\n // 4. $ docker exec -it <container name> bash\n // 5. Ensure that 'asdf' and 'foobar' were written to /tmp\n});\n```\n\n## Patterns (High-Level Constructs)\n\nIn typical CDK style, you can assemble often used groups of steps into higher level Constructs.\n\nConsider if you typically create AutomationDocuments that start with logging the time and end with logging the total time taken. You can create a high-level Automation Document and extend that when you implement an Automation.\n\nSee the `TimedDocument` class to see such implementation.\n\nOr consider the case of multiple steps that are always run together such as rebooting and instance and waiting for it to be active.\n\nThe below example is copied from the `RebootInstanceAndWait` class:\n\n```ts\nexport class RebootInstanceAndWait extends CompositeAutomationStep {\n\n readonly reboot: AwsApiStep;\n readonly describe: WaitForResourceStep;\n\n constructor(scope: Construct, id: string, instanceId: IStringVariable) {\n super(scope, id);\n this.reboot = new AwsApiStep(this, 'RebootInstances', {\n service: 'ec2',\n pascalCaseApi: 'RebootInstances',\n apiParams: { InstanceIds: [instanceId] },\n outputs: [],\n });\n this.describe = new WaitForResourceStep(this, 'DescribeInstances', {\n service: 'ec2',\n pascalCaseApi: 'DescribeInstances',\n apiParams: { InstanceIds: [instanceId] },\n selector: '$.Reservations[0].Instances[0].State.Name',\n desiredValues: ['running'],\n });\n }\n\n addToDocument(doc: AutomationDocumentBuilder): void {\n doc.addStep(this.reboot);\n doc.addStep(this.describe);\n }\n}\n\n```\n\nNow, you can use `RebootInstanceAndWait` as a step in a document and the child steps will be included.\n\n## Existing Documents\n\nDo you have an existing document that you want to convert to code and/or test locally using the simulation?\n\n### Import Existing Document\n\nHere is an example of how you can import an existing document and then simulate it locally with mocked AWS resources:\n\n```ts\n// Initialize Mocks\nconst sleeper = new MockSleep();\nconst awsInvoker = new MockAwsInvoker();\nawsInvoker.whenThen(\n // when invoked with...\n {awsApi: 'listBuckets', awsParams: {}, service: 'S3'},\n // then response with...\n {Owner: {ID: \"BUCKET_ID\"}})\n\n// ======> Create document from file <=======\nconst stack: Stack = new Stack();\nconst myAutomationDoc = StringDocument.fromFile(stack, \"MyAutomationDoc\", 'test/myAutomation.json', {\n // ======================\n});\n\n// Execute simulation\nconst simOutput = Simulation.ofAutomation(myAutomationDoc, {\n sleepHook: sleeper,\n awsInvoker: awsInvoker\n}).simulate({});\n\n// Assert simulation result\nassert.deepEqual(awsInvoker.previousInvocations, [\n { awsApi: 'listBuckets', awsParams: {}, service: 'S3' }]);\nassert.deepEqual(sleeper.sleepMilliInvocations, [3000]);\nassert.deepEqual(simOutput.outputs['simulationSteps'], ['MySleep', 'GetBucketId']);\n```\n\n### Import Existing Steps\n\nYou can also grab a string step (or steps) and import them as CDK step constructs.\nThis can be used to convert existing documents into CDK with each step defined separately.\nDoing so will allow you do modify steps and reuse them in other documents.\n\nHere's a simple example of a sleep step copy and pasted from its original yaml:\n\n```ts\nStringStep.fromYaml(this, `\n name: sleep\n action: aws:sleep\n inputs:\n Duration: PT0M\n`, {});\n```\n\nThe above will return the CDK construct SleepStep.\n\n## What is Planned?\n\nThis library currently contains AutomationDocument steps.\n\nAlso planned is the ability to run Command documents.\n\nStay tuned!\n\n## Related Projects\n\n- https://github.com/udondan/cdk-ssm-document\n\n## Security\nSee [CONTRIBUTING](CONTRIBUTING.md#security-issue-notifications) for more information.\n\n## License\nThis project is licensed under the Apache-2.0 License.\n\n"
2802
2802
  },
2803
2803
  "repository": {
2804
2804
  "type": "git",
@@ -2826,6 +2826,68 @@
2826
2826
  }
2827
2827
  },
2828
2828
  "types": {
2829
+ "@cdklabs/cdk-ssm-documents.Abort": {
2830
+ "assembly": "@cdklabs/cdk-ssm-documents",
2831
+ "base": "@cdklabs/cdk-ssm-documents.OnCancel",
2832
+ "docs": {
2833
+ "stability": "stable"
2834
+ },
2835
+ "fqn": "@cdklabs/cdk-ssm-documents.Abort",
2836
+ "initializer": {
2837
+ "docs": {
2838
+ "stability": "stable"
2839
+ }
2840
+ },
2841
+ "kind": "class",
2842
+ "locationInModule": {
2843
+ "filename": "src/interface/on-failure.ts",
2844
+ "line": 122
2845
+ },
2846
+ "methods": [
2847
+ {
2848
+ "docs": {
2849
+ "stability": "stable"
2850
+ },
2851
+ "locationInModule": {
2852
+ "filename": "src/interface/on-failure.ts",
2853
+ "line": 124
2854
+ },
2855
+ "name": "stepToInvoke",
2856
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
2857
+ "parameters": [
2858
+ {
2859
+ "name": "_currentStep",
2860
+ "type": {
2861
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
2862
+ }
2863
+ }
2864
+ ],
2865
+ "returns": {
2866
+ "type": {
2867
+ "primitive": "string"
2868
+ }
2869
+ }
2870
+ },
2871
+ {
2872
+ "docs": {
2873
+ "stability": "stable"
2874
+ },
2875
+ "locationInModule": {
2876
+ "filename": "src/interface/on-failure.ts",
2877
+ "line": 128
2878
+ },
2879
+ "name": "toSsmValue",
2880
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
2881
+ "returns": {
2882
+ "type": {
2883
+ "primitive": "string"
2884
+ }
2885
+ }
2886
+ }
2887
+ ],
2888
+ "name": "Abort",
2889
+ "symbolId": "src/interface/on-failure:Abort"
2890
+ },
2829
2891
  "@cdklabs/cdk-ssm-documents.ActionVariable": {
2830
2892
  "assembly": "@cdklabs/cdk-ssm-documents",
2831
2893
  "base": "@cdklabs/cdk-ssm-documents.StringVariable",
@@ -5105,7 +5167,7 @@
5105
5167
  },
5106
5168
  "locationInModule": {
5107
5169
  "filename": "src/parent-steps/automation-step.ts",
5108
- "line": 65
5170
+ "line": 75
5109
5171
  },
5110
5172
  "parameters": [
5111
5173
  {
@@ -5134,7 +5196,7 @@
5134
5196
  "kind": "class",
5135
5197
  "locationInModule": {
5136
5198
  "filename": "src/parent-steps/automation-step.ts",
5137
- "line": 53
5199
+ "line": 62
5138
5200
  },
5139
5201
  "methods": [
5140
5202
  {
@@ -5143,7 +5205,7 @@
5143
5205
  },
5144
5206
  "locationInModule": {
5145
5207
  "filename": "src/parent-steps/automation-step.ts",
5146
- "line": 74
5208
+ "line": 85
5147
5209
  },
5148
5210
  "name": "addToDocument",
5149
5211
  "overrides": "@cdklabs/cdk-ssm-documents.IAutomationComponent",
@@ -5162,7 +5224,7 @@
5162
5224
  },
5163
5225
  "locationInModule": {
5164
5226
  "filename": "src/parent-steps/automation-step.ts",
5165
- "line": 78
5227
+ "line": 89
5166
5228
  },
5167
5229
  "name": "prepareSsmEntry",
5168
5230
  "parameters": [
@@ -5196,7 +5258,7 @@
5196
5258
  },
5197
5259
  "locationInModule": {
5198
5260
  "filename": "src/parent-steps/automation-step.ts",
5199
- "line": 125
5261
+ "line": 139
5200
5262
  },
5201
5263
  "name": "variables",
5202
5264
  "returns": {
@@ -5221,7 +5283,7 @@
5221
5283
  "immutable": true,
5222
5284
  "locationInModule": {
5223
5285
  "filename": "src/parent-steps/automation-step.ts",
5224
- "line": 55
5286
+ "line": 64
5225
5287
  },
5226
5288
  "name": "DEFAULT_MAX_ATTEMPTS",
5227
5289
  "static": true,
@@ -5237,7 +5299,7 @@
5237
5299
  "immutable": true,
5238
5300
  "locationInModule": {
5239
5301
  "filename": "src/parent-steps/automation-step.ts",
5240
- "line": 54
5302
+ "line": 63
5241
5303
  },
5242
5304
  "name": "DEFAULT_TIMEOUT",
5243
5305
  "static": true,
@@ -5252,7 +5314,7 @@
5252
5314
  "immutable": true,
5253
5315
  "locationInModule": {
5254
5316
  "filename": "src/parent-steps/automation-step.ts",
5255
- "line": 58
5317
+ "line": 67
5256
5318
  },
5257
5319
  "name": "isEnd",
5258
5320
  "type": {
@@ -5266,7 +5328,7 @@
5266
5328
  "immutable": true,
5267
5329
  "locationInModule": {
5268
5330
  "filename": "src/parent-steps/automation-step.ts",
5269
- "line": 56
5331
+ "line": 65
5270
5332
  },
5271
5333
  "name": "maxAttempts",
5272
5334
  "type": {
@@ -5280,11 +5342,11 @@
5280
5342
  "immutable": true,
5281
5343
  "locationInModule": {
5282
5344
  "filename": "src/parent-steps/automation-step.ts",
5283
- "line": 57
5345
+ "line": 69
5284
5346
  },
5285
- "name": "timeoutSeconds",
5347
+ "name": "onCancel",
5286
5348
  "type": {
5287
- "primitive": "number"
5349
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
5288
5350
  }
5289
5351
  },
5290
5352
  {
@@ -5294,12 +5356,11 @@
5294
5356
  "immutable": true,
5295
5357
  "locationInModule": {
5296
5358
  "filename": "src/parent-steps/automation-step.ts",
5297
- "line": 60
5359
+ "line": 68
5298
5360
  },
5299
- "name": "onCancel",
5300
- "optional": true,
5361
+ "name": "onFailure",
5301
5362
  "type": {
5302
- "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
5363
+ "fqn": "@cdklabs/cdk-ssm-documents.OnFailure"
5303
5364
  }
5304
5365
  },
5305
5366
  {
@@ -5309,12 +5370,26 @@
5309
5370
  "immutable": true,
5310
5371
  "locationInModule": {
5311
5372
  "filename": "src/parent-steps/automation-step.ts",
5312
- "line": 59
5373
+ "line": 66
5313
5374
  },
5314
- "name": "onFailure",
5375
+ "name": "timeoutSeconds",
5376
+ "type": {
5377
+ "primitive": "number"
5378
+ }
5379
+ },
5380
+ {
5381
+ "docs": {
5382
+ "stability": "stable"
5383
+ },
5384
+ "immutable": true,
5385
+ "locationInModule": {
5386
+ "filename": "src/parent-steps/automation-step.ts",
5387
+ "line": 70
5388
+ },
5389
+ "name": "explicitNextStep",
5315
5390
  "optional": true,
5316
5391
  "type": {
5317
- "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
5392
+ "fqn": "@cdklabs/cdk-ssm-documents.StepRef"
5318
5393
  }
5319
5394
  },
5320
5395
  {
@@ -5323,7 +5398,7 @@
5323
5398
  },
5324
5399
  "locationInModule": {
5325
5400
  "filename": "src/parent-steps/automation-step.ts",
5326
- "line": 63
5401
+ "line": 73
5327
5402
  },
5328
5403
  "name": "allStepsInExecution",
5329
5404
  "optional": true,
@@ -5342,7 +5417,7 @@
5342
5417
  },
5343
5418
  "locationInModule": {
5344
5419
  "filename": "src/parent-steps/automation-step.ts",
5345
- "line": 62
5420
+ "line": 72
5346
5421
  },
5347
5422
  "name": "nextStep",
5348
5423
  "optional": true,
@@ -5366,10 +5441,29 @@
5366
5441
  "kind": "interface",
5367
5442
  "locationInModule": {
5368
5443
  "filename": "src/parent-steps/automation-step.ts",
5369
- "line": 9
5444
+ "line": 11
5370
5445
  },
5371
5446
  "name": "AutomationStepProps",
5372
5447
  "properties": [
5448
+ {
5449
+ "abstract": true,
5450
+ "docs": {
5451
+ "default": "will implicitly choose the next step in the sequence that the steps are added to the document.",
5452
+ "remarks": "https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#nextProp",
5453
+ "stability": "stable",
5454
+ "summary": "(Optional) explicit step to go to after this step completes."
5455
+ },
5456
+ "immutable": true,
5457
+ "locationInModule": {
5458
+ "filename": "src/parent-steps/automation-step.ts",
5459
+ "line": 50
5460
+ },
5461
+ "name": "explicitNextStep",
5462
+ "optional": true,
5463
+ "type": {
5464
+ "fqn": "@cdklabs/cdk-ssm-documents.StepRef"
5465
+ }
5466
+ },
5373
5467
  {
5374
5468
  "abstract": true,
5375
5469
  "docs": {
@@ -5380,7 +5474,7 @@
5380
5474
  "immutable": true,
5381
5475
  "locationInModule": {
5382
5476
  "filename": "src/parent-steps/automation-step.ts",
5383
- "line": 15
5477
+ "line": 17
5384
5478
  },
5385
5479
  "name": "isEnd",
5386
5480
  "optional": true,
@@ -5398,7 +5492,7 @@
5398
5492
  "immutable": true,
5399
5493
  "locationInModule": {
5400
5494
  "filename": "src/parent-steps/automation-step.ts",
5401
- "line": 34
5495
+ "line": 36
5402
5496
  },
5403
5497
  "name": "maxAttempts",
5404
5498
  "optional": true,
@@ -5411,17 +5505,17 @@
5411
5505
  "docs": {
5412
5506
  "default": "undefined",
5413
5507
  "stability": "stable",
5414
- "summary": "(Optional) Step to jump to in the event that this step is cancelled."
5508
+ "summary": "(Optional) Fallback action to take in the event that this step is cancelled."
5415
5509
  },
5416
5510
  "immutable": true,
5417
5511
  "locationInModule": {
5418
5512
  "filename": "src/parent-steps/automation-step.ts",
5419
- "line": 27
5513
+ "line": 29
5420
5514
  },
5421
5515
  "name": "onCancel",
5422
5516
  "optional": true,
5423
5517
  "type": {
5424
- "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
5518
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
5425
5519
  }
5426
5520
  },
5427
5521
  {
@@ -5429,17 +5523,17 @@
5429
5523
  "docs": {
5430
5524
  "default": "undefined",
5431
5525
  "stability": "stable",
5432
- "summary": "(Optional) Step to jump to in the event that this step fails."
5526
+ "summary": "(Optional) Fallback action to take in the event that this step fails."
5433
5527
  },
5434
5528
  "immutable": true,
5435
5529
  "locationInModule": {
5436
5530
  "filename": "src/parent-steps/automation-step.ts",
5437
- "line": 21
5531
+ "line": 23
5438
5532
  },
5439
5533
  "name": "onFailure",
5440
5534
  "optional": true,
5441
5535
  "type": {
5442
- "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
5536
+ "fqn": "@cdklabs/cdk-ssm-documents.OnFailure"
5443
5537
  }
5444
5538
  },
5445
5539
  {
@@ -5453,7 +5547,7 @@
5453
5547
  "immutable": true,
5454
5548
  "locationInModule": {
5455
5549
  "filename": "src/parent-steps/automation-step.ts",
5456
- "line": 41
5550
+ "line": 43
5457
5551
  },
5458
5552
  "name": "timeoutSeconds",
5459
5553
  "optional": true,
@@ -5540,7 +5634,7 @@
5540
5634
  },
5541
5635
  "locationInModule": {
5542
5636
  "filename": "src/simulation/automation-step-simulation.ts",
5543
- "line": 196
5637
+ "line": 206
5544
5638
  },
5545
5639
  "name": "prependSelf",
5546
5640
  "parameters": [
@@ -8922,6 +9016,68 @@
8922
9016
  ],
8923
9017
  "symbolId": "src/parent-steps/command/configure-package-step:ConfigurePackageStepProps"
8924
9018
  },
9019
+ "@cdklabs/cdk-ssm-documents.Continue": {
9020
+ "assembly": "@cdklabs/cdk-ssm-documents",
9021
+ "base": "@cdklabs/cdk-ssm-documents.OnFailure",
9022
+ "docs": {
9023
+ "stability": "stable"
9024
+ },
9025
+ "fqn": "@cdklabs/cdk-ssm-documents.Continue",
9026
+ "initializer": {
9027
+ "docs": {
9028
+ "stability": "stable"
9029
+ }
9030
+ },
9031
+ "kind": "class",
9032
+ "locationInModule": {
9033
+ "filename": "src/interface/on-failure.ts",
9034
+ "line": 133
9035
+ },
9036
+ "methods": [
9037
+ {
9038
+ "docs": {
9039
+ "stability": "stable"
9040
+ },
9041
+ "locationInModule": {
9042
+ "filename": "src/interface/on-failure.ts",
9043
+ "line": 135
9044
+ },
9045
+ "name": "stepToInvoke",
9046
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
9047
+ "parameters": [
9048
+ {
9049
+ "name": "currentStep",
9050
+ "type": {
9051
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
9052
+ }
9053
+ }
9054
+ ],
9055
+ "returns": {
9056
+ "type": {
9057
+ "primitive": "string"
9058
+ }
9059
+ }
9060
+ },
9061
+ {
9062
+ "docs": {
9063
+ "stability": "stable"
9064
+ },
9065
+ "locationInModule": {
9066
+ "filename": "src/interface/on-failure.ts",
9067
+ "line": 139
9068
+ },
9069
+ "name": "toSsmValue",
9070
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
9071
+ "returns": {
9072
+ "type": {
9073
+ "primitive": "string"
9074
+ }
9075
+ }
9076
+ }
9077
+ ],
9078
+ "name": "Continue",
9079
+ "symbolId": "src/interface/on-failure:Continue"
9080
+ },
8925
9081
  "@cdklabs/cdk-ssm-documents.CopyImageSimulation": {
8926
9082
  "assembly": "@cdklabs/cdk-ssm-documents",
8927
9083
  "base": "@cdklabs/cdk-ssm-documents.AutomationSimulationBase",
@@ -13734,7 +13890,7 @@
13734
13890
  },
13735
13891
  "locationInModule": {
13736
13892
  "filename": "src/simulation/automation/execute-script-simulation.ts",
13737
- "line": 13
13893
+ "line": 12
13738
13894
  },
13739
13895
  "parameters": [
13740
13896
  {
@@ -13748,7 +13904,7 @@
13748
13904
  "kind": "class",
13749
13905
  "locationInModule": {
13750
13906
  "filename": "src/simulation/automation/execute-script-simulation.ts",
13751
- "line": 9
13907
+ "line": 8
13752
13908
  },
13753
13909
  "methods": [
13754
13910
  {
@@ -13759,7 +13915,7 @@
13759
13915
  },
13760
13916
  "locationInModule": {
13761
13917
  "filename": "src/simulation/automation/execute-script-simulation.ts",
13762
- "line": 22
13918
+ "line": 21
13763
13919
  },
13764
13920
  "name": "executeStep",
13765
13921
  "overrides": "@cdklabs/cdk-ssm-documents.AutomationSimulationBase",
@@ -13797,7 +13953,7 @@
13797
13953
  "immutable": true,
13798
13954
  "locationInModule": {
13799
13955
  "filename": "src/simulation/automation/execute-script-simulation.ts",
13800
- "line": 11
13956
+ "line": 10
13801
13957
  },
13802
13958
  "name": "action",
13803
13959
  "type": {
@@ -13811,7 +13967,7 @@
13811
13967
  "immutable": true,
13812
13968
  "locationInModule": {
13813
13969
  "filename": "src/simulation/automation/execute-script-simulation.ts",
13814
- "line": 12
13970
+ "line": 11
13815
13971
  },
13816
13972
  "name": "executeScriptStep",
13817
13973
  "type": {
@@ -13835,7 +13991,7 @@
13835
13991
  },
13836
13992
  "locationInModule": {
13837
13993
  "filename": "src/parent-steps/automation/execute-script-step.ts",
13838
- "line": 85
13994
+ "line": 242
13839
13995
  },
13840
13996
  "parameters": [
13841
13997
  {
@@ -13861,33 +14017,9 @@
13861
14017
  "kind": "class",
13862
14018
  "locationInModule": {
13863
14019
  "filename": "src/parent-steps/automation/execute-script-step.ts",
13864
- "line": 62
14020
+ "line": 234
13865
14021
  },
13866
14022
  "methods": [
13867
- {
13868
- "docs": {
13869
- "stability": "stable"
13870
- },
13871
- "locationInModule": {
13872
- "filename": "src/parent-steps/automation/execute-script-step.ts",
13873
- "line": 64
13874
- },
13875
- "name": "getLanguage",
13876
- "parameters": [
13877
- {
13878
- "name": "runtime",
13879
- "type": {
13880
- "primitive": "string"
13881
- }
13882
- }
13883
- ],
13884
- "returns": {
13885
- "type": {
13886
- "fqn": "@cdklabs/cdk-ssm-documents.ScriptLanguage"
13887
- }
13888
- },
13889
- "static": true
13890
- },
13891
14023
  {
13892
14024
  "docs": {
13893
14025
  "stability": "stable",
@@ -13895,7 +14027,7 @@
13895
14027
  },
13896
14028
  "locationInModule": {
13897
14029
  "filename": "src/parent-steps/automation/execute-script-step.ts",
13898
- "line": 124
14030
+ "line": 259
13899
14031
  },
13900
14032
  "name": "listInputs",
13901
14033
  "overrides": "@cdklabs/cdk-ssm-documents.Step",
@@ -13917,7 +14049,7 @@
13917
14049
  },
13918
14050
  "locationInModule": {
13919
14051
  "filename": "src/parent-steps/automation/execute-script-step.ts",
13920
- "line": 120
14052
+ "line": 255
13921
14053
  },
13922
14054
  "name": "listOutputs",
13923
14055
  "overrides": "@cdklabs/cdk-ssm-documents.Step",
@@ -13939,7 +14071,7 @@
13939
14071
  },
13940
14072
  "locationInModule": {
13941
14073
  "filename": "src/parent-steps/automation/execute-script-step.ts",
13942
- "line": 128
14074
+ "line": 263
13943
14075
  },
13944
14076
  "name": "toSsmEntry",
13945
14077
  "overrides": "@cdklabs/cdk-ssm-documents.Step",
@@ -13964,7 +14096,7 @@
13964
14096
  "immutable": true,
13965
14097
  "locationInModule": {
13966
14098
  "filename": "src/parent-steps/automation/execute-script-step.ts",
13967
- "line": 82
14099
+ "line": 240
13968
14100
  },
13969
14101
  "name": "action",
13970
14102
  "overrides": "@cdklabs/cdk-ssm-documents.Step",
@@ -13979,25 +14111,11 @@
13979
14111
  "immutable": true,
13980
14112
  "locationInModule": {
13981
14113
  "filename": "src/parent-steps/automation/execute-script-step.ts",
13982
- "line": 78
13983
- },
13984
- "name": "fullPathToCode",
13985
- "type": {
13986
- "primitive": "string"
13987
- }
13988
- },
13989
- {
13990
- "docs": {
13991
- "stability": "stable"
13992
- },
13993
- "immutable": true,
13994
- "locationInModule": {
13995
- "filename": "src/parent-steps/automation/execute-script-step.ts",
13996
- "line": 79
14114
+ "line": 237
13997
14115
  },
13998
- "name": "handlerName",
14116
+ "name": "code",
13999
14117
  "type": {
14000
- "primitive": "string"
14118
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptCode"
14001
14119
  }
14002
14120
  },
14003
14121
  {
@@ -14007,15 +14125,15 @@
14007
14125
  "immutable": true,
14008
14126
  "locationInModule": {
14009
14127
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14010
- "line": 81
14128
+ "line": 239
14011
14129
  },
14012
14130
  "name": "inputs",
14013
14131
  "type": {
14014
14132
  "collection": {
14015
14133
  "elementtype": {
14016
- "primitive": "string"
14134
+ "fqn": "@cdklabs/cdk-ssm-documents.IGenericVariable"
14017
14135
  },
14018
- "kind": "array"
14136
+ "kind": "map"
14019
14137
  }
14020
14138
  }
14021
14139
  },
@@ -14026,7 +14144,7 @@
14026
14144
  "immutable": true,
14027
14145
  "locationInModule": {
14028
14146
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14029
- "line": 77
14147
+ "line": 236
14030
14148
  },
14031
14149
  "name": "language",
14032
14150
  "type": {
@@ -14040,7 +14158,7 @@
14040
14158
  "immutable": true,
14041
14159
  "locationInModule": {
14042
14160
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14043
- "line": 80
14161
+ "line": 238
14044
14162
  },
14045
14163
  "name": "outputs",
14046
14164
  "type": {
@@ -14069,100 +14187,63 @@
14069
14187
  "kind": "interface",
14070
14188
  "locationInModule": {
14071
14189
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14072
- "line": 17
14190
+ "line": 201
14073
14191
  },
14074
14192
  "name": "ExecuteScriptStepProps",
14075
14193
  "properties": [
14076
14194
  {
14077
14195
  "abstract": true,
14078
14196
  "docs": {
14079
- "default": "[]",
14197
+ "remarks": "String will be used to produce function in yaml/json.\nSimulation will execute the function in this code using the language specified.",
14080
14198
  "stability": "stable",
14081
- "summary": "(Optional) Inputs that the function needs in order to execute."
14199
+ "summary": "Inline code to be executed."
14082
14200
  },
14083
14201
  "immutable": true,
14084
14202
  "locationInModule": {
14085
14203
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14086
- "line": 55
14204
+ "line": 212
14087
14205
  },
14088
- "name": "inputs",
14206
+ "name": "code",
14089
14207
  "type": {
14090
- "collection": {
14091
- "elementtype": {
14092
- "primitive": "string"
14093
- },
14094
- "kind": "array"
14095
- }
14208
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptCode"
14096
14209
  }
14097
14210
  },
14098
14211
  {
14099
14212
  "abstract": true,
14100
14213
  "docs": {
14214
+ "remarks": "This can be used to pass input data to the script.\nThe key of this dict is the variable name that will be available to the code.\nThe value is the Variable object.",
14101
14215
  "stability": "stable",
14102
- "summary": "(Required) Language used to execute the script."
14216
+ "summary": "InputPayload that will be passed to the first parameter of the handler."
14103
14217
  },
14104
14218
  "immutable": true,
14105
14219
  "locationInModule": {
14106
14220
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14107
- "line": 22
14221
+ "line": 227
14108
14222
  },
14109
- "name": "language",
14223
+ "name": "inputPayload",
14110
14224
  "type": {
14111
- "fqn": "@cdklabs/cdk-ssm-documents.ScriptLanguage"
14225
+ "collection": {
14226
+ "elementtype": {
14227
+ "fqn": "@cdklabs/cdk-ssm-documents.IGenericVariable"
14228
+ },
14229
+ "kind": "map"
14230
+ }
14112
14231
  }
14113
14232
  },
14114
14233
  {
14115
14234
  "abstract": true,
14116
14235
  "docs": {
14117
- "remarks": "File is parsed to produce yaml/json.\nSimulation will execute this file using the language specified.\nEither this OR inclineCode must be provided.",
14118
14236
  "stability": "stable",
14119
- "summary": "Full path to the code to execute."
14120
- },
14121
- "immutable": true,
14122
- "locationInModule": {
14123
- "filename": "src/parent-steps/automation/execute-script-step.ts",
14124
- "line": 29
14125
- },
14126
- "name": "fullPathToCode",
14127
- "optional": true,
14128
- "type": {
14129
- "primitive": "string"
14130
- }
14131
- },
14132
- {
14133
- "abstract": true,
14134
- "docs": {
14135
- "default": "script_handler",
14136
- "stability": "stable",
14137
- "summary": "(Optional) Function name in fullPathToCode file to use as entry point for script handler."
14138
- },
14139
- "immutable": true,
14140
- "locationInModule": {
14141
- "filename": "src/parent-steps/automation/execute-script-step.ts",
14142
- "line": 42
14143
- },
14144
- "name": "handlerName",
14145
- "optional": true,
14146
- "type": {
14147
- "primitive": "string"
14148
- }
14149
- },
14150
- {
14151
- "abstract": true,
14152
- "docs": {
14153
- "remarks": "String will be used to produce function in yaml/json.\nSimulation will execute the function in this string using the language specified.\nEither this OR fullPathToCode must be provided.",
14154
- "stability": "stable",
14155
- "summary": "Inline code to be executed."
14237
+ "summary": "(Required) Language used to execute the script."
14156
14238
  },
14157
14239
  "immutable": true,
14158
14240
  "locationInModule": {
14159
14241
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14160
- "line": 36
14242
+ "line": 206
14161
14243
  },
14162
- "name": "inlineCode",
14163
- "optional": true,
14244
+ "name": "language",
14164
14245
  "type": {
14165
- "primitive": "string"
14246
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptLanguage"
14166
14247
  }
14167
14248
  },
14168
14249
  {
@@ -14176,7 +14257,7 @@
14176
14257
  "immutable": true,
14177
14258
  "locationInModule": {
14178
14259
  "filename": "src/parent-steps/automation/execute-script-step.ts",
14179
- "line": 49
14260
+ "line": 219
14180
14261
  },
14181
14262
  "name": "outputs",
14182
14263
  "optional": true,
@@ -14557,6 +14638,98 @@
14557
14638
  ],
14558
14639
  "symbolId": "src/parent-steps/automation/execute-state-machine-step:ExecuteStateMachineStepProps"
14559
14640
  },
14641
+ "@cdklabs/cdk-ssm-documents.FileScriptCode": {
14642
+ "assembly": "@cdklabs/cdk-ssm-documents",
14643
+ "base": "@cdklabs/cdk-ssm-documents.ScriptCode",
14644
+ "docs": {
14645
+ "stability": "stable"
14646
+ },
14647
+ "fqn": "@cdklabs/cdk-ssm-documents.FileScriptCode",
14648
+ "initializer": {
14649
+ "docs": {
14650
+ "stability": "stable"
14651
+ },
14652
+ "locationInModule": {
14653
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
14654
+ "line": 75
14655
+ },
14656
+ "parameters": [
14657
+ {
14658
+ "name": "fullPath",
14659
+ "type": {
14660
+ "primitive": "string"
14661
+ }
14662
+ }
14663
+ ]
14664
+ },
14665
+ "kind": "class",
14666
+ "locationInModule": {
14667
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
14668
+ "line": 73
14669
+ },
14670
+ "methods": [
14671
+ {
14672
+ "docs": {
14673
+ "stability": "stable"
14674
+ },
14675
+ "locationInModule": {
14676
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
14677
+ "line": 79
14678
+ },
14679
+ "name": "codeAsString",
14680
+ "overrides": "@cdklabs/cdk-ssm-documents.ScriptCode",
14681
+ "returns": {
14682
+ "type": {
14683
+ "primitive": "string"
14684
+ }
14685
+ }
14686
+ },
14687
+ {
14688
+ "docs": {
14689
+ "remarks": "Otherwise, create a file with the specified suffix.",
14690
+ "stability": "stable",
14691
+ "summary": "If there is a file for this code, return it."
14692
+ },
14693
+ "locationInModule": {
14694
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
14695
+ "line": 83
14696
+ },
14697
+ "name": "createOrGetFile",
14698
+ "overrides": "@cdklabs/cdk-ssm-documents.ScriptCode",
14699
+ "parameters": [
14700
+ {
14701
+ "name": "_suffix",
14702
+ "type": {
14703
+ "primitive": "string"
14704
+ }
14705
+ }
14706
+ ],
14707
+ "returns": {
14708
+ "type": {
14709
+ "primitive": "string"
14710
+ }
14711
+ }
14712
+ }
14713
+ ],
14714
+ "name": "FileScriptCode",
14715
+ "properties": [
14716
+ {
14717
+ "docs": {
14718
+ "stability": "stable"
14719
+ },
14720
+ "immutable": true,
14721
+ "locationInModule": {
14722
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
14723
+ "line": 74
14724
+ },
14725
+ "name": "fullPath",
14726
+ "type": {
14727
+ "primitive": "string"
14728
+ }
14729
+ }
14730
+ ],
14731
+ "symbolId": "src/parent-steps/automation/execute-script-step:FileScriptCode"
14732
+ },
14560
14733
  "@cdklabs/cdk-ssm-documents.GenericVariable": {
14561
14734
  "abstract": true,
14562
14735
  "assembly": "@cdklabs/cdk-ssm-documents",
@@ -16992,7 +17165,7 @@
16992
17165
  },
16993
17166
  "locationInModule": {
16994
17167
  "filename": "src/samples/hello-world.ts",
16995
- "line": 11
17168
+ "line": 16
16996
17169
  },
16997
17170
  "parameters": [
16998
17171
  {
@@ -17012,7 +17185,7 @@
17012
17185
  "kind": "class",
17013
17186
  "locationInModule": {
17014
17187
  "filename": "src/samples/hello-world.ts",
17015
- "line": 10
17188
+ "line": 15
17016
17189
  },
17017
17190
  "name": "HelloWorld",
17018
17191
  "symbolId": "src/samples/hello-world:HelloWorld"
@@ -18402,6 +18575,98 @@
18402
18575
  "name": "IWebhook",
18403
18576
  "symbolId": "src/interface/webhook:IWebhook"
18404
18577
  },
18578
+ "@cdklabs/cdk-ssm-documents.InlineScriptCode": {
18579
+ "assembly": "@cdklabs/cdk-ssm-documents",
18580
+ "base": "@cdklabs/cdk-ssm-documents.ScriptCode",
18581
+ "docs": {
18582
+ "stability": "stable"
18583
+ },
18584
+ "fqn": "@cdklabs/cdk-ssm-documents.InlineScriptCode",
18585
+ "initializer": {
18586
+ "docs": {
18587
+ "stability": "stable"
18588
+ },
18589
+ "locationInModule": {
18590
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
18591
+ "line": 59
18592
+ },
18593
+ "parameters": [
18594
+ {
18595
+ "name": "inlineCode",
18596
+ "type": {
18597
+ "primitive": "string"
18598
+ }
18599
+ }
18600
+ ]
18601
+ },
18602
+ "kind": "class",
18603
+ "locationInModule": {
18604
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
18605
+ "line": 48
18606
+ },
18607
+ "methods": [
18608
+ {
18609
+ "docs": {
18610
+ "stability": "stable"
18611
+ },
18612
+ "locationInModule": {
18613
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
18614
+ "line": 64
18615
+ },
18616
+ "name": "codeAsString",
18617
+ "overrides": "@cdklabs/cdk-ssm-documents.ScriptCode",
18618
+ "returns": {
18619
+ "type": {
18620
+ "primitive": "string"
18621
+ }
18622
+ }
18623
+ },
18624
+ {
18625
+ "docs": {
18626
+ "remarks": "Otherwise, create a file with the specified suffix.",
18627
+ "stability": "stable",
18628
+ "summary": "If there is a file for this code, return it."
18629
+ },
18630
+ "locationInModule": {
18631
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
18632
+ "line": 68
18633
+ },
18634
+ "name": "createOrGetFile",
18635
+ "overrides": "@cdklabs/cdk-ssm-documents.ScriptCode",
18636
+ "parameters": [
18637
+ {
18638
+ "name": "suffix",
18639
+ "type": {
18640
+ "primitive": "string"
18641
+ }
18642
+ }
18643
+ ],
18644
+ "returns": {
18645
+ "type": {
18646
+ "primitive": "string"
18647
+ }
18648
+ }
18649
+ }
18650
+ ],
18651
+ "name": "InlineScriptCode",
18652
+ "properties": [
18653
+ {
18654
+ "docs": {
18655
+ "stability": "stable"
18656
+ },
18657
+ "immutable": true,
18658
+ "locationInModule": {
18659
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
18660
+ "line": 58
18661
+ },
18662
+ "name": "inlineCode",
18663
+ "type": {
18664
+ "primitive": "string"
18665
+ }
18666
+ }
18667
+ ],
18668
+ "symbolId": "src/parent-steps/automation/execute-script-step:InlineScriptCode"
18669
+ },
18405
18670
  "@cdklabs/cdk-ssm-documents.Input": {
18406
18671
  "abstract": true,
18407
18672
  "assembly": "@cdklabs/cdk-ssm-documents",
@@ -21469,65 +21734,313 @@
21469
21734
  "name": "NumberVariable",
21470
21735
  "symbolId": "src/interface/variables/number-variable:NumberVariable"
21471
21736
  },
21472
- "@cdklabs/cdk-ssm-documents.OnFailureVariable": {
21737
+ "@cdklabs/cdk-ssm-documents.OnCancel": {
21738
+ "abstract": true,
21473
21739
  "assembly": "@cdklabs/cdk-ssm-documents",
21474
- "base": "@cdklabs/cdk-ssm-documents.StringVariable",
21740
+ "base": "@cdklabs/cdk-ssm-documents.OnFailure",
21475
21741
  "docs": {
21476
- "stability": "stable"
21742
+ "remarks": "See docs here: https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#canProp\nThe supported actions are abort (default) or invoking a specific step.\nThis behavior can be adopted by using the static methods available on OnCancel.",
21743
+ "stability": "stable",
21744
+ "summary": "Steps can specify an action to take onCancel."
21477
21745
  },
21478
- "fqn": "@cdklabs/cdk-ssm-documents.OnFailureVariable",
21746
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel",
21479
21747
  "initializer": {
21480
21748
  "docs": {
21481
21749
  "stability": "stable"
21482
- },
21483
- "locationInModule": {
21484
- "filename": "src/interface/variables/variable.ts",
21485
- "line": 72
21486
- },
21487
- "parameters": [
21488
- {
21489
- "name": "reference",
21490
- "type": {
21491
- "primitive": "string"
21492
- }
21493
- }
21494
- ]
21750
+ }
21495
21751
  },
21496
- "interfaces": [
21497
- "@cdklabs/cdk-ssm-documents.IOnFailureVariable"
21498
- ],
21499
21752
  "kind": "class",
21500
21753
  "locationInModule": {
21501
- "filename": "src/parent-steps/automation/create-stack-step.ts",
21502
- "line": 52
21754
+ "filename": "src/interface/on-failure.ts",
21755
+ "line": 49
21503
21756
  },
21504
21757
  "methods": [
21505
21758
  {
21506
21759
  "docs": {
21507
- "stability": "stable"
21760
+ "remarks": "(This is the default behavior.)",
21761
+ "stability": "stable",
21762
+ "summary": "To abort execution if a cancellation occurs during execution of the current step."
21508
21763
  },
21509
21764
  "locationInModule": {
21510
- "filename": "src/parent-steps/automation/create-stack-step.ts",
21765
+ "filename": "src/interface/on-failure.ts",
21766
+ "line": 71
21767
+ },
21768
+ "name": "abort",
21769
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
21770
+ "returns": {
21771
+ "type": {
21772
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
21773
+ }
21774
+ },
21775
+ "static": true
21776
+ },
21777
+ {
21778
+ "docs": {
21779
+ "remarks": "Provide the step object to execute for the onCancel action.\nIf you don't have a handle to the step object, use the invokeStepByName function.\nNot all action types may be invoked during cancellation. See documentation referenced on this class.",
21780
+ "stability": "stable",
21781
+ "summary": "Invoke a specific step."
21782
+ },
21783
+ "locationInModule": {
21784
+ "filename": "src/interface/on-failure.ts",
21511
21785
  "line": 55
21512
21786
  },
21513
- "name": "assertType",
21514
- "overrides": "@cdklabs/cdk-ssm-documents.StringVariable",
21787
+ "name": "invokeStep",
21788
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
21515
21789
  "parameters": [
21516
21790
  {
21517
- "name": "value",
21791
+ "name": "step",
21518
21792
  "type": {
21519
- "primitive": "any"
21793
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
21520
21794
  }
21521
21795
  }
21522
21796
  ],
21523
- "protected": true
21524
- }
21525
- ],
21526
- "name": "OnFailureVariable",
21527
- "properties": [
21528
- {
21529
- "docs": {
21530
- "stability": "stable"
21797
+ "returns": {
21798
+ "type": {
21799
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
21800
+ }
21801
+ },
21802
+ "static": true
21803
+ },
21804
+ {
21805
+ "docs": {
21806
+ "remarks": "Not all action types may be invoked during cancellation. See documentation referenced on this class.",
21807
+ "stability": "stable",
21808
+ "summary": "Invoke a specific step by the step name for the OnCancel action."
21809
+ },
21810
+ "locationInModule": {
21811
+ "filename": "src/interface/on-failure.ts",
21812
+ "line": 63
21813
+ },
21814
+ "name": "invokeStepByName",
21815
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
21816
+ "parameters": [
21817
+ {
21818
+ "name": "stepName",
21819
+ "type": {
21820
+ "primitive": "string"
21821
+ }
21822
+ }
21823
+ ],
21824
+ "returns": {
21825
+ "type": {
21826
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
21827
+ }
21828
+ },
21829
+ "static": true
21830
+ }
21831
+ ],
21832
+ "name": "OnCancel",
21833
+ "symbolId": "src/interface/on-failure:OnCancel"
21834
+ },
21835
+ "@cdklabs/cdk-ssm-documents.OnFailure": {
21836
+ "abstract": true,
21837
+ "assembly": "@cdklabs/cdk-ssm-documents",
21838
+ "docs": {
21839
+ "remarks": "See docs here: https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-actions.html#failProp\nThe supported actions are abort (default), continue, or invoking a specific step.\nThis behavior can be adopted by using the static methods available on OnFailure.",
21840
+ "stability": "stable",
21841
+ "summary": "Steps can specify an action to take onFailure."
21842
+ },
21843
+ "fqn": "@cdklabs/cdk-ssm-documents.OnFailure",
21844
+ "initializer": {
21845
+ "docs": {
21846
+ "stability": "stable"
21847
+ }
21848
+ },
21849
+ "kind": "class",
21850
+ "locationInModule": {
21851
+ "filename": "src/interface/on-failure.ts",
21852
+ "line": 9
21853
+ },
21854
+ "methods": [
21855
+ {
21856
+ "docs": {
21857
+ "remarks": "(This is the default behavior.)",
21858
+ "stability": "stable",
21859
+ "summary": "To abort execution if a failure occurs during execution of the current step."
21860
+ },
21861
+ "locationInModule": {
21862
+ "filename": "src/interface/on-failure.ts",
21863
+ "line": 29
21864
+ },
21865
+ "name": "abort",
21866
+ "returns": {
21867
+ "type": {
21868
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
21869
+ }
21870
+ },
21871
+ "static": true
21872
+ },
21873
+ {
21874
+ "docs": {
21875
+ "stability": "stable",
21876
+ "summary": "To continue execution of the subsequent step if a failure occurs during execution of the current step."
21877
+ },
21878
+ "locationInModule": {
21879
+ "filename": "src/interface/on-failure.ts",
21880
+ "line": 36
21881
+ },
21882
+ "name": "continue",
21883
+ "returns": {
21884
+ "type": {
21885
+ "fqn": "@cdklabs/cdk-ssm-documents.OnFailure"
21886
+ }
21887
+ },
21888
+ "static": true
21889
+ },
21890
+ {
21891
+ "docs": {
21892
+ "remarks": "Provide the step object to execute for the onFailure action.\nIf you don't have a handle to the step object, use the invokeStepByName function.",
21893
+ "stability": "stable",
21894
+ "summary": "Invoke a specific step."
21895
+ },
21896
+ "locationInModule": {
21897
+ "filename": "src/interface/on-failure.ts",
21898
+ "line": 14
21899
+ },
21900
+ "name": "invokeStep",
21901
+ "parameters": [
21902
+ {
21903
+ "name": "step",
21904
+ "type": {
21905
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
21906
+ }
21907
+ }
21908
+ ],
21909
+ "returns": {
21910
+ "type": {
21911
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
21912
+ }
21913
+ },
21914
+ "static": true
21915
+ },
21916
+ {
21917
+ "docs": {
21918
+ "stability": "stable",
21919
+ "summary": "Invoke a specific step by the step name for the OnFailure action."
21920
+ },
21921
+ "locationInModule": {
21922
+ "filename": "src/interface/on-failure.ts",
21923
+ "line": 21
21924
+ },
21925
+ "name": "invokeStepByName",
21926
+ "parameters": [
21927
+ {
21928
+ "name": "stepName",
21929
+ "type": {
21930
+ "primitive": "string"
21931
+ }
21932
+ }
21933
+ ],
21934
+ "returns": {
21935
+ "type": {
21936
+ "fqn": "@cdklabs/cdk-ssm-documents.OnCancel"
21937
+ }
21938
+ },
21939
+ "static": true
21940
+ },
21941
+ {
21942
+ "abstract": true,
21943
+ "docs": {
21944
+ "stability": "stable"
21945
+ },
21946
+ "locationInModule": {
21947
+ "filename": "src/interface/on-failure.ts",
21948
+ "line": 39
21949
+ },
21950
+ "name": "stepToInvoke",
21951
+ "parameters": [
21952
+ {
21953
+ "name": "currentStep",
21954
+ "type": {
21955
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
21956
+ }
21957
+ }
21958
+ ],
21959
+ "returns": {
21960
+ "type": {
21961
+ "primitive": "string"
21962
+ }
21963
+ }
21964
+ },
21965
+ {
21966
+ "abstract": true,
21967
+ "docs": {
21968
+ "stability": "stable"
21969
+ },
21970
+ "locationInModule": {
21971
+ "filename": "src/interface/on-failure.ts",
21972
+ "line": 40
21973
+ },
21974
+ "name": "toSsmValue",
21975
+ "returns": {
21976
+ "type": {
21977
+ "primitive": "string"
21978
+ }
21979
+ }
21980
+ }
21981
+ ],
21982
+ "name": "OnFailure",
21983
+ "symbolId": "src/interface/on-failure:OnFailure"
21984
+ },
21985
+ "@cdklabs/cdk-ssm-documents.OnFailureVariable": {
21986
+ "assembly": "@cdklabs/cdk-ssm-documents",
21987
+ "base": "@cdklabs/cdk-ssm-documents.StringVariable",
21988
+ "docs": {
21989
+ "stability": "stable"
21990
+ },
21991
+ "fqn": "@cdklabs/cdk-ssm-documents.OnFailureVariable",
21992
+ "initializer": {
21993
+ "docs": {
21994
+ "stability": "stable"
21995
+ },
21996
+ "locationInModule": {
21997
+ "filename": "src/interface/variables/variable.ts",
21998
+ "line": 72
21999
+ },
22000
+ "parameters": [
22001
+ {
22002
+ "name": "reference",
22003
+ "type": {
22004
+ "primitive": "string"
22005
+ }
22006
+ }
22007
+ ]
22008
+ },
22009
+ "interfaces": [
22010
+ "@cdklabs/cdk-ssm-documents.IOnFailureVariable"
22011
+ ],
22012
+ "kind": "class",
22013
+ "locationInModule": {
22014
+ "filename": "src/parent-steps/automation/create-stack-step.ts",
22015
+ "line": 52
22016
+ },
22017
+ "methods": [
22018
+ {
22019
+ "docs": {
22020
+ "stability": "stable"
22021
+ },
22022
+ "locationInModule": {
22023
+ "filename": "src/parent-steps/automation/create-stack-step.ts",
22024
+ "line": 55
22025
+ },
22026
+ "name": "assertType",
22027
+ "overrides": "@cdklabs/cdk-ssm-documents.StringVariable",
22028
+ "parameters": [
22029
+ {
22030
+ "name": "value",
22031
+ "type": {
22032
+ "primitive": "any"
22033
+ }
22034
+ }
22035
+ ],
22036
+ "protected": true
22037
+ }
22038
+ ],
22039
+ "name": "OnFailureVariable",
22040
+ "properties": [
22041
+ {
22042
+ "docs": {
22043
+ "stability": "stable"
21531
22044
  },
21532
22045
  "immutable": true,
21533
22046
  "locationInModule": {
@@ -22936,6 +23449,42 @@
22936
23449
  ],
22937
23450
  "symbolId": "src/parent-steps/command/ps-module-step:PsModuleStepProps"
22938
23451
  },
23452
+ "@cdklabs/cdk-ssm-documents.PythonVersion": {
23453
+ "assembly": "@cdklabs/cdk-ssm-documents",
23454
+ "docs": {
23455
+ "remarks": "Simulation will use local python version.",
23456
+ "stability": "stable",
23457
+ "summary": "Python runtime to use when writing SSM Document."
23458
+ },
23459
+ "fqn": "@cdklabs/cdk-ssm-documents.PythonVersion",
23460
+ "kind": "enum",
23461
+ "locationInModule": {
23462
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
23463
+ "line": 192
23464
+ },
23465
+ "members": [
23466
+ {
23467
+ "docs": {
23468
+ "stability": "stable"
23469
+ },
23470
+ "name": "VERSION_3_6"
23471
+ },
23472
+ {
23473
+ "docs": {
23474
+ "stability": "stable"
23475
+ },
23476
+ "name": "VERSION_3_7"
23477
+ },
23478
+ {
23479
+ "docs": {
23480
+ "stability": "stable"
23481
+ },
23482
+ "name": "VERSION_3_8"
23483
+ }
23484
+ ],
23485
+ "name": "PythonVersion",
23486
+ "symbolId": "src/parent-steps/automation/execute-script-step:PythonVersion"
23487
+ },
22939
23488
  "@cdklabs/cdk-ssm-documents.RebootInstanceAndWait": {
22940
23489
  "assembly": "@cdklabs/cdk-ssm-documents",
22941
23490
  "base": "@cdklabs/cdk-ssm-documents.CompositeAutomationStep",
@@ -27088,28 +27637,325 @@
27088
27637
  ],
27089
27638
  "symbolId": "src/interface/downloadable-content:SSMDocumentContent"
27090
27639
  },
27091
- "@cdklabs/cdk-ssm-documents.ScriptLanguage": {
27640
+ "@cdklabs/cdk-ssm-documents.ScriptCode": {
27641
+ "abstract": true,
27092
27642
  "assembly": "@cdklabs/cdk-ssm-documents",
27093
27643
  "docs": {
27094
- "stability": "stable"
27644
+ "remarks": "See \"script\" parameter here:\nhttps://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html\nAttachments are not yet supported.",
27645
+ "stability": "stable",
27646
+ "summary": "The code to run for the execution."
27095
27647
  },
27096
- "fqn": "@cdklabs/cdk-ssm-documents.ScriptLanguage",
27097
- "kind": "enum",
27648
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptCode",
27649
+ "initializer": {
27650
+ "docs": {
27651
+ "stability": "stable"
27652
+ }
27653
+ },
27654
+ "kind": "class",
27098
27655
  "locationInModule": {
27099
27656
  "filename": "src/parent-steps/automation/execute-script-step.ts",
27100
- "line": 10
27657
+ "line": 18
27101
27658
  },
27102
- "members": [
27659
+ "methods": [
27103
27660
  {
27104
27661
  "docs": {
27105
- "stability": "stable"
27662
+ "remarks": "File is parsed to produce yaml/json.\nSimulation will execute this file using the language specified.\n(Attachments not yet supported)",
27663
+ "stability": "stable",
27664
+ "summary": "Full path to the code to execute."
27106
27665
  },
27107
- "name": "PYTHON"
27108
- }
27109
- ],
27110
- "name": "ScriptLanguage",
27111
- "symbolId": "src/parent-steps/automation/execute-script-step:ScriptLanguage"
27112
- },
27666
+ "locationInModule": {
27667
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27668
+ "line": 31
27669
+ },
27670
+ "name": "fromFile",
27671
+ "parameters": [
27672
+ {
27673
+ "name": "fullPath",
27674
+ "type": {
27675
+ "primitive": "string"
27676
+ }
27677
+ }
27678
+ ],
27679
+ "returns": {
27680
+ "type": {
27681
+ "fqn": "@cdklabs/cdk-ssm-documents.FileScriptCode"
27682
+ }
27683
+ },
27684
+ "static": true
27685
+ },
27686
+ {
27687
+ "docs": {
27688
+ "remarks": "String will be used to produce function in yaml/json.\nSimulation will execute the function in this string using the language specified.",
27689
+ "stability": "stable",
27690
+ "summary": "Inline code to be executed."
27691
+ },
27692
+ "locationInModule": {
27693
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27694
+ "line": 23
27695
+ },
27696
+ "name": "inline",
27697
+ "parameters": [
27698
+ {
27699
+ "name": "code",
27700
+ "type": {
27701
+ "primitive": "string"
27702
+ }
27703
+ }
27704
+ ],
27705
+ "returns": {
27706
+ "type": {
27707
+ "fqn": "@cdklabs/cdk-ssm-documents.InlineScriptCode"
27708
+ }
27709
+ },
27710
+ "static": true
27711
+ },
27712
+ {
27713
+ "abstract": true,
27714
+ "docs": {
27715
+ "returns": "code as a string",
27716
+ "stability": "stable"
27717
+ },
27718
+ "locationInModule": {
27719
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27720
+ "line": 38
27721
+ },
27722
+ "name": "codeAsString",
27723
+ "returns": {
27724
+ "type": {
27725
+ "primitive": "string"
27726
+ }
27727
+ }
27728
+ },
27729
+ {
27730
+ "abstract": true,
27731
+ "docs": {
27732
+ "remarks": "Otherwise, create a file with the specified suffix.",
27733
+ "stability": "stable",
27734
+ "summary": "If there is a file for this code, return it."
27735
+ },
27736
+ "locationInModule": {
27737
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27738
+ "line": 45
27739
+ },
27740
+ "name": "createOrGetFile",
27741
+ "parameters": [
27742
+ {
27743
+ "docs": {
27744
+ "summary": "of the file to create (such as \".py\")."
27745
+ },
27746
+ "name": "suffix",
27747
+ "type": {
27748
+ "primitive": "string"
27749
+ }
27750
+ }
27751
+ ],
27752
+ "returns": {
27753
+ "type": {
27754
+ "primitive": "string"
27755
+ }
27756
+ }
27757
+ }
27758
+ ],
27759
+ "name": "ScriptCode",
27760
+ "symbolId": "src/parent-steps/automation/execute-script-step:ScriptCode"
27761
+ },
27762
+ "@cdklabs/cdk-ssm-documents.ScriptLanguage": {
27763
+ "abstract": true,
27764
+ "assembly": "@cdklabs/cdk-ssm-documents",
27765
+ "docs": {
27766
+ "stability": "stable",
27767
+ "summary": "Specifies the script language as described in the \"Runtime\" argument here: https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-action-executeScript.html."
27768
+ },
27769
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptLanguage",
27770
+ "initializer": {
27771
+ "docs": {
27772
+ "stability": "stable"
27773
+ }
27774
+ },
27775
+ "kind": "class",
27776
+ "locationInModule": {
27777
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27778
+ "line": 92
27779
+ },
27780
+ "methods": [
27781
+ {
27782
+ "docs": {
27783
+ "remarks": "Prefer one of the other static constructors if possible.",
27784
+ "stability": "stable",
27785
+ "summary": "Creates a ScriptLanguage based on the provided runtime."
27786
+ },
27787
+ "locationInModule": {
27788
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27789
+ "line": 109
27790
+ },
27791
+ "name": "fromRuntime",
27792
+ "parameters": [
27793
+ {
27794
+ "docs": {
27795
+ "summary": "is the runtime name (such as \"python3.6\")."
27796
+ },
27797
+ "name": "runtime",
27798
+ "type": {
27799
+ "primitive": "string"
27800
+ }
27801
+ },
27802
+ {
27803
+ "docs": {
27804
+ "summary": "to be provided for python executions."
27805
+ },
27806
+ "name": "handlerName",
27807
+ "optional": true,
27808
+ "type": {
27809
+ "primitive": "string"
27810
+ }
27811
+ }
27812
+ ],
27813
+ "returns": {
27814
+ "type": {
27815
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptLanguage"
27816
+ }
27817
+ },
27818
+ "static": true
27819
+ },
27820
+ {
27821
+ "docs": {
27822
+ "stability": "stable",
27823
+ "summary": "Create a new ScriptLanguage for python execution."
27824
+ },
27825
+ "locationInModule": {
27826
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27827
+ "line": 99
27828
+ },
27829
+ "name": "python",
27830
+ "parameters": [
27831
+ {
27832
+ "docs": {
27833
+ "summary": "is the pythonVersion to use when writing the document (for simulation will not matter)."
27834
+ },
27835
+ "name": "version",
27836
+ "type": {
27837
+ "fqn": "@cdklabs/cdk-ssm-documents.PythonVersion"
27838
+ }
27839
+ },
27840
+ {
27841
+ "docs": {
27842
+ "summary": "is the function name in code as entry point for script handler."
27843
+ },
27844
+ "name": "handlerName",
27845
+ "type": {
27846
+ "primitive": "string"
27847
+ }
27848
+ }
27849
+ ],
27850
+ "returns": {
27851
+ "type": {
27852
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptLanguage"
27853
+ }
27854
+ },
27855
+ "static": true
27856
+ },
27857
+ {
27858
+ "abstract": true,
27859
+ "docs": {
27860
+ "stability": "stable",
27861
+ "summary": "The suffix to apply to file names of this type of execution."
27862
+ },
27863
+ "locationInModule": {
27864
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27865
+ "line": 142
27866
+ },
27867
+ "name": "fileSuffix",
27868
+ "returns": {
27869
+ "type": {
27870
+ "primitive": "string"
27871
+ }
27872
+ }
27873
+ },
27874
+ {
27875
+ "abstract": true,
27876
+ "docs": {
27877
+ "stability": "stable",
27878
+ "summary": "The associated runtime of this ScriptLanguage."
27879
+ },
27880
+ "locationInModule": {
27881
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27882
+ "line": 137
27883
+ },
27884
+ "name": "runtime",
27885
+ "returns": {
27886
+ "type": {
27887
+ "primitive": "string"
27888
+ }
27889
+ }
27890
+ },
27891
+ {
27892
+ "abstract": true,
27893
+ "docs": {
27894
+ "remarks": "Provide the inputs after replaced with the actual values (not variables).",
27895
+ "stability": "stable",
27896
+ "summary": "Simulate an execution of this ScriptLanguage."
27897
+ },
27898
+ "locationInModule": {
27899
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27900
+ "line": 148
27901
+ },
27902
+ "name": "simulate",
27903
+ "parameters": [
27904
+ {
27905
+ "name": "code",
27906
+ "type": {
27907
+ "fqn": "@cdklabs/cdk-ssm-documents.ScriptCode"
27908
+ }
27909
+ },
27910
+ {
27911
+ "name": "inputs",
27912
+ "type": {
27913
+ "collection": {
27914
+ "elementtype": {
27915
+ "primitive": "string"
27916
+ },
27917
+ "kind": "map"
27918
+ }
27919
+ }
27920
+ }
27921
+ ],
27922
+ "returns": {
27923
+ "type": {
27924
+ "collection": {
27925
+ "elementtype": {
27926
+ "primitive": "string"
27927
+ },
27928
+ "kind": "map"
27929
+ }
27930
+ }
27931
+ }
27932
+ },
27933
+ {
27934
+ "abstract": true,
27935
+ "docs": {
27936
+ "stability": "stable",
27937
+ "summary": "Builds the ssm inputs."
27938
+ },
27939
+ "locationInModule": {
27940
+ "filename": "src/parent-steps/automation/execute-script-step.ts",
27941
+ "line": 132
27942
+ },
27943
+ "name": "ssmInputs",
27944
+ "returns": {
27945
+ "type": {
27946
+ "collection": {
27947
+ "elementtype": {
27948
+ "primitive": "string"
27949
+ },
27950
+ "kind": "map"
27951
+ }
27952
+ }
27953
+ }
27954
+ }
27955
+ ],
27956
+ "name": "ScriptLanguage",
27957
+ "symbolId": "src/parent-steps/automation/execute-script-step:ScriptLanguage"
27958
+ },
27113
27959
  "@cdklabs/cdk-ssm-documents.SecureVariable": {
27114
27960
  "abstract": true,
27115
27961
  "assembly": "@cdklabs/cdk-ssm-documents",
@@ -29503,13 +30349,240 @@
29503
30349
  ],
29504
30350
  "symbolId": "src/parent-steps/step:Step"
29505
30351
  },
29506
- "@cdklabs/cdk-ssm-documents.StepProps": {
30352
+ "@cdklabs/cdk-ssm-documents.StepFallback": {
29507
30353
  "assembly": "@cdklabs/cdk-ssm-documents",
29508
- "datatype": true,
30354
+ "base": "@cdklabs/cdk-ssm-documents.OnCancel",
29509
30355
  "docs": {
29510
30356
  "stability": "stable"
29511
30357
  },
29512
- "fqn": "@cdklabs/cdk-ssm-documents.StepProps",
30358
+ "fqn": "@cdklabs/cdk-ssm-documents.StepFallback",
30359
+ "initializer": {
30360
+ "docs": {
30361
+ "stability": "stable"
30362
+ },
30363
+ "locationInModule": {
30364
+ "filename": "src/interface/on-failure.ts",
30365
+ "line": 80
30366
+ },
30367
+ "parameters": [
30368
+ {
30369
+ "name": "step",
30370
+ "type": {
30371
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
30372
+ }
30373
+ },
30374
+ {
30375
+ "name": "validateStepAction",
30376
+ "type": {
30377
+ "primitive": "boolean"
30378
+ }
30379
+ }
30380
+ ]
30381
+ },
30382
+ "kind": "class",
30383
+ "locationInModule": {
30384
+ "filename": "src/interface/on-failure.ts",
30385
+ "line": 76
30386
+ },
30387
+ "methods": [
30388
+ {
30389
+ "docs": {
30390
+ "stability": "stable"
30391
+ },
30392
+ "locationInModule": {
30393
+ "filename": "src/interface/on-failure.ts",
30394
+ "line": 88
30395
+ },
30396
+ "name": "stepToInvoke",
30397
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
30398
+ "parameters": [
30399
+ {
30400
+ "name": "_currentStep",
30401
+ "type": {
30402
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
30403
+ }
30404
+ }
30405
+ ],
30406
+ "returns": {
30407
+ "type": {
30408
+ "primitive": "string"
30409
+ }
30410
+ }
30411
+ },
30412
+ {
30413
+ "docs": {
30414
+ "stability": "stable"
30415
+ },
30416
+ "locationInModule": {
30417
+ "filename": "src/interface/on-failure.ts",
30418
+ "line": 92
30419
+ },
30420
+ "name": "toSsmValue",
30421
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
30422
+ "returns": {
30423
+ "type": {
30424
+ "primitive": "string"
30425
+ }
30426
+ }
30427
+ }
30428
+ ],
30429
+ "name": "StepFallback",
30430
+ "properties": [
30431
+ {
30432
+ "const": true,
30433
+ "docs": {
30434
+ "stability": "stable"
30435
+ },
30436
+ "immutable": true,
30437
+ "locationInModule": {
30438
+ "filename": "src/interface/on-failure.ts",
30439
+ "line": 77
30440
+ },
30441
+ "name": "ILLEGAL_FALLBACK_ACTIONS",
30442
+ "static": true,
30443
+ "type": {
30444
+ "collection": {
30445
+ "elementtype": {
30446
+ "primitive": "string"
30447
+ },
30448
+ "kind": "array"
30449
+ }
30450
+ }
30451
+ },
30452
+ {
30453
+ "docs": {
30454
+ "stability": "stable"
30455
+ },
30456
+ "immutable": true,
30457
+ "locationInModule": {
30458
+ "filename": "src/interface/on-failure.ts",
30459
+ "line": 79
30460
+ },
30461
+ "name": "step",
30462
+ "type": {
30463
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
30464
+ }
30465
+ }
30466
+ ],
30467
+ "symbolId": "src/interface/on-failure:StepFallback"
30468
+ },
30469
+ "@cdklabs/cdk-ssm-documents.StepNameFallback": {
30470
+ "assembly": "@cdklabs/cdk-ssm-documents",
30471
+ "base": "@cdklabs/cdk-ssm-documents.OnCancel",
30472
+ "docs": {
30473
+ "stability": "stable"
30474
+ },
30475
+ "fqn": "@cdklabs/cdk-ssm-documents.StepNameFallback",
30476
+ "initializer": {
30477
+ "docs": {
30478
+ "stability": "stable"
30479
+ },
30480
+ "locationInModule": {
30481
+ "filename": "src/interface/on-failure.ts",
30482
+ "line": 100
30483
+ },
30484
+ "parameters": [
30485
+ {
30486
+ "name": "step",
30487
+ "type": {
30488
+ "primitive": "string"
30489
+ }
30490
+ },
30491
+ {
30492
+ "name": "validateStepAction",
30493
+ "type": {
30494
+ "primitive": "boolean"
30495
+ }
30496
+ }
30497
+ ]
30498
+ },
30499
+ "kind": "class",
30500
+ "locationInModule": {
30501
+ "filename": "src/interface/on-failure.ts",
30502
+ "line": 97
30503
+ },
30504
+ "methods": [
30505
+ {
30506
+ "docs": {
30507
+ "stability": "stable"
30508
+ },
30509
+ "locationInModule": {
30510
+ "filename": "src/interface/on-failure.ts",
30511
+ "line": 106
30512
+ },
30513
+ "name": "stepToInvoke",
30514
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
30515
+ "parameters": [
30516
+ {
30517
+ "name": "currentStep",
30518
+ "type": {
30519
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
30520
+ }
30521
+ }
30522
+ ],
30523
+ "returns": {
30524
+ "type": {
30525
+ "primitive": "string"
30526
+ }
30527
+ }
30528
+ },
30529
+ {
30530
+ "docs": {
30531
+ "stability": "stable"
30532
+ },
30533
+ "locationInModule": {
30534
+ "filename": "src/interface/on-failure.ts",
30535
+ "line": 117
30536
+ },
30537
+ "name": "toSsmValue",
30538
+ "overrides": "@cdklabs/cdk-ssm-documents.OnFailure",
30539
+ "returns": {
30540
+ "type": {
30541
+ "primitive": "string"
30542
+ }
30543
+ }
30544
+ }
30545
+ ],
30546
+ "name": "StepNameFallback",
30547
+ "properties": [
30548
+ {
30549
+ "docs": {
30550
+ "stability": "stable"
30551
+ },
30552
+ "immutable": true,
30553
+ "locationInModule": {
30554
+ "filename": "src/interface/on-failure.ts",
30555
+ "line": 98
30556
+ },
30557
+ "name": "step",
30558
+ "type": {
30559
+ "primitive": "string"
30560
+ }
30561
+ },
30562
+ {
30563
+ "docs": {
30564
+ "stability": "stable"
30565
+ },
30566
+ "immutable": true,
30567
+ "locationInModule": {
30568
+ "filename": "src/interface/on-failure.ts",
30569
+ "line": 99
30570
+ },
30571
+ "name": "validateStepAction",
30572
+ "type": {
30573
+ "primitive": "boolean"
30574
+ }
30575
+ }
30576
+ ],
30577
+ "symbolId": "src/interface/on-failure:StepNameFallback"
30578
+ },
30579
+ "@cdklabs/cdk-ssm-documents.StepProps": {
30580
+ "assembly": "@cdklabs/cdk-ssm-documents",
30581
+ "datatype": true,
30582
+ "docs": {
30583
+ "stability": "stable"
30584
+ },
30585
+ "fqn": "@cdklabs/cdk-ssm-documents.StepProps",
29513
30586
  "kind": "interface",
29514
30587
  "locationInModule": {
29515
30588
  "filename": "src/parent-steps/step.ts",
@@ -29592,6 +30665,137 @@
29592
30665
  ],
29593
30666
  "symbolId": "src/parent-steps/step:StepProps"
29594
30667
  },
30668
+ "@cdklabs/cdk-ssm-documents.StepRef": {
30669
+ "assembly": "@cdklabs/cdk-ssm-documents",
30670
+ "docs": {
30671
+ "remarks": "The class allows steps to be referenced by the Step object or by the step name.",
30672
+ "stability": "stable",
30673
+ "summary": "Class to reference AutomationSteps."
30674
+ },
30675
+ "fqn": "@cdklabs/cdk-ssm-documents.StepRef",
30676
+ "initializer": {
30677
+ "docs": {
30678
+ "stability": "stable"
30679
+ },
30680
+ "locationInModule": {
30681
+ "filename": "src/interface/step-ref.ts",
30682
+ "line": 22
30683
+ },
30684
+ "parameters": [
30685
+ {
30686
+ "name": "stepName",
30687
+ "type": {
30688
+ "primitive": "string"
30689
+ }
30690
+ }
30691
+ ]
30692
+ },
30693
+ "kind": "class",
30694
+ "locationInModule": {
30695
+ "filename": "src/interface/step-ref.ts",
30696
+ "line": 7
30697
+ },
30698
+ "methods": [
30699
+ {
30700
+ "docs": {
30701
+ "stability": "stable",
30702
+ "summary": "Static constructor for creating a reference to a step from a step name."
30703
+ },
30704
+ "locationInModule": {
30705
+ "filename": "src/interface/step-ref.ts",
30706
+ "line": 18
30707
+ },
30708
+ "name": "fromName",
30709
+ "parameters": [
30710
+ {
30711
+ "name": "stepName",
30712
+ "type": {
30713
+ "primitive": "string"
30714
+ }
30715
+ }
30716
+ ],
30717
+ "returns": {
30718
+ "type": {
30719
+ "fqn": "@cdklabs/cdk-ssm-documents.StepRef"
30720
+ }
30721
+ },
30722
+ "static": true
30723
+ },
30724
+ {
30725
+ "docs": {
30726
+ "stability": "stable",
30727
+ "summary": "Static constructor for creating a reference to a step from an AutomationStep object."
30728
+ },
30729
+ "locationInModule": {
30730
+ "filename": "src/interface/step-ref.ts",
30731
+ "line": 11
30732
+ },
30733
+ "name": "fromObject",
30734
+ "parameters": [
30735
+ {
30736
+ "name": "step",
30737
+ "type": {
30738
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
30739
+ }
30740
+ }
30741
+ ],
30742
+ "returns": {
30743
+ "type": {
30744
+ "fqn": "@cdklabs/cdk-ssm-documents.StepRef"
30745
+ }
30746
+ },
30747
+ "static": true
30748
+ },
30749
+ {
30750
+ "docs": {
30751
+ "remarks": "Provide all the steps in the execution to find the associated step.",
30752
+ "stability": "stable",
30753
+ "summary": "Resolve to an AutomationStep object."
30754
+ },
30755
+ "locationInModule": {
30756
+ "filename": "src/interface/step-ref.ts",
30757
+ "line": 29
30758
+ },
30759
+ "name": "resolve",
30760
+ "parameters": [
30761
+ {
30762
+ "name": "allStepsInExecution",
30763
+ "type": {
30764
+ "collection": {
30765
+ "elementtype": {
30766
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
30767
+ },
30768
+ "kind": "array"
30769
+ }
30770
+ }
30771
+ }
30772
+ ],
30773
+ "returns": {
30774
+ "type": {
30775
+ "fqn": "@cdklabs/cdk-ssm-documents.AutomationStep"
30776
+ }
30777
+ }
30778
+ }
30779
+ ],
30780
+ "name": "StepRef",
30781
+ "properties": [
30782
+ {
30783
+ "docs": {
30784
+ "stability": "stable"
30785
+ },
30786
+ "immutable": true,
30787
+ "locationInModule": {
30788
+ "filename": "src/interface/step-ref.ts",
30789
+ "line": 21
30790
+ },
30791
+ "name": "stepName",
30792
+ "type": {
30793
+ "primitive": "string"
30794
+ }
30795
+ }
30796
+ ],
30797
+ "symbolId": "src/interface/step-ref:StepRef"
30798
+ },
29595
30799
  "@cdklabs/cdk-ssm-documents.StringDocument": {
29596
30800
  "assembly": "@cdklabs/cdk-ssm-documents",
29597
30801
  "docs": {
@@ -30534,7 +31738,7 @@
30534
31738
  "kind": "class",
30535
31739
  "locationInModule": {
30536
31740
  "filename": "src/patterns/automation/string-step.ts",
30537
- "line": 26
31741
+ "line": 27
30538
31742
  },
30539
31743
  "methods": [
30540
31744
  {
@@ -30546,7 +31750,7 @@
30546
31750
  },
30547
31751
  "locationInModule": {
30548
31752
  "filename": "src/patterns/automation/string-step.ts",
30549
- "line": 44
31753
+ "line": 45
30550
31754
  },
30551
31755
  "name": "fromJson",
30552
31756
  "parameters": [
@@ -30579,7 +31783,7 @@
30579
31783
  },
30580
31784
  "locationInModule": {
30581
31785
  "filename": "src/patterns/automation/string-step.ts",
30582
- "line": 54
31786
+ "line": 55
30583
31787
  },
30584
31788
  "name": "fromObject",
30585
31789
  "parameters": [
@@ -30617,7 +31821,7 @@
30617
31821
  },
30618
31822
  "locationInModule": {
30619
31823
  "filename": "src/patterns/automation/string-step.ts",
30620
- "line": 34
31824
+ "line": 35
30621
31825
  },
30622
31826
  "name": "fromYaml",
30623
31827
  "parameters": [
@@ -30647,7 +31851,7 @@
30647
31851
  },
30648
31852
  "locationInModule": {
30649
31853
  "filename": "src/patterns/automation/string-step.ts",
30650
- "line": 155
31854
+ "line": 157
30651
31855
  },
30652
31856
  "name": "addToDocument",
30653
31857
  "overrides": "@cdklabs/cdk-ssm-documents.CompositeAutomationStep",
@@ -30838,7 +32042,7 @@
30838
32042
  },
30839
32043
  "locationInModule": {
30840
32044
  "filename": "src/patterns/document/timed-document.ts",
30841
- "line": 7
32045
+ "line": 15
30842
32046
  },
30843
32047
  "parameters": [
30844
32048
  {
@@ -30864,7 +32068,7 @@
30864
32068
  "kind": "class",
30865
32069
  "locationInModule": {
30866
32070
  "filename": "src/patterns/document/timed-document.ts",
30867
- "line": 5
32071
+ "line": 13
30868
32072
  },
30869
32073
  "methods": [
30870
32074
  {
@@ -30873,7 +32077,7 @@
30873
32077
  },
30874
32078
  "locationInModule": {
30875
32079
  "filename": "src/patterns/document/timed-document.ts",
30876
- "line": 11
32080
+ "line": 19
30877
32081
  },
30878
32082
  "name": "collectedSteps",
30879
32083
  "overrides": "@cdklabs/cdk-ssm-documents.AutomationDocument",
@@ -31926,6 +33130,6 @@
31926
33130
  "symbolId": "src/interface/webhook:WebhookImpl"
31927
33131
  }
31928
33132
  },
31929
- "version": "0.0.19",
31930
- "fingerprint": "V76E9AtZvqtUOsJZo/xA+PobYep6QBGxjQhJ7+5oDL8="
33133
+ "version": "0.0.22",
33134
+ "fingerprint": "gKmW8YofUYLY0f/svFky0/BPOoz6ZwRTI68vqhuKYK0="
31931
33135
  }