{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/FunctionName",
  "/properties/Qualifier"
 ],
 "definitions": {
  "DestinationConfig": {
   "additionalProperties": false,
   "properties": {
    "OnFailure": {
     "$ref": "#/definitions/OnFailure"
    },
    "OnSuccess": {
     "$ref": "#/definitions/OnSuccess"
    }
   },
   "type": "object"
  },
  "OnFailure": {
   "additionalProperties": false,
   "properties": {
    "Destination": {
     "maxLength": 350,
     "minLength": 0,
     "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]+(-[a-z]+)+-\\d{1})?:(\\d{12})?:(.*)",
     "type": "string"
    }
   },
   "required": [
    "Destination"
   ],
   "type": "object"
  },
  "OnSuccess": {
   "additionalProperties": false,
   "properties": {
    "Destination": {
     "maxLength": 350,
     "minLength": 0,
     "pattern": "^$|arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\\-])+:([a-z]+(-[a-z]+)+-\\d{1})?:(\\d{12})?:(.*)",
     "type": "string"
    }
   },
   "required": [
    "Destination"
   ],
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/FunctionName",
  "/properties/Qualifier"
 ],
 "properties": {
  "DestinationConfig": {
   "$ref": "#/definitions/DestinationConfig"
  },
  "FunctionName": {
   "maxLength": 256,
   "minLength": 1,
   "pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]+(-[a-z]+)+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST(\\.PUBLISHED)?|[a-zA-Z0-9-_]+))?$",
   "type": "string"
  },
  "MaximumEventAgeInSeconds": {
   "maximum": 21600,
   "minimum": 60,
   "type": "integer"
  },
  "MaximumRetryAttempts": {
   "maximum": 2,
   "minimum": 0,
   "type": "integer"
  },
  "Qualifier": {
   "pattern": "^\\$(LATEST(\\.PUBLISHED)?)|[a-zA-Z0-9$_-]{1,129}$",
   "type": "string"
  }
 },
 "required": [
  "FunctionName",
  "Qualifier"
 ],
 "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
 "tagging": {
  "cloudFormationSystemTags": false,
  "tagOnCreate": false,
  "tagUpdatable": false,
  "taggable": false
 },
 "typeName": "AWS::Lambda::EventInvokeConfig"
}
