Payload

When the deployment plan is executed, the Attini Framework will create a payload with a specific data structure that has to be respected for to the Attini types to function.

{
  "output": {
    "deploymentPlanStepName1": {
      "outputName": "String"
    },
    "deploymentPlanStepName2": {
      "outputPath": {
        "outputName": "String"
      }
    }
  },
  "environment": "String",
  "stackParameters": {
    "String": "String"
  },
  "customData": {},
  "deploymentOriginData": {
    "distributionName": "String",
    "deploymentTime": "epochTime",
    "deploymentSource": {
      "deploymentSourcePrefix": "String",
      "deploymentSourceBucket": "String"
    },
    "environment": "String",
    "distributionId": "String",
    "deploymentName": "String",
    "objectIdentifier": "String",
    "stackName": "String",
    "distributionTags": {
      "String": "String"
    },
    "version": "SemanticVersion",
    "samPackaged": "boolean"
  },
  "dependencies": {
    "distributionName": {
        "deploymentSourcePrefix": "String"
    }
  }
}

output

Type: Map<Map<String,String>> || Map<Map<Map<String,String>>>

This object contains outputs from previous steps. The first key under output references the State name of a previous step.

In simple scenarios, for example an AttiniCfn step, this section will just contain a key: value map from a CloudFormation stack output.

In more complex scenarios, for example when AttiniCdk step deploys multiple CloudFormation stacks, you might need an extra level in the output data structure to separate between different stacks.

environment

Type: String

The current environment.

stackParameters

Type: Map<String,String>>

The parameters for the Init Deploy stack.

customData

Type: Map<String,Map<>>

Under this field, you can add whatever data you need and the Attini Framework resources will pass it along. If data is given to the deployment plan state machine input, the input will end up under this field.

deploymentOriginData

Type: DeploymentOriginData

This object contains information about the deployment origin data.

dependencies

Type: Map<String,Map<String,String>>

If your distribution has a dependency, this data will tell you where to find the output from your dependency’s latest successful deployment.

Subsections of Payload

DeploymentOriginData

{
  "deploymentOriginData": {
    "distributionName": "String",
    "deploymentTime": "epochTime",
    "deploymentSource": {
      "deploymentSourcePrefix": "String",
      "deploymentSourceBucket": "String"
    },
    "environment": "String",
    "distributionId": "String",
    "deploymentName": "String",
    "objectIdentifier": "String",
    "stackName": "String",
    "distributionTags": {
      "String": "String"
    },
    "version": "SemanticVersion",
    "samPackaged": "boolean"
  }
}

distributionName

Type: String

The distribution name.

deploymentTime

Type: String

The time in epoch milliseconds that the Attini distribution was deployed to this environment.

deploymentSource

Type: deploymentSource

A Map containing data needed to find artifacts related to this deployment.

environment

Type: String

The current environment.

distributionId

Type: String

The distribution id.

deploymentName
Type: String An AWS Account and Region unique name for the deployment in the format {environment}-{distributionName}.

objectIdentifier

Type: String

The S3 key for the S3 object key and version (distribution) that triggered the deployment.

stackName

Type: String

The name of the Init Deploy CloudFormation stack name.

distributionTags

Type: Map<String,String>

The distribution tags from attini-config.

version

Type: String

The distribution semantic version.

samPackaged

Type: Boolean

If this is true, Attini has done a SAM Package due to a AttiniSam step in the deployment plan.

Subsections of DeploymentOriginData

DeploymentSource

{
  "deploymentSource": {
    "deploymentSourcePrefix": "String",
    "deploymentSourceBucket": "String"
  }
}

deploymentSourcePrefix

Type: String

The s3 bucket prefix for the distribution files, find more info here.

deploymentSourceBucket

Type: String

The s3 bucket for the distribution files, find more info info here.