{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "id": "SnsEventTrigger",
  "title": "SnsEventTrigger",
  "properties": {
    "Records": {
      "maxItems": 1,
      "items": {
        "properties": {
          "EventSource": {
            "type": "string"
          },
          "EventSubscriptionArn": {
            "type": "string"
          },
          "EventVersion": {
            "type": "string"
          },
          "Sns": {
            "properties": {
              "Message": {
                "type": "string"
              },
              "MessageAttributes": {
                "properties": {
                  "Test": {
                    "properties": {
                      "Type": {
                        "type": "string"
                      },
                      "Value": {
                        "type": "string"
                      }
                    },
                    "required": ["Type", "Value"],
                    "type": "object"
                  },
                  "TestBinary": {
                    "properties": {
                      "Type": {
                        "type": "string"
                      },
                      "Value": {
                        "type": "string"
                      }
                    },
                    "required": ["Type", "Value"],
                    "type": "object"
                  }
                },
                "required": ["Test", "TestBinary"],
                "type": "object"
              },
              "MessageId": {
                "type": "string"
              },
              "Signature": {
                "type": "string"
              },
              "SignatureVersion": {
                "type": "string"
              },
              "SigningCertUrl": {
                "type": "string"
              },
              "Subject": {
                "type": "string"
              },
              "Timestamp": {
                "type": "string"
              },
              "TopicArn": {
                "type": "string"
              },
              "Type": {
                "type": "string"
              },
              "UnsubscribeUrl": {
                "type": "string"
              }
            },
            "required": [
              "SignatureVersion",
              "Timestamp",
              "Signature",
              "SigningCertUrl",
              "MessageId",
              "Message",
              "Subject",
              "Type",
              "UnsubscribeUrl",
              "TopicArn",
              "MessageAttributes"
            ],
            "type": "object"
          }
        },
        "required": [
          "EventVersion",
          "EventSource",
          "EventSubscriptionArn",
          "Sns"
        ],
        "type": "object"
      },
      "type": "array"
    }
  },
  "required": ["Records"],
  "type": "object"
}
