Attini dependencies (Beta)

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 the distributionId 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.