All Downloads are FREE. Search and download functionalities are using the official Maven repository.

essentialworkflows.sf_validate_update_workflow.json Maven / Gradle / Ivy

There is a newer version: 1.0.62
Show newest version
{
  "name": "validateUpdateWorkflow",
  "functionDefinition": {
    "Comment": "A description of my state machine",
    "StartAt": "Check User Role",
    "States": {
      "Check User Role": {
        "Type": "Task",
        "ResultPath": "$.input.checkAuthorization",
        "Resource": "arn:aws:states:::apigateway:invoke",
        "Parameters": {
          "ApiEndpoint": "${var.structureEndpoint}",
          "Path": "/structure/hasAnyRole",
          "Method": "POST",
          "Headers": {
            "Content-Type": [
              "application/json"
            ]
          },
          "RequestBody": {
            "requiredRoles": [
              "ADMIN",
              "UNMANNED"
            ],
            "userRoles.$": "$.query.authorization.roles"
          },
          "AuthType": "IAM_ROLE"
        },
        "Next": "Validate JSON"
      },
      "Validate JSON": {
        "Type": "Task",
        "ResultPath": "$.input.validateJson",
        "Resource": "arn:aws:states:::apigateway:invoke",
        "Parameters": {
          "ApiEndpoint": "${var.structureEndpoint}",
          "Method": "POST",
          "Path": "/structure/validate",
          "Headers": {
            "Content-Type": [
              "application/json"
            ]
          },
          "RequestBody": {
            "type": "workflow",
            "updateId.$": "$.query.id",
            "workflow": "validateUpdateWorkflow",
            "query.$": "$.query",
            "schema": {
              "$schema": "http://json-schema.org/draft-04/schema#",
              "title": "validateUpdateWorkflow",
              "description": "validateUpdateWorkflow",
              "type": "object",
              "properties": {
                "id": {
                  "description": "id",
                  "type": "string",
                  "minLength": 1
                },
                "version": {
                  "description": "version",
                  "type": "integer"
                },
                "workflow": {
                  "description": "workflow value",
                  "type": "object"
                }
              },
              "required": [
                "workflow",
                "id"
              ],
              "unique": []
            }
          },
          "AuthType": "IAM_ROLE"
        },
        "End": true
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy