Repository: aws-cloudformation/cfn-lint

Issue:
Invalid Property Resources/SESConfigurationSetDestination/Properties/EventDestination/SnsDestination
### CloudFormation Lint Version

0.77.8

### What operating system are you using?

Mac/Ubuntu

### Describe the bug

cfn-lint outputs:

Invalid Property Resources/SESConfigurationSetDestination/Properties/EventDestination/SnsDestination

But this is a valid property:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-configurationseteventdestination-eventdestination.html#cfn-ses-configurationseteventdestination-eventdestination-snsdestination

### Expected behavior

cfn-lint doesn't output an error

### Reproduction template

```yaml
Resources:
  SESConfigurationSetDestination:
    Type: AWS::SES::ConfigurationSetEventDestination
    Properties:
      ConfigurationSetName: Name
      EventDestination:
        Name: DestinationName
        Enabled: true
        MatchingEventTypes:
          - send
          - reject
          - bounce
          - complaint
          - delivery
        SnsDestination:
          TopicARN: Arn
```


Discussion:
Not able to reproduce. This is what I'm getting from your sample template.

```
(cfn-python-lint-wusv) ➜  cfn-python-lint git:(main) cfn-lint --version    
cfn-lint 0.77.8
(cfn-python-lint-wusv) ➜  cfn-python-lint git:(main) cfn-lint local/issue/2764.yaml
E3031 TopicARN contains invalid characters (Pattern: ^arn:aws[a-z0-9-]*:sns:[a-z0-9-]+:\d{12}:[^:]+$) at Resources/SESConfigurationSetDestination/Properties/EventDestination/SnsDestination/TopicARN
local/issue/2764.yaml:16:11

E3033 String has to have length between 36 and 1024 at Resources/SESConfigurationSetDestination/Properties/EventDestination/SnsDestination/TopicARN. Current length 3.
local/issue/2764.yaml:16:11
```

@kddejong 
```yaml
Resources:
  SESConfigurationSetDestination:
    Type: AWS::SES::ConfigurationSetEventDestination
    Properties:
      ConfigurationSetName: Name
      EventDestination:
        Name: DestinationName
        Enabled: true
        MatchingEventTypes:
          - send
          - reject
          - bounce
          - complaint
          - delivery
        SnsDestination:
          TopicARN: arn:aws:sns:us-east-2:000000000000:arn
```
```
(cfn-python-lint-wusv) ➜  cfn-python-lint git:(main) cfn-lint --version
cfn-lint 0.77.8
(cfn-python-lint-wusv) ➜  cfn-python-lint git:(main) cfn-lint local/issue/2764.yaml
(cfn-python-lint-wusv) ➜  cfn-python-lint git:(main) 
```

Wonder if we should try to uninstall and re-install cfn-lint.  Are you getting this issue in your IDE, CLI, CI/CD?
Can you try run `cfn-lint --update-specs` and see if it changes anything?
I'm seeing this on my local Mac CLI as well as on our CI/CD Ubuntu CLI, which redownloads cfn-lint every time.

Actually, this may be because of the `us-east-2` region. Here is the full command that I'm running. Sorry, should've provided this earlier:
`cfn-lint --format pretty --regions us-east-2 --include-checks I --configure-rule E3012:strict=True I3042:region=True I3042:accountId=True --info cloud-formation-template.yaml`
yea just figured that out :) looking into it now.
Figured out the issue. Working on a fix now.

Resolving patch:
diff --git a/scripts/update_specs_services_from_ssm.py b/scripts/update_specs_services_from_ssm.py
--- a/scripts/update_specs_services_from_ssm.py
+++ b/scripts/update_specs_services_from_ssm.py
@@ -204,12 +204,12 @@ def add_spec_missing_services_patch(region, services):
                                 elif standard_spec_type == "ResourceTypes":
                                     print("patch for %s not found" % service)
 
-    if patches:
-        filename = (
-            "src/cfnlint/data/ExtendedSpecs/%s/07_ssm_service_addition.json" % region
-        )
-        with open(filename, "w+", encoding="utf-8") as f:
-            json.dump(patches, f, indent=1, sort_keys=True, separators=(",", ": "))
+    filename = (
+        "src/cfnlint/data/ExtendedSpecs/%s/07_ssm_service_addition.json" % region
+    )
+    with open(filename, "w+", encoding="utf-8") as f:
+        json.dump(patches, f, indent=1, sort_keys=True, separators=(",", ": "))
+            
 
 
 def main():


Test patch: