Deployment plan payload

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

{
  "deploymentOriginData": {
  "distributionTags": {
    "String": "String"
  },
  "distributionId": "String",
  "environment": "String",
  "deploymentPlanCount": "String",
  "distributionName": "String",
  "deploymentSource": {
    "deploymentSourcePrefix": "String",
    "deploymentSourceBucket": "String"
  },
  "stackName": "String",
  "deploymentName": "String",
  "objectIdentifier": "String",
  "deploymentTime": "String"
  },
  "output":{
    "deploymentPlanStepName1": {
      "outputName": "String"
    },
    "deploymentPlanStepName2": {
      "outputPath": {
        "outputName": "String"
      }
    }
  },
  "customData": {},
}
deploymentOriginData

Type: deploymentOriginData

This object contains information about the deployment origin data.

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 stacks output.

In more complex scenarios, for an example AttiniMap step, you might need and extra level in the output data structure. You can then use OutputPath.

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

deploymentOriginData distributionName

Type: String

The distribution name.

deploymentOriginData deploymentPlanCount

Type: String

The number of deployment plans in the init deploy stack.

deploymentOriginData deploymentTime

Type: String

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

deploymentOriginData objectIdentifier

Type: String

Each deployment will be given a unique objectIdentifier to be used for tracking a specific deployment. The objectIdentifier consist of the S3 object key and the version id of the object separated by a #.

deploymentOriginData deploymentSource

Type: deploymentSource

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

deploymentSource

deploymentOriginData deploymentSource environment

Type: String

The current environment.

deploymentOriginData deploymentSource distributionId

Type: String

The distribution id from the attini-config file.

deploymentOriginData deploymentSource distributionTags

Type: Map<String,String>

The distribution tags from the attini-config file.

deploymentOriginData deploymentSource deploymentSourcePrefix

Type: String

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

deploymentOriginData deploymentSource deploymentSourceBucket

Type: String

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

Examples

{
  "deploymentOriginData": {
    "distributionName": "platform",
    "deploymentPlanCount": "1",
    "deploymentTime": "1618138877054",
    "objectIdentifier": "dev/infra2/Archive.zip#CH.cWGqa7n4fnjHHLSv9L_mF5RInWbuc",
    "deploymentSource": {
      "distributionTags": {
        "key": "value",
        "version": "1.1.2",
        "branch": "hotfix/bugfix"
      },
      "deploymentSourcePrefix": "dev/platform/bf3fdcdd-e892-488a-b4df-e48f7b4a7846/distribution-origin",
      "deploymentSourceBucket": "attini-artifact-store-eu-west-1-655047308345"
    },
    "environment": "dev",
    "distributionId": "bf3fdcdd-e892-488a-b4df-e48f7b4a7846",
    "deploymentName": "dev-platform",
    "stackName": "dev-platform-init-deploy"
  },
  "customData": {
    "myMap": {"key": "value"},
    "myList": ["value1", "value2", "value3"]
  },
  "output": {
    "stateName1": {
      "outputName": "value"
    },
    "stateName2": {
      "outputPath": {
        "outputName": "value"
      }
    }
  }
}