Amazon State Language
A definition using Amazon state language that describes your deployment.
In addition to the Amazon state language types, the deployment plan can also use the Attini types.
This definition converts to a AWS State Machine Definition.
DeploymentPlan:
StartAt: StateName
States:
StateName:
Type: String
# Optional configuration based on State Type
Next: String
End: Boolean
Type: String
The step that the deployment plan should start with. This is the same as the StartAt property in the Amazon States Language
Required: Yes
Type: Map<Sting,Map>
This is the same as the States property in the Amazon States Language after the Attini-specific resources (ex AttiniCfn) have been converted into a valid Amazon States Language definition.
Make sure that the actions that you specify here are allowed by the deployment plan Role.
This map has limited support for CloudFormation functions.
- Simple functions like
Ref
,Fn::GetAtt
andFn::Sub
work like normal CloudFormation. - Complex functions like
Fn::Join
will need to use the DefinitionSubstitutions property. - Conditions are not supported. You can often work around this limitation using logic in your definition, example by using the Choice state.
Required: Yes
Type: String
Any valid State type like Attini types, StateMachine Task, or other StateMachine States like Pass, Wait, Succeed, Fail, Choice or Parallel.
Type: String
Name of the next step.
Required: Yes, if End is not configured
Type: Boolean
Marks the end of a branch execution.
Required: Yes, if End is not configured
Example
DeploymentPlan:
StartAt: ManualApproval
States:
ManualApproval:
Type: AttiniManualApproval
Next: MyDatabaseStack
MyDatabaseStack:
Type: AttiniCfn
Properties:
StackName: database
Template: /database.yaml
End: True