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 are configured in the attini-config dependencies section.

The Attini Framework will then verify that your dependencies are successfully deployed to your environment.

distributionName: database
  - distributionName: network
    version: ">1.0.0"

Name of another distribution that your distribution is dependent on.

The version of the distribution your current distribution is dependent on. The version follows the NPM versioning rules for deciding if a version is valid. If the deployed version does not match the specified version of the dependency, then the deployment will fail. The version field is optional.

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 AttiniRunnerJob.