essentialworkflows.sf_create_structureDefinition.json Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of common-structure-client Show documentation
Show all versions of common-structure-client Show documentation
structure Client for Five Faces
{
"name": "createStructureDefinition",
"functionDefinition": {
"Comment": "A description of my state machine",
"StartAt": "Validate Create Entity",
"States": {
"Validate Create Entity": {
"Type": "Task",
"Resource": "arn:aws:states:::states:startExecution.sync",
"Parameters": {
"StateMachineArn": "arn:aws:states:ap-southeast-2:705130463218:stateMachine:${var.environment}_validateCreateStructureDefinition",
"Input": {
"NeedCallback ": true,
"query.$": "$.query",
"AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID.$": "$$.Execution.Id"
}
},
"Next": "Delete Previous Entity",
"ResultPath": "$.input.validateCreateStructureDefinition"
},
"Delete Previous Entity": {
"Type": "Task",
"ResultPath": "$.input.deletePreviousEntity",
"Resource": "arn:aws:states:::apigateway:invoke",
"Parameters": {
"ApiEndpoint": "${var.structureEndpoint}",
"Path": "/structure/destroy-structure",
"Method": "POST",
"Headers": {
"Content-Type": [
"application/json"
]
},
"RequestBody": {
"name.$": "$.query.name"
},
"AuthType": "IAM_ROLE"
},
"Next": "Save Entity"
},
"Save Entity": {
"Type": "Task",
"ResultPath": "$.input.saveEntity",
"Resource": "arn:aws:states:::apigateway:invoke",
"Parameters": {
"ApiEndpoint": "${var.structureEndpoint}",
"Path": "/structure/insert",
"Method": "POST",
"Headers": {
"Content-Type": [
"application/json"
]
},
"RequestBody": {
"username.$": "$.query.authorization.username",
"type": "structureDefinition",
"query": {
"name.$": "$.query.name",
"definition.$": "$.query.definition"
}
},
"AuthType": "IAM_ROLE"
},
"Next": "Recreate Entity Table"
},
"Recreate Entity Table": {
"Type": "Task",
"ResultPath": "$.input.saveEntity",
"Resource": "arn:aws:states:::apigateway:invoke",
"Parameters": {
"ApiEndpoint": "${var.structureEndpoint}",
"Path": "/structure/create-structure",
"Method": "POST",
"Headers": {
"Content-Type": [
"application/json"
]
},
"RequestBody": {
"name.$": "$.query.name"
},
"AuthType": "IAM_ROLE"
},
"End": true
}
}
}
}