title: AWS SES Configset - Can't create an event destination to SNS using AWS cloud formation stack
body: <p>I can't seem to be able to create a new AWS SES configset using AWS Cloud Formation stack. The error says 'YAML not well-formed'</p>
  
  <p>Below is my json template for the CF stack:</p>
  
  <pre><code>"Resources" : {
  "ConfigSet": {
      "Type": "AWS::SES::ConfigurationSet",
      "Properties": {
          "Name": "CS_EMAIL_TRACKING"
      }
  },
  "CWEventDestination": {
      "Type": "AWS::SES::ConfigurationSetEventDestination",
      "Properties": {
          "ConfigurationSetName": "CS_EMAIL_TRACKING",
          "EventDestination": {
              "Name": "CS_EMAIL_TRACKING_CW_DESTINATION",
              "Enabled": true,
              "MatchingEventTypes": ["bounce", "complaint", "delivery", "open", "reject", "renderingFailure", "send"],
              "CloudWatchDestination": {
                  "DimensionConfigurations": [{
                      "DimensionName": "AGS",
                      "DimensionValueSource": "messageTag",
                      "DefaultDimensionValue": "MY_AGS"
                  }, {
                      "DimensionName": "Component",
                      "DimensionValueSource": "messageTag",
                      "DefaultDimensionValue": "Mail"
                  }, {
                      "DimensionName": "ses:caller-identity",
                      "DimensionValueSource": "messageTag",
                      "DefaultDimensionValue": "shouldbeautoset"
                  }]
              }
          }
      }
  },
  "SNSEventDestination": {
      "Type": "AWS::SES::ConfigurationSetEventDestination",
      "Properties": {
          "ConfigurationSetName": "CS_EMAIL_TRACKING",
          "EventDestination": {
              "Name": "CS_EMAIL_TRACKING_SNS_DESTINATION",
              "Enabled": true,
              "MatchingEventTypes": ["bounce", "complaint", "delivery", "reject", "send"],
              "SNSDestination": {
                  "TopicARN": "arn:aws:sns:us-east-1:99999999:SES-STATUS_TRACKING_TOPIC"
              }
          }
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p>The above json looks good to me but......</p>
  
  <p>Can anybody help? Am I missing something?</p>
  
  <p>Thanks!</p>
  
  <p><strong>Edit: I got the stack working with parameters. Now, though I face another problem with SNSDestination being the EventDestination.
  It says Unsupported property for EventDestination, even though the AWS documentation says that its a valid property:</strong></p>
  
  <p>Below is my final code:</p>
  
  <pre><code>{
  "AWSTemplateFormatVersion": "2010-09-09",
  "Description": "AWS SES ConfigurationSet ${CRED_AGS} Template",
  "Parameters": {
      "ConfigSetName": {
          "Type" : "String",
          "Default" : "${CONFIGSET_NAME}"
      },
      "EventCWDestinationName" : {
          "Type" : "String",
          "Default" : "${CW_DESTINATION_NAME}"
      },
      "EventSNSDestinationName" : {
          "Type" : "String",
          "Default" : "${SNS_DESTINATION_NAME}"
      },
      "EventTypeBounce" : {
          "Type" : "String",
          "Default" : "bounce"
      },
      "EventTypeComplaint" : {
          "Type" : "String",
          "Default" : "complaint"
      },
      "EventTypeDelivery" : {
          "Type" : "String",
          "Default" : "delivery"
      },
      "EventTypeOpen" : {
          "Type" : "String",
          "Default" : "open"
      },
      "EventTypeReject" : {
          "Type" : "String",
          "Default" : "reject"
      },
      "EventTypeRenderingFailure" : {
          "Type" : "String",
          "Default" : "renderingFailure"
      },
      "EventTypeSend" : {
          "Type" : "String",
          "Default" : "send"
      },
      "DimensionValueSourceMsgTag" : {
          "Type" : "String",
          "Default" : "messageTag"
      },
      "DimensionNameAGS" : {
          "Type" : "String",
          "Default" : "AGS"
      },
      "DefaultDimensionValueAGS" : {
          "Type" : "String",
          "Default" : "${CRED_AGS}"
      },
      "DimensionNameComponent" : {
          "Type" : "String",
          "Default" : "Component"
      },
      "DefaultDimensionValueComponent" : {
          "Type" : "String",
          "Default" : "Mail"
      },
      "DimensionNameIdentity" : {
          "Type" : "String",
          "Default" : "ses:caller-identity"
      },
      "DefaultDimensionValueIdentity" : {
          "Type" : "String",
          "Default" : "shouldbeautoset"
      }
  },
  "Resources": {
      "ConfigSet" : {
          "Type" : "AWS::SES::ConfigurationSet",
          "Properties" : {
              "Name" : {
                  "Ref" : "ConfigSetName"
              }
          }
      },
      "CWEventDestination" : {
          "Type" : "AWS::SES::ConfigurationSetEventDestination",
          "Properties" : {
              "ConfigurationSetName" : {
                  "Ref": "ConfigSetName"
              },
              "EventDestination" : {
                  "Name" : {
                      "Ref" : "EventCWDestinationName"
                  },
                  "Enabled" : true,
                  "MatchingEventTypes" : [
                      {
                          "Ref" : "EventTypeBounce"
                      },
                      {
                          "Ref" : "EventTypeComplaint"
                      },
                      {
                          "Ref" : "EventTypeDelivery"
                      },
                      {
                          "Ref" : "EventTypeOpen"
                      },
                      {
                          "Ref" : "EventTypeReject"
                      },
                      {
                          "Ref" : "EventTypeRenderingFailure"
                      },
                      {
                          "Ref" : "EventTypeSend"
                      }
                  ],
                  "CloudWatchDestination" : {
                      "DimensionConfigurations" : [
                          {
                              "DimensionName" : {
                                  "Ref" : "DimensionNameAGS"
                              },
                              "DimensionValueSource" : {
                                  "Ref" : "DimensionValueSourceMsgTag"
                              },
                              "DefaultDimensionValue" : {
                                  "Ref": "DefaultDimensionValueAGS"
                              }
                          },
                          {
                              "DimensionName" : {
                                  "Ref" : "DimensionNameComponent"
                              },
                              "DimensionValueSource" : {
                                  "Ref" : "DimensionValueSourceMsgTag"
                              },
                              "DefaultDimensionValue" : {
                                  "Ref" : "DefaultDimensionValueComponent"
                              }
                          },
                          {
                              "DimensionName" : {
                                  "Ref" : "DimensionNameIdentity"
                              },
                              "DimensionValueSource" : {
                                  "Ref" : "DimensionValueSourceMsgTag"
                              },
                              "DefaultDimensionValue" : {
                                  "Ref" : "DefaultDimensionValueIdentity"
                              }
                          }
                      ]
                  }
              }
          }
      },
      "SNSEventDestination" : {
          "Type" : "AWS::SES::ConfigurationSetEventDestination",
          "Properties" : {
              "ConfigurationSetName" : {
                  "Ref": "ConfigSetName"
              },
              "EventDestination" : {
                  "Name" : {
                      "Ref" : "EventSNSDestinationName"
                  },
                  "Enabled" : true,
                  "MatchingEventTypes" : [
                      {
                          "Ref" : "EventTypeBounce"
                      },
                      {
                          "Ref" : "EventTypeComplaint"
                      },
                      {
                          "Ref" : "EventTypeDelivery"
                      },
                      {
                          "Ref" : "EventTypeReject"
                      },
                      {
                          "Ref" : "EventTypeSend"
                      }
                  ],
                  "SNSDestination" : {
                      "TopicARN" : "${SNS_DELIVERY_TOPIC}"
                  } 
              }
          }
      }
  }
  </code></pre>
  
  <p>}</p>
  
  <p><strong>Can someone pls help? BTW, I have the lastest AWS cli with me.</strong></p>