{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/ConfigurationSetName"
 ],
 "definitions": {
  "CloudWatchDestination": {
   "additionalProperties": false,
   "properties": {
    "DimensionConfigurations": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/DimensionConfiguration"
     },
     "type": "array",
     "uniqueItems": false
    }
   },
   "type": "object"
  },
  "DimensionConfiguration": {
   "additionalProperties": false,
   "properties": {
    "DefaultDimensionValue": {
     "maxLength": 256,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9_-]{1,256}$",
     "type": "string"
    },
    "DimensionName": {
     "maxLength": 256,
     "minLength": 1,
     "pattern": "^[a-zA-Z0-9_:-]{1,256}$",
     "type": "string"
    },
    "DimensionValueSource": {
     "enum": [
      "EMAIL_HEADER",
      "LINK_TAG",
      "MESSAGE_TAG",
      "emailHeader",
      "linkTag",
      "messageTag"
     ],
     "type": "string"
    }
   },
   "required": [
    "DimensionValueSource",
    "DefaultDimensionValue",
    "DimensionName"
   ],
   "type": "object"
  },
  "EventBridgeDestination": {
   "additionalProperties": false,
   "properties": {
    "EventBusArn": {
     "maxLength": 1024,
     "minLength": 36,
     "pattern": "^arn:aws[a-z0-9-]*:events:[a-z0-9-]+:\\d{12}:event-bus/[^:]+$",
     "type": "string"
    }
   },
   "required": [
    "EventBusArn"
   ],
   "type": "object"
  },
  "EventDestination": {
   "additionalProperties": false,
   "properties": {
    "CloudWatchDestination": {
     "$ref": "#/definitions/CloudWatchDestination"
    },
    "Enabled": {
     "type": "boolean"
    },
    "EventBridgeDestination": {
     "$ref": "#/definitions/EventBridgeDestination"
    },
    "KinesisFirehoseDestination": {
     "$ref": "#/definitions/KinesisFirehoseDestination"
    },
    "MatchingEventTypes": {
     "insertionOrder": false,
     "items": {
      "type": "string"
     },
     "type": "array",
     "uniqueItems": false
    },
    "Name": {
     "pattern": "^[a-zA-Z0-9_-]{0,64}$",
     "type": "string"
    },
    "SnsDestination": {
     "$ref": "#/definitions/SnsDestination"
    }
   },
   "required": [
    "MatchingEventTypes"
   ],
   "type": "object"
  },
  "KinesisFirehoseDestination": {
   "additionalProperties": false,
   "properties": {
    "DeliveryStreamARN": {
     "type": "string"
    },
    "IAMRoleARN": {
     "format": "AWS::IAM::Role.Arn",
     "type": "string"
    }
   },
   "required": [
    "IAMRoleARN",
    "DeliveryStreamARN"
   ],
   "type": "object"
  },
  "SnsDestination": {
   "additionalProperties": false,
   "properties": {
    "TopicARN": {
     "format": "AWS::SNS::Topic.Arn",
     "maxLength": 1024,
     "minLength": 36,
     "pattern": "^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\\d{12}:[^:]+$",
     "type": "string"
    }
   },
   "required": [
    "TopicARN"
   ],
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/Id"
 ],
 "properties": {
  "ConfigurationSetName": {
   "type": "string"
  },
  "EventDestination": {
   "$ref": "#/definitions/EventDestination"
  },
  "Id": {
   "type": "string"
  }
 },
 "readOnlyProperties": [
  "/properties/Id"
 ],
 "required": [
  "ConfigurationSetName",
  "EventDestination"
 ],
 "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-ses.git",
 "tagging": {
  "taggable": false
 },
 "typeName": "AWS::SES::ConfigurationSetEventDestination"
}
