Attini dependencies¶
An Attini distribution can be dependent on other Attini distributions, for example, your database
distribution can be dependent on your network
distribution. Attini dependencies is configured in the attini-config dependencies section.
The Attini Framework will then verify that your dependencies are successfully deployed to your environment.
Example
distributionName: database
dependencies:
- distributionName: network
distributionIdRegex: 2022-07-.*
- distributionName
Name of another distribution that your current distribution is dependent on.
- distributionIdRegex
If you configure a
distributionIdRegex
, the Attini Framework will regex pattern match thedistributionId
of the dependent distributions. If the ID does not match, the deployment will fail fast.
Access payloads from dependencies¶
When an Attini deployment plan finishes successfully, the Attini Framework will save the output payload from the last steps to the
Attini artifact store
with the S3 key outputs/[environment]/[distributionName]/[distributionId]/output.json
. The name of the Attini artifact store
S3 bucket can also be found in the payload under the path deploymentSource.deploymentSourceBucket
If a deployment plan has multiple end states, the payload will be saved as a list. For this reason, it’s a good idea to end a deployment plan with a Attini merge output state to make the output data easier to search through.
When you have a dependency configured, the output.json
S3 key will be included in the payload so that this file be accessed using an
AWS Lambda function (see AttiniLambdaInvoke) or the Attini runner.