Repository: aws-cloudformation/cfn-lint

Issue:
Support serverless v2 DBInstanceClass
*cfn-lint version: 0.59.0*

*Allowed list of DBInstanceClass does not include "db.serverless"*

Please provide as much information as possible:
* Template linting issues:
  * Please provide a CloudFormation sample that generated the issue.
```
  DbInstance0:
    Type: AWS::RDS::DBInstance
    Properties:
      Engine: aurora-postgresql
      DBClusterIdentifier: !Ref MyAuroraCluster
      DBInstanceClass: db.serverless
```
* Feature request:
  * List of allowed db instance class to include `db.serverless`.  Documentation: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html#Concepts.DBInstanceClass.Types


Cfn-lint uses the [CloudFormation Resource Specifications](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-resource-specification.html) as the base to do validation. These files are included as part of the application version. Please update to the latest version of `cfn-lint` or update the spec files manually (`cfn-lint -u`)
- Yes this fixes it for me locally, but I need a release with the change because I'm running it via [GitHub actions](https://github.com/ScottBrenner/cfn-lint-action).


Discussion:
> * this fixes it for me locally

surprised by that since [we're pulling those lists from pricing](https://github.com/aws-cloudformation/cfn-lint/blob/main/scripts/update_specs_from_pricing.py) and I don't see `db.serverless` in [RDS' pricing file](https://pricing.us-east-1.amazonaws.com/offers/v1.0/aws/AmazonRDS/current/index.json) or being picked up by our automated `cfn-lint -u` runs: https://github.com/aws-cloudformation/cfn-lint/pull/2255


Locally, I still see `db.serverless` issues after running `cfn-lint -u`:
`E3025 DBInstanceClass "db.serverless" is not compatible with engine type "aurora-postgresql" and LicenseModel "general-public-license" in region "us-east-1". Use instance types [db.r4.16xlarge, db.r4.2xlarge, db.r4.4xlarge, db.r4.8xlarge, db.r4.large, db.r4.xlarge, db.r5.12xlarge, db.r5.16xlarge, db.r5.24xlarge, db.r5.2xlarge, db.r5.4xlarge, db.r5.8xlarge, db.r5.large, db.r5.xlarge, db.r6g.12xlarge, db.r6g.16xlarge, db.r6g.2xlarge, db.r6g.4xlarge, db.r6g.8xlarge, db.r6g.large, db.r6g.xlarge, db.t3.large, db.t3.medium, db.t4g.large, db.t4g.medium, db.x2g.12xlarge, db.x2g.16xlarge, db.x2g.2xlarge, db.x2g.4xlarge, db.x2g.8xlarge, db.x2g.large, db.x2g.xlarge]`

---

**Recommend working around with [resource-level ignores](https://github.com/aws-cloudformation/cfn-python-lint#resource-based-metadata) since this doesn't look like a quick fix**

https://aws.amazon.com/about-aws/whats-new/2022/10/amazon-aurora-serverless-v2-supports-aws-cloudformation/?nc1=h_ls

Amazon Aurora Serverless v2 supports AWS CloudFormation on Oct 5, 2022 .
So I want to support it .

Resolving patch:
diff --git a/scripts/update_specs_from_pricing.py b/scripts/update_specs_from_pricing.py
--- a/scripts/update_specs_from_pricing.py
+++ b/scripts/update_specs_from_pricing.py
@@ -178,7 +178,7 @@ def get_rds_pricing():
                         if not rds_specs.get(license_name).get(product_name):
                             rds_specs[license_name][product_name] = {}
                         if not rds_specs.get(license_name).get(product_name).get(product_region):
-                            rds_specs[license_name][product_name][product_region] = set()
+                            rds_specs[license_name][product_name][product_region] = set(['db.serverless'])
 
                         rds_specs[license_name][product_name][product_region].add(instance_type)
 


Test patch: