package forecast

import (
	"fmt"

	"github.com/aws-cloudformation/rain/cft"
	"github.com/aws-cloudformation/rain/cft/graph"
	"github.com/aws-cloudformation/rain/internal/config"
	"github.com/aws-cloudformation/rain/internal/s11n"
)

// Estimates is a map of resource type name to ResourceEstimates, which are based on historical averages
var Estimates map[string]ResourceEstimate

// ResourceEstimate stores the estimated time, in seconds, to create,
// update, or delete a specific resource type.
// The Name is something like "AWS::S3::Bucket"
type ResourceEstimate struct {
	Name   string
	Create int
	Update int
	Delete int
}

// NewResourceEstimate creates a new instance of ResourceEstimate
func NewResourceEstimate(name string, create int, update int, del int) ResourceEstimate {
	est := ResourceEstimate{}
	est.Name = name
	est.Create = create
	est.Update = update
	est.Delete = del
	return est
}

type StackAction string

const (
	Create StackAction = "create"
	Update StackAction = "update"
	Delete StackAction = "delete"
)

// GetResourceEstimate returns the estimated time an action will take for the given resource type
func GetResourceEstimate(resourceType string, action StackAction) (int, error) {

	est, exists := Estimates[resourceType]
	if exists {
		switch action {
		case Create:
			return est.Create, nil
		case Update:
			return est.Update, nil
		case Delete:
			return est.Delete, nil
		}
		return 0, nil
	} else {
		return 0, fmt.Errorf("no estimate available for %v", resourceType)
	}
}

// getResourceType returns the resource type for the logical id
// For example, "MyBucket" would return "AWS::S3::Bucket" if it is present,
// otherwise "" is returned
func getResourceType(t *cft.Template, logicalId string) string {
	rootMap := t.Node.Content[0]
	_, resources, _ := s11n.GetMapValue(rootMap, "Resources")
	if resources == nil {
		panic("Expected to find a Resources section in the template")
	}
	for i, r := range resources.Content {
		if i%2 != 0 {
			continue
		}
		if logicalId == r.Value {
			resource := resources.Content[i+1]
			_, typeNode, _ := s11n.GetMapValue(resource, "Type")
			if typeNode == nil {
				panic(fmt.Sprintf("Expected %v to have a Type", logicalId))
			}
			return typeNode.Value
		}
	}
	return ""
}

// addDurations is a recursive function that dives down dependencies to add
// the total duration estimated for stack actions
func addDurations(
	g graph.Graph,
	t *cft.Template,
	action StackAction,
	dependencies []graph.Node,
	parentDuration *int,
	indent string) {

	if len(dependencies) == 0 {
		return
	}

	maxDuration := 0

	for _, d := range dependencies {
		if d.Type != "Resources" {
			continue
		}
		drt := getResourceType(t, d.Name)
		if drt == "" {
			panic(fmt.Sprintf("unexpected: no Type for %v", d.Name))
		}
		dd, err := GetResourceEstimate(drt, action)
		if err != nil {
			config.Debugf("no estimate for %v", drt)
			continue
		}

		childDuration := dd
		addDurations(g, t, action, g.Get(d), &childDuration, indent+"  ")
		if maxDuration < childDuration {
			maxDuration = childDuration
		}
	}

	*parentDuration += maxDuration
}

// PredictTotalEstimate returns the total number of seconds expected to deploy the stack.
// This function takes into account resources that will be deployed in parallel.
func PredictTotalEstimate(t *cft.Template, stackExists bool) int {
	total := 0

	var action StackAction
	action = "create"
	if stackExists {
		action = "update"
	}

	// Build a graph of dependencies
	g := graph.New(t)

	// Dive down each path, add up durations. Longest duration from the top wins.
	//
	// (Downward is "depends on")
	//
	//       A   E  F      A: 2s
	//      / \ /    \     B: 4s
	//     B   C      G    C: 1s
	//          \          D: 6s
	//           D         E: 8s
	//                     F: 2s
	//                     G: 1s
	//
	// Deployment order:
	//
	// B-A		= 6s
	// D-C-A    = 9s
	// D-C-E    = 15s
	// G-F      = 3s
	//
	// Expected deployment time is 15s

	nodes := g.Nodes()
	for _, n := range nodes {
		if n.Type != "Resources" {
			continue
		}
		// For every node in the graph, walk down its dependencies and
		// add up the total duration.

		resourceType := getResourceType(t, n.Name)
		if resourceType == "" {
			panic(fmt.Sprintf("unexpected: no Type for %v", n.Name))
		}
		duration, err := GetResourceEstimate(resourceType, action)
		if err != nil {
			config.Debugf("no estimate for %v", resourceType)
			continue
		}

		dependencies := g.Get(n)
		addDurations(g, t, action, dependencies, &duration, "  ")

		if total < duration {
			total = duration
		}
	}

	return total
}

// FormatEstimate returns a string in human readable format to represent the number of seconds.
// For example, 61 would return "0h, 1m, 1s"
func FormatEstimate(total int) string {
	return fmt.Sprintf("%vh, %vm, %vs", total/3600, total/60, total%60)
}

// init initializes the Estimates map for all AWS resource types
func InitEstimates() {

	Estimates = make(map[string]ResourceEstimate, 0)

	Estimates["AWS::ACMPCA::Certificate"] = NewResourceEstimate("AWS::ACMPCA::Certificate", 3, 0, 1)
	Estimates["AWS::ACMPCA::CertificateAuthority"] = NewResourceEstimate("AWS::ACMPCA::CertificateAuthority", 3, 2, 1)
	Estimates["AWS::ACMPCA::CertificateAuthorityActivation"] = NewResourceEstimate("AWS::ACMPCA::CertificateAuthorityActivation", 2, 2, 1)
	Estimates["AWS::ACMPCA::Permission"] = NewResourceEstimate("AWS::ACMPCA::Permission", 1, 0, 1)
	Estimates["AWS::APS::RuleGroupsNamespace"] = NewResourceEstimate("AWS::APS::RuleGroupsNamespace", 47, 44, 1)
	Estimates["AWS::APS::Workspace"] = NewResourceEstimate("AWS::APS::Workspace", 30, 66, 1)
	Estimates["AWS::AccessAnalyzer::Analyzer"] = NewResourceEstimate("AWS::AccessAnalyzer::Analyzer", 1, 1, 1)
	Estimates["AWS::AmazonMQ::Broker"] = NewResourceEstimate("AWS::AmazonMQ::Broker", 604, 3, 1)
	Estimates["AWS::AmazonMQ::Configuration"] = NewResourceEstimate("AWS::AmazonMQ::Configuration", 2, 1, 1)
	Estimates["AWS::AmazonMQ::ConfigurationAssociation"] = NewResourceEstimate("AWS::AmazonMQ::ConfigurationAssociation", 177, 1, 1)
	Estimates["AWS::Amplify::App"] = NewResourceEstimate("AWS::Amplify::App", 2, 3, 1)
	Estimates["AWS::Amplify::Branch"] = NewResourceEstimate("AWS::Amplify::Branch", 2, 3, 1)
	Estimates["AWS::Amplify::Domain"] = NewResourceEstimate("AWS::Amplify::Domain", 46, 1, 1)
	Estimates["AWS::AmplifyUIBuilder::Component"] = NewResourceEstimate("AWS::AmplifyUIBuilder::Component", 2, 2, 1)
	Estimates["AWS::AmplifyUIBuilder::Form"] = NewResourceEstimate("AWS::AmplifyUIBuilder::Form", 2, 2, 1)
	Estimates["AWS::AmplifyUIBuilder::Theme"] = NewResourceEstimate("AWS::AmplifyUIBuilder::Theme", 1, 2, 1)
	Estimates["AWS::AmplifyUIBuilder::View"] = NewResourceEstimate("AWS::AmplifyUIBuilder::View", 2, 2, 1)
	Estimates["AWS::ApiGateway::Account"] = NewResourceEstimate("AWS::ApiGateway::Account", 2, 1, 1)
	Estimates["AWS::ApiGateway::ApiKey"] = NewResourceEstimate("AWS::ApiGateway::ApiKey", 2, 1, 1)
	Estimates["AWS::ApiGateway::Authorizer"] = NewResourceEstimate("AWS::ApiGateway::Authorizer", 1, 0, 1)
	Estimates["AWS::ApiGateway::BasePathMapping"] = NewResourceEstimate("AWS::ApiGateway::BasePathMapping", 12, 0, 1)
	Estimates["AWS::ApiGateway::ClientCertificate"] = NewResourceEstimate("AWS::ApiGateway::ClientCertificate", 2, 2, 1)
	Estimates["AWS::ApiGateway::Deployment"] = NewResourceEstimate("AWS::ApiGateway::Deployment", 3, 2, 1)
	Estimates["AWS::ApiGateway::DocumentationPart"] = NewResourceEstimate("AWS::ApiGateway::DocumentationPart", 1, 3, 1)
	Estimates["AWS::ApiGateway::DocumentationVersion"] = NewResourceEstimate("AWS::ApiGateway::DocumentationVersion", 2, 1, 1)
	Estimates["AWS::ApiGateway::DomainName"] = NewResourceEstimate("AWS::ApiGateway::DomainName", 14, 3, 1)
	Estimates["AWS::ApiGateway::GatewayResponse"] = NewResourceEstimate("AWS::ApiGateway::GatewayResponse", 1, 1, 1)
	Estimates["AWS::ApiGateway::Method"] = NewResourceEstimate("AWS::ApiGateway::Method", 2, 2, 1)
	Estimates["AWS::ApiGateway::Model"] = NewResourceEstimate("AWS::ApiGateway::Model", 2, 2, 1)
	Estimates["AWS::ApiGateway::RequestValidator"] = NewResourceEstimate("AWS::ApiGateway::RequestValidator", 2, 4, 1)
	Estimates["AWS::ApiGateway::Resource"] = NewResourceEstimate("AWS::ApiGateway::Resource", 2, 0, 1)
	Estimates["AWS::ApiGateway::RestApi"] = NewResourceEstimate("AWS::ApiGateway::RestApi", 2, 2, 1)
	Estimates["AWS::ApiGateway::Stage"] = NewResourceEstimate("AWS::ApiGateway::Stage", 2, 2, 1)
	Estimates["AWS::ApiGateway::UsagePlan"] = NewResourceEstimate("AWS::ApiGateway::UsagePlan", 2, 1, 1)
	Estimates["AWS::ApiGateway::UsagePlanKey"] = NewResourceEstimate("AWS::ApiGateway::UsagePlanKey", 2, 0, 1)
	Estimates["AWS::ApiGateway::VpcLink"] = NewResourceEstimate("AWS::ApiGateway::VpcLink", 429, 2, 1)
	Estimates["AWS::ApiGatewayV2::AccessPolicy"] = NewResourceEstimate("AWS::ApiGatewayV2::AccessPolicy", 2, 3, 1)
	Estimates["AWS::ApiGatewayV2::Api"] = NewResourceEstimate("AWS::ApiGatewayV2::Api", 2, 1, 1)
	Estimates["AWS::ApiGatewayV2::ApiMapping"] = NewResourceEstimate("AWS::ApiGatewayV2::ApiMapping", 1, 1, 1)
	Estimates["AWS::ApiGatewayV2::Authorizer"] = NewResourceEstimate("AWS::ApiGatewayV2::Authorizer", 1, 0, 1)
	Estimates["AWS::ApiGatewayV2::Deployment"] = NewResourceEstimate("AWS::ApiGatewayV2::Deployment", 2, 0, 1)
	Estimates["AWS::ApiGatewayV2::DomainName"] = NewResourceEstimate("AWS::ApiGatewayV2::DomainName", 6, 1, 1)
	Estimates["AWS::ApiGatewayV2::Integration"] = NewResourceEstimate("AWS::ApiGatewayV2::Integration", 1, 0, 1)
	Estimates["AWS::ApiGatewayV2::IntegrationResponse"] = NewResourceEstimate("AWS::ApiGatewayV2::IntegrationResponse", 1, 1, 1)
	Estimates["AWS::ApiGatewayV2::Model"] = NewResourceEstimate("AWS::ApiGatewayV2::Model", 1, 1, 1)
	Estimates["AWS::ApiGatewayV2::Route"] = NewResourceEstimate("AWS::ApiGatewayV2::Route", 1, 3, 1)
	Estimates["AWS::ApiGatewayV2::RouteResponse"] = NewResourceEstimate("AWS::ApiGatewayV2::RouteResponse", 1, 0, 1)
	Estimates["AWS::ApiGatewayV2::Stage"] = NewResourceEstimate("AWS::ApiGatewayV2::Stage", 1, 1, 1)
	Estimates["AWS::ApiGatewayV2::VpcLink"] = NewResourceEstimate("AWS::ApiGatewayV2::VpcLink", 124, 0, 1)
	Estimates["AWS::AppConfig::Application"] = NewResourceEstimate("AWS::AppConfig::Application", 1, 1, 1)
	Estimates["AWS::AppConfig::ConfigurationProfile"] = NewResourceEstimate("AWS::AppConfig::ConfigurationProfile", 1, 0, 1)
	Estimates["AWS::AppConfig::Deployment"] = NewResourceEstimate("AWS::AppConfig::Deployment", 133, 0, 1)
	Estimates["AWS::AppConfig::DeploymentStrategy"] = NewResourceEstimate("AWS::AppConfig::DeploymentStrategy", 1, 1, 1)
	Estimates["AWS::AppConfig::Environment"] = NewResourceEstimate("AWS::AppConfig::Environment", 1, 1, 1)
	Estimates["AWS::AppConfig::Extension"] = NewResourceEstimate("AWS::AppConfig::Extension", 1, 0, 1)
	Estimates["AWS::AppConfig::ExtensionAssociation"] = NewResourceEstimate("AWS::AppConfig::ExtensionAssociation", 1, 1, 1)
	Estimates["AWS::AppConfig::HostedConfigurationVersion"] = NewResourceEstimate("AWS::AppConfig::HostedConfigurationVersion", 1, 0, 1)
	Estimates["AWS::AppFlow::Connector"] = NewResourceEstimate("AWS::AppFlow::Connector", 2, 0, 1)
	Estimates["AWS::AppFlow::ConnectorProfile"] = NewResourceEstimate("AWS::AppFlow::ConnectorProfile", 9, 10, 1)
	Estimates["AWS::AppFlow::Flow"] = NewResourceEstimate("AWS::AppFlow::Flow", 10, 10, 1)
	Estimates["AWS::AppIntegrations::Application"] = NewResourceEstimate("AWS::AppIntegrations::Application", 1, 1, 1)
	Estimates["AWS::AppIntegrations::DataIntegration"] = NewResourceEstimate("AWS::AppIntegrations::DataIntegration", 2, 2, 1)
	Estimates["AWS::AppIntegrations::EventIntegration"] = NewResourceEstimate("AWS::AppIntegrations::EventIntegration", 1, 2, 1)
	Estimates["AWS::AppMesh::GatewayRoute"] = NewResourceEstimate("AWS::AppMesh::GatewayRoute", 2, 1, 1)
	Estimates["AWS::AppMesh::Mesh"] = NewResourceEstimate("AWS::AppMesh::Mesh", 1, 1, 1)
	Estimates["AWS::AppMesh::Route"] = NewResourceEstimate("AWS::AppMesh::Route", 2, 1, 1)
	Estimates["AWS::AppMesh::VirtualGateway"] = NewResourceEstimate("AWS::AppMesh::VirtualGateway", 2, 1, 1)
	Estimates["AWS::AppMesh::VirtualNode"] = NewResourceEstimate("AWS::AppMesh::VirtualNode", 6, 1, 1)
	Estimates["AWS::AppMesh::VirtualRouter"] = NewResourceEstimate("AWS::AppMesh::VirtualRouter", 1, 1, 1)
	Estimates["AWS::AppMesh::VirtualService"] = NewResourceEstimate("AWS::AppMesh::VirtualService", 1, 1, 1)
	Estimates["AWS::AppRunner::AutoScalingConfiguration"] = NewResourceEstimate("AWS::AppRunner::AutoScalingConfiguration", 1, 1, 1)
	Estimates["AWS::AppRunner::ObservabilityConfiguration"] = NewResourceEstimate("AWS::AppRunner::ObservabilityConfiguration", 1, 1, 1)
	Estimates["AWS::AppRunner::Service"] = NewResourceEstimate("AWS::AppRunner::Service", 218, 143, 1)
	Estimates["AWS::AppRunner::VpcConnector"] = NewResourceEstimate("AWS::AppRunner::VpcConnector", 2, 1, 1)
	Estimates["AWS::AppRunner::VpcIngressConnection"] = NewResourceEstimate("AWS::AppRunner::VpcIngressConnection", 38, 0, 1)
	Estimates["AWS::AppStream::AppBlock"] = NewResourceEstimate("AWS::AppStream::AppBlock", 2, 1, 1)
	Estimates["AWS::AppStream::Application"] = NewResourceEstimate("AWS::AppStream::Application", 2, 2, 1)
	Estimates["AWS::AppStream::ApplicationEntitlementAssociation"] = NewResourceEstimate("AWS::AppStream::ApplicationEntitlementAssociation", 1, 1, 1)
	Estimates["AWS::AppStream::ApplicationFleetAssociation"] = NewResourceEstimate("AWS::AppStream::ApplicationFleetAssociation", 2, 1, 1)
	Estimates["AWS::AppStream::DirectoryConfig"] = NewResourceEstimate("AWS::AppStream::DirectoryConfig", 2, 1, 1)
	Estimates["AWS::AppStream::Entitlement"] = NewResourceEstimate("AWS::AppStream::Entitlement", 1, 0, 1)
	Estimates["AWS::AppStream::Fleet"] = NewResourceEstimate("AWS::AppStream::Fleet", 20, 3, 1)
	Estimates["AWS::AppStream::ImageBuilder"] = NewResourceEstimate("AWS::AppStream::ImageBuilder", 817, 1, 1)
	Estimates["AWS::AppStream::Stack"] = NewResourceEstimate("AWS::AppStream::Stack", 1, 1, 0)
	Estimates["AWS::AppStream::StackFleetAssociation"] = NewResourceEstimate("AWS::AppStream::StackFleetAssociation", 2, 0, 1)
	Estimates["AWS::AppSync::ApiCache"] = NewResourceEstimate("AWS::AppSync::ApiCache", 437, 1, 1)
	Estimates["AWS::AppSync::ApiKey"] = NewResourceEstimate("AWS::AppSync::ApiKey", 2, 2, 1)
	Estimates["AWS::AppSync::DataSource"] = NewResourceEstimate("AWS::AppSync::DataSource", 2, 1, 1)
	Estimates["AWS::AppSync::DomainName"] = NewResourceEstimate("AWS::AppSync::DomainName", 5, 1, 1)
	Estimates["AWS::AppSync::DomainNameApiAssociation"] = NewResourceEstimate("AWS::AppSync::DomainNameApiAssociation", 313, 200, 1)
	Estimates["AWS::AppSync::FunctionConfiguration"] = NewResourceEstimate("AWS::AppSync::FunctionConfiguration", 2, 2, 1)
	Estimates["AWS::AppSync::GraphQLApi"] = NewResourceEstimate("AWS::AppSync::GraphQLApi", 2, 2, 1)
	Estimates["AWS::AppSync::GraphQLSchema"] = NewResourceEstimate("AWS::AppSync::GraphQLSchema", 8, 8, 1)
	Estimates["AWS::AppSync::Resolver"] = NewResourceEstimate("AWS::AppSync::Resolver", 7, 1, 1)
	Estimates["AWS::AppSync::SourceApiAssociation"] = NewResourceEstimate("AWS::AppSync::SourceApiAssociation", 7, 2, 1)
	Estimates["AWS::ApplicationAutoScaling::ScalableTarget"] = NewResourceEstimate("AWS::ApplicationAutoScaling::ScalableTarget", 2, 0, 1)
	Estimates["AWS::ApplicationAutoScaling::ScalingPolicy"] = NewResourceEstimate("AWS::ApplicationAutoScaling::ScalingPolicy", 1, 0, 1)
	Estimates["AWS::ApplicationInsights::Application"] = NewResourceEstimate("AWS::ApplicationInsights::Application", 45, 1, 1)
	Estimates["AWS::Athena::CapacityReservation"] = NewResourceEstimate("AWS::Athena::CapacityReservation", 84, 2, 1)
	Estimates["AWS::Athena::DataCatalog"] = NewResourceEstimate("AWS::Athena::DataCatalog", 1, 1, 1)
	Estimates["AWS::Athena::NamedQuery"] = NewResourceEstimate("AWS::Athena::NamedQuery", 5, 1, 1)
	Estimates["AWS::Athena::PreparedStatement"] = NewResourceEstimate("AWS::Athena::PreparedStatement", 3, 2, 1)
	Estimates["AWS::Athena::WorkGroup"] = NewResourceEstimate("AWS::Athena::WorkGroup", 2, 2, 1)
	Estimates["AWS::AuditManager::Assessment"] = NewResourceEstimate("AWS::AuditManager::Assessment", 2, 2, 1)
	Estimates["AWS::AutoScaling::AutoScalingGroup"] = NewResourceEstimate("AWS::AutoScaling::AutoScalingGroup", 3, 3, 1)
	Estimates["AWS::AutoScaling::LaunchConfiguration"] = NewResourceEstimate("AWS::AutoScaling::LaunchConfiguration", 2, 0, 1)
	Estimates["AWS::AutoScaling::LifecycleHook"] = NewResourceEstimate("AWS::AutoScaling::LifecycleHook", 2, 1, 1)
	Estimates["AWS::AutoScaling::ScalingPolicy"] = NewResourceEstimate("AWS::AutoScaling::ScalingPolicy", 7, 0, 1)
	Estimates["AWS::AutoScaling::ScheduledAction"] = NewResourceEstimate("AWS::AutoScaling::ScheduledAction", 12, 0, 1)
	Estimates["AWS::AutoScaling::WarmPool"] = NewResourceEstimate("AWS::AutoScaling::WarmPool", 24, 12, 1)
	Estimates["AWS::AutoScalingPlans::ScalingPlan"] = NewResourceEstimate("AWS::AutoScalingPlans::ScalingPlan", 61, 1, 1)
	Estimates["AWS::Backup::BackupPlan"] = NewResourceEstimate("AWS::Backup::BackupPlan", 4, 1, 1)
	Estimates["AWS::Backup::BackupSelection"] = NewResourceEstimate("AWS::Backup::BackupSelection", 2, 2, 1)
	Estimates["AWS::Backup::BackupVault"] = NewResourceEstimate("AWS::Backup::BackupVault", 2, 1, 1)
	Estimates["AWS::Backup::Framework"] = NewResourceEstimate("AWS::Backup::Framework", 22, 22, 1)
	Estimates["AWS::Backup::ReportPlan"] = NewResourceEstimate("AWS::Backup::ReportPlan", 7, 7, 1)
	Estimates["AWS::BackupGateway::Hypervisor"] = NewResourceEstimate("AWS::BackupGateway::Hypervisor", 2, 2, 1)
	Estimates["AWS::Batch::ComputeEnvironment"] = NewResourceEstimate("AWS::Batch::ComputeEnvironment", 7, 8, 1)
	Estimates["AWS::Batch::JobDefinition"] = NewResourceEstimate("AWS::Batch::JobDefinition", 6, 6, 1)
	Estimates["AWS::Batch::JobQueue"] = NewResourceEstimate("AWS::Batch::JobQueue", 7, 6, 1)
	Estimates["AWS::Batch::SchedulingPolicy"] = NewResourceEstimate("AWS::Batch::SchedulingPolicy", 1, 1, 1)
	Estimates["AWS::Budgets::Budget"] = NewResourceEstimate("AWS::Budgets::Budget", 1, 16, 1)
	Estimates["AWS::Budgets::BudgetsAction"] = NewResourceEstimate("AWS::Budgets::BudgetsAction", 1, 2, 1)
	Estimates["AWS::CDK::GammaMetadata"] = NewResourceEstimate("AWS::CDK::GammaMetadata", 2, 1, 1)
	Estimates["AWS::CDK::Metadata"] = NewResourceEstimate("AWS::CDK::Metadata", 1, 1, 1)
	Estimates["AWS::CE::CostCategory"] = NewResourceEstimate("AWS::CE::CostCategory", 1, 2, 1)
	Estimates["AWS::CUR::ReportDefinition"] = NewResourceEstimate("AWS::CUR::ReportDefinition", 2, 1, 1)
	Estimates["AWS::Canary::SubnetCidrBlockCleanUp"] = NewResourceEstimate("AWS::Canary::SubnetCidrBlockCleanUp", 12, 1, 1)
	Estimates["AWS::Cassandra::Keyspace"] = NewResourceEstimate("AWS::Cassandra::Keyspace", 16, 4, 1)
	Estimates["AWS::Cassandra::Table"] = NewResourceEstimate("AWS::Cassandra::Table", 27, 38, 1)
	Estimates["AWS::CertificateManager::Account"] = NewResourceEstimate("AWS::CertificateManager::Account", 3, 1, 1)
	Estimates["AWS::CertificateManager::Certificate"] = NewResourceEstimate("AWS::CertificateManager::Certificate", 239, 0, 1)
	Estimates["AWS::Chatbot::MicrosoftTeamsChannelConfiguration"] = NewResourceEstimate("AWS::Chatbot::MicrosoftTeamsChannelConfiguration", 2, 2, 1)
	Estimates["AWS::Chatbot::SlackChannelConfiguration"] = NewResourceEstimate("AWS::Chatbot::SlackChannelConfiguration", 2, 2, 1)
	Estimates["AWS::CleanRooms::AnalysisTemplate"] = NewResourceEstimate("AWS::CleanRooms::AnalysisTemplate", 4, 1, 1)
	Estimates["AWS::CleanRooms::Collaboration"] = NewResourceEstimate("AWS::CleanRooms::Collaboration", 3, 2, 1)
	Estimates["AWS::CleanRooms::ConfiguredTable"] = NewResourceEstimate("AWS::CleanRooms::ConfiguredTable", 4, 3, 1)
	Estimates["AWS::CleanRooms::ConfiguredTableAssociation"] = NewResourceEstimate("AWS::CleanRooms::ConfiguredTableAssociation", 4, 3, 1)
	Estimates["AWS::CleanRooms::Membership"] = NewResourceEstimate("AWS::CleanRooms::Membership", 4, 2, 1)
	Estimates["AWS::Cloud9::EnvironmentEC2"] = NewResourceEstimate("AWS::Cloud9::EnvironmentEC2", 48, 1, 1)
	Estimates["AWS::CloudFormation::CustomResource"] = NewResourceEstimate("AWS::CloudFormation::CustomResource", 119, 19, 1)
	Estimates["AWS::CloudFormation::HookDefaultVersion"] = NewResourceEstimate("AWS::CloudFormation::HookDefaultVersion", 3, 1, 1)
	Estimates["AWS::CloudFormation::HookTypeConfig"] = NewResourceEstimate("AWS::CloudFormation::HookTypeConfig", 1, 1, 1)
	Estimates["AWS::CloudFormation::HookVersion"] = NewResourceEstimate("AWS::CloudFormation::HookVersion", 44, 1, 1)
	Estimates["AWS::CloudFormation::Macro"] = NewResourceEstimate("AWS::CloudFormation::Macro", 1, 0, 1)
	Estimates["AWS::CloudFormation::ModuleDefaultVersion"] = NewResourceEstimate("AWS::CloudFormation::ModuleDefaultVersion", 1, 1, 1)
	Estimates["AWS::CloudFormation::ModuleVersion"] = NewResourceEstimate("AWS::CloudFormation::ModuleVersion", 17, 1, 1)
	Estimates["AWS::CloudFormation::PublicTypeVersion"] = NewResourceEstimate("AWS::CloudFormation::PublicTypeVersion", 167, 1, 1)
	Estimates["AWS::CloudFormation::Publisher"] = NewResourceEstimate("AWS::CloudFormation::Publisher", 1, 1, 1)
	Estimates["AWS::CloudFormation::ResourceDefaultVersion"] = NewResourceEstimate("AWS::CloudFormation::ResourceDefaultVersion", 3, 1, 1)
	Estimates["AWS::CloudFormation::ResourceTypeVersion"] = NewResourceEstimate("AWS::CloudFormation::ResourceTypeVersion", 1, 1, 1)
	Estimates["AWS::CloudFormation::ResourceTypeVersionMapping"] = NewResourceEstimate("AWS::CloudFormation::ResourceTypeVersionMapping", 1, 0, 1)
	Estimates["AWS::CloudFormation::ResourceVersion"] = NewResourceEstimate("AWS::CloudFormation::ResourceVersion", 108, 1, 1)
	Estimates["AWS::CloudFormation::Stack"] = NewResourceEstimate("AWS::CloudFormation::Stack", 133, 37, 1)
	Estimates["AWS::CloudFormation::StackSet"] = NewResourceEstimate("AWS::CloudFormation::StackSet", 17, 16, 1)
	Estimates["AWS::CloudFormation::Transform"] = NewResourceEstimate("AWS::CloudFormation::Transform", 1, 0, 1)
	Estimates["AWS::CloudFormation::TypeActivation"] = NewResourceEstimate("AWS::CloudFormation::TypeActivation", 1, 1, 1)
	Estimates["AWS::CloudFormation::WaitCondition"] = NewResourceEstimate("AWS::CloudFormation::WaitCondition", 210, 0, 1)
	Estimates["AWS::CloudFormation::WaitConditionHandle"] = NewResourceEstimate("AWS::CloudFormation::WaitConditionHandle", 0, 0, 1)
	Estimates["AWS::CloudFront::CachePolicy"] = NewResourceEstimate("AWS::CloudFront::CachePolicy", 2, 4, 1)
	Estimates["AWS::CloudFront::CloudFrontOriginAccessIdentity"] = NewResourceEstimate("AWS::CloudFront::CloudFrontOriginAccessIdentity", 2, 2, 1)
	Estimates["AWS::CloudFront::ContinuousDeploymentPolicy"] = NewResourceEstimate("AWS::CloudFront::ContinuousDeploymentPolicy", 2, 2, 1)
	Estimates["AWS::CloudFront::Distribution"] = NewResourceEstimate("AWS::CloudFront::Distribution", 266, 164, 1)
	Estimates["AWS::CloudFront::Function"] = NewResourceEstimate("AWS::CloudFront::Function", 5, 41, 1)
	Estimates["AWS::CloudFront::KeyGroup"] = NewResourceEstimate("AWS::CloudFront::KeyGroup", 2, 2, 1)
	Estimates["AWS::CloudFront::OriginAccessControl"] = NewResourceEstimate("AWS::CloudFront::OriginAccessControl", 2, 0, 1)
	Estimates["AWS::CloudFront::OriginRequestPolicy"] = NewResourceEstimate("AWS::CloudFront::OriginRequestPolicy", 2, 5, 1)
	Estimates["AWS::CloudFront::PublicKey"] = NewResourceEstimate("AWS::CloudFront::PublicKey", 2, 2, 1)
	Estimates["AWS::CloudFront::Random"] = NewResourceEstimate("AWS::CloudFront::Random", 1, 1, 1)
	Estimates["AWS::CloudFront::RealtimeLogConfig"] = NewResourceEstimate("AWS::CloudFront::RealtimeLogConfig", 2, 1, 1)
	Estimates["AWS::CloudFront::ResponseHeadersPolicy"] = NewResourceEstimate("AWS::CloudFront::ResponseHeadersPolicy", 2, 2, 1)
	Estimates["AWS::CloudTrail::Channel"] = NewResourceEstimate("AWS::CloudTrail::Channel", 1, 1, 1)
	Estimates["AWS::CloudTrail::EventDataStore"] = NewResourceEstimate("AWS::CloudTrail::EventDataStore", 4, 3, 1)
	Estimates["AWS::CloudTrail::ResourcePolicy"] = NewResourceEstimate("AWS::CloudTrail::ResourcePolicy", 1, 1, 1)
	Estimates["AWS::CloudTrail::Trail"] = NewResourceEstimate("AWS::CloudTrail::Trail", 2, 2, 1)
	Estimates["AWS::CloudWatch::Alarm"] = NewResourceEstimate("AWS::CloudWatch::Alarm", 2, 0, 1)
	Estimates["AWS::CloudWatch::AnomalyDetector"] = NewResourceEstimate("AWS::CloudWatch::AnomalyDetector", 1, 0, 1)
	Estimates["AWS::CloudWatch::CompositeAlarm"] = NewResourceEstimate("AWS::CloudWatch::CompositeAlarm", 1, 2, 1)
	Estimates["AWS::CloudWatch::Dashboard"] = NewResourceEstimate("AWS::CloudWatch::Dashboard", 2, 1, 1)
	Estimates["AWS::CloudWatch::InsightRule"] = NewResourceEstimate("AWS::CloudWatch::InsightRule", 3, 2, 1)
	Estimates["AWS::CloudWatch::MetricStream"] = NewResourceEstimate("AWS::CloudWatch::MetricStream", 1, 1, 1)
	Estimates["AWS::CodeArtifact::Domain"] = NewResourceEstimate("AWS::CodeArtifact::Domain", 3, 1, 1)
	Estimates["AWS::CodeArtifact::Repository"] = NewResourceEstimate("AWS::CodeArtifact::Repository", 12, 2, 1)
	Estimates["AWS::CodeBuild::Project"] = NewResourceEstimate("AWS::CodeBuild::Project", 2, 3, 1)
	Estimates["AWS::CodeBuild::ReportGroup"] = NewResourceEstimate("AWS::CodeBuild::ReportGroup", 2, 2, 1)
	Estimates["AWS::CodeBuild::SourceCredential"] = NewResourceEstimate("AWS::CodeBuild::SourceCredential", 1, 1, 1)
	Estimates["AWS::CodeCommit::Repository"] = NewResourceEstimate("AWS::CodeCommit::Repository", 2, 1, 1)
	Estimates["AWS::CodeDeploy::Application"] = NewResourceEstimate("AWS::CodeDeploy::Application", 1, 1, 1)
	Estimates["AWS::CodeDeploy::DeploymentConfig"] = NewResourceEstimate("AWS::CodeDeploy::DeploymentConfig", 1, 0, 1)
	Estimates["AWS::CodeDeploy::DeploymentGroup"] = NewResourceEstimate("AWS::CodeDeploy::DeploymentGroup", 20, 9, 1)
	Estimates["AWS::CodeGuruProfiler::ProfilingGroup"] = NewResourceEstimate("AWS::CodeGuruProfiler::ProfilingGroup", 1, 2, 1)
	Estimates["AWS::CodeGuruReviewer::RepositoryAssociation"] = NewResourceEstimate("AWS::CodeGuruReviewer::RepositoryAssociation", 34, 1, 1)
	Estimates["AWS::CodePipeline::CustomActionType"] = NewResourceEstimate("AWS::CodePipeline::CustomActionType", 2, 1, 1)
	Estimates["AWS::CodePipeline::Pipeline"] = NewResourceEstimate("AWS::CodePipeline::Pipeline", 71, 3, 1)
	Estimates["AWS::CodePipeline::Webhook"] = NewResourceEstimate("AWS::CodePipeline::Webhook", 2, 3, 1)
	Estimates["AWS::CodeStar::GitHubRepository"] = NewResourceEstimate("AWS::CodeStar::GitHubRepository", 7, 1, 1)
	Estimates["AWS::CodeStar::Project"] = NewResourceEstimate("AWS::CodeStar::Project", 12, 1, 1)
	Estimates["AWS::CodeStar::SyncResources"] = NewResourceEstimate("AWS::CodeStar::SyncResources", 12, 1, 1)
	Estimates["AWS::CodeStarConnections::Connection"] = NewResourceEstimate("AWS::CodeStarConnections::Connection", 1, 2, 1)
	Estimates["AWS::CodeStarNotifications::NotificationRule"] = NewResourceEstimate("AWS::CodeStarNotifications::NotificationRule", 2, 2, 1)
	Estimates["AWS::CodeTest::PersistentConfiguration"] = NewResourceEstimate("AWS::CodeTest::PersistentConfiguration", 50, 5, 1)
	Estimates["AWS::CodeTest::Series"] = NewResourceEstimate("AWS::CodeTest::Series", 9, 13, 1)
	Estimates["AWS::Cognito::IdentityPool"] = NewResourceEstimate("AWS::Cognito::IdentityPool", 1, 1, 1)
	Estimates["AWS::Cognito::IdentityPoolPrincipalTag"] = NewResourceEstimate("AWS::Cognito::IdentityPoolPrincipalTag", 1, 1, 1)
	Estimates["AWS::Cognito::IdentityPoolRoleAttachment"] = NewResourceEstimate("AWS::Cognito::IdentityPoolRoleAttachment", 1, 1, 1)
	Estimates["AWS::Cognito::UserPool"] = NewResourceEstimate("AWS::Cognito::UserPool", 3, 2, 1)
	Estimates["AWS::Cognito::UserPoolClient"] = NewResourceEstimate("AWS::Cognito::UserPoolClient", 1, 2, 1)
	Estimates["AWS::Cognito::UserPoolDomain"] = NewResourceEstimate("AWS::Cognito::UserPoolDomain", 2, 0, 2)
	Estimates["AWS::Cognito::UserPoolGroup"] = NewResourceEstimate("AWS::Cognito::UserPoolGroup", 21, 1, 1)
	Estimates["AWS::Cognito::UserPoolIdentityProvider"] = NewResourceEstimate("AWS::Cognito::UserPoolIdentityProvider", 1, 0, 1)
	Estimates["AWS::Cognito::UserPoolResourceServer"] = NewResourceEstimate("AWS::Cognito::UserPoolResourceServer", 1, 1, 1)
	Estimates["AWS::Cognito::UserPoolRiskConfigurationAttachment"] = NewResourceEstimate("AWS::Cognito::UserPoolRiskConfigurationAttachment", 1, 1, 1)
	Estimates["AWS::Cognito::UserPoolUICustomizationAttachment"] = NewResourceEstimate("AWS::Cognito::UserPoolUICustomizationAttachment", 1, 1, 1)
	Estimates["AWS::Cognito::UserPoolUser"] = NewResourceEstimate("AWS::Cognito::UserPoolUser", 1, 1, 1)
	Estimates["AWS::Cognito::UserPoolUserToGroupAttachment"] = NewResourceEstimate("AWS::Cognito::UserPoolUserToGroupAttachment", 1, 1, 1)
	Estimates["AWS::Comprehend::DocumentClassifier"] = NewResourceEstimate("AWS::Comprehend::DocumentClassifier", 1846, 2, 1)
	Estimates["AWS::Comprehend::Flywheel"] = NewResourceEstimate("AWS::Comprehend::Flywheel", 20, 2, 1)
	Estimates["AWS::Config::AggregationAuthorization"] = NewResourceEstimate("AWS::Config::AggregationAuthorization", 4, 2, 1)
	Estimates["AWS::Config::ConfigRule"] = NewResourceEstimate("AWS::Config::ConfigRule", 3, 0, 1)
	Estimates["AWS::Config::ConfigurationAggregator"] = NewResourceEstimate("AWS::Config::ConfigurationAggregator", 4, 1, 1)
	Estimates["AWS::Config::ConfigurationRecorder"] = NewResourceEstimate("AWS::Config::ConfigurationRecorder", 2, 1, 1)
	Estimates["AWS::Config::ConformancePack"] = NewResourceEstimate("AWS::Config::ConformancePack", 34, 35, 1)
	Estimates["AWS::Config::ConformancePackCompliance"] = NewResourceEstimate("AWS::Config::ConformancePackCompliance", 1, 1, 1)
	Estimates["AWS::Config::DeliveryChannel"] = NewResourceEstimate("AWS::Config::DeliveryChannel", 1, 2, 1)
	Estimates["AWS::Config::OrganizationConfigRule"] = NewResourceEstimate("AWS::Config::OrganizationConfigRule", 106, 1, 1)
	Estimates["AWS::Config::OrganizationConformancePack"] = NewResourceEstimate("AWS::Config::OrganizationConformancePack", 227, 223, 1)
	Estimates["AWS::Config::RemediationConfiguration"] = NewResourceEstimate("AWS::Config::RemediationConfiguration", 1, 1, 1)
	Estimates["AWS::Config::StoredQuery"] = NewResourceEstimate("AWS::Config::StoredQuery", 4, 2, 1)
	Estimates["AWS::Connect::ApprovedOrigin"] = NewResourceEstimate("AWS::Connect::ApprovedOrigin", 1, 1, 1)
	Estimates["AWS::Connect::ContactFlow"] = NewResourceEstimate("AWS::Connect::ContactFlow", 2, 2, 1)
	Estimates["AWS::Connect::ContactFlowModule"] = NewResourceEstimate("AWS::Connect::ContactFlowModule", 2, 2, 1)
	Estimates["AWS::Connect::EvaluationForm"] = NewResourceEstimate("AWS::Connect::EvaluationForm", 2, 3, 1)
	Estimates["AWS::Connect::HoursOfOperation"] = NewResourceEstimate("AWS::Connect::HoursOfOperation", 1, 2, 1)
	Estimates["AWS::Connect::Instance"] = NewResourceEstimate("AWS::Connect::Instance", 71, 1, 1)
	Estimates["AWS::Connect::InstanceStorageConfig"] = NewResourceEstimate("AWS::Connect::InstanceStorageConfig", 2, 0, 1)
	Estimates["AWS::Connect::IntegrationAssociation"] = NewResourceEstimate("AWS::Connect::IntegrationAssociation", 2, 0, 1)
	Estimates["AWS::Connect::PhoneNumber"] = NewResourceEstimate("AWS::Connect::PhoneNumber", 6, 33, 1)
	Estimates["AWS::Connect::Prompt"] = NewResourceEstimate("AWS::Connect::Prompt", 3, 3, 1)
	Estimates["AWS::Connect::Queue"] = NewResourceEstimate("AWS::Connect::Queue", 1, 1, 1)
	Estimates["AWS::Connect::QuickConnect"] = NewResourceEstimate("AWS::Connect::QuickConnect", 1, 2, 1)
	Estimates["AWS::Connect::RoutingProfile"] = NewResourceEstimate("AWS::Connect::RoutingProfile", 1, 1, 1)
	Estimates["AWS::Connect::Rule"] = NewResourceEstimate("AWS::Connect::Rule", 2, 2, 1)
	Estimates["AWS::Connect::SecurityKey"] = NewResourceEstimate("AWS::Connect::SecurityKey", 1, 1, 1)
	Estimates["AWS::Connect::TaskTemplate"] = NewResourceEstimate("AWS::Connect::TaskTemplate", 1, 2, 1)
	Estimates["AWS::Connect::TrafficDistributionGroup"] = NewResourceEstimate("AWS::Connect::TrafficDistributionGroup", 231, 2, 1)
	Estimates["AWS::Connect::User"] = NewResourceEstimate("AWS::Connect::User", 3, 3, 1)
	Estimates["AWS::Connect::UserHierarchyGroup"] = NewResourceEstimate("AWS::Connect::UserHierarchyGroup", 1, 1, 1)
	Estimates["AWS::Connect::View"] = NewResourceEstimate("AWS::Connect::View", 2, 2, 1)
	Estimates["AWS::Connect::ViewVersion"] = NewResourceEstimate("AWS::Connect::ViewVersion", 1, 1, 1)
	Estimates["AWS::ConnectCampaigns::Campaign"] = NewResourceEstimate("AWS::ConnectCampaigns::Campaign", 2, 9, 1)
	Estimates["AWS::ConsoleConfiguration::Endpoint"] = NewResourceEstimate("AWS::ConsoleConfiguration::Endpoint", 1, 1, 1)
	Estimates["AWS::ControlTower::CustomWaiter"] = NewResourceEstimate("AWS::ControlTower::CustomWaiter", 152, 1, 1)
	Estimates["AWS::ControlTower::EnabledControl"] = NewResourceEstimate("AWS::ControlTower::EnabledControl", 107, 1, 1)
	Estimates["AWS::CustomerProfiles::CalculatedAttributeDefinition"] = NewResourceEstimate("AWS::CustomerProfiles::CalculatedAttributeDefinition", 1, 1, 1)
	Estimates["AWS::CustomerProfiles::Domain"] = NewResourceEstimate("AWS::CustomerProfiles::Domain", 1, 1, 1)
	Estimates["AWS::CustomerProfiles::EventStream"] = NewResourceEstimate("AWS::CustomerProfiles::EventStream", 2, 2, 1)
	Estimates["AWS::CustomerProfiles::Integration"] = NewResourceEstimate("AWS::CustomerProfiles::Integration", 2, 2, 1)
	Estimates["AWS::CustomerProfiles::ObjectType"] = NewResourceEstimate("AWS::CustomerProfiles::ObjectType", 1, 1, 1)
	Estimates["AWS::DAX::Cluster"] = NewResourceEstimate("AWS::DAX::Cluster", 485, 0, 1)
	Estimates["AWS::DAX::ParameterGroup"] = NewResourceEstimate("AWS::DAX::ParameterGroup", 2, 1, 1)
	Estimates["AWS::DAX::SubnetGroup"] = NewResourceEstimate("AWS::DAX::SubnetGroup", 2, 0, 1)
	Estimates["AWS::DLM::LifecyclePolicy"] = NewResourceEstimate("AWS::DLM::LifecyclePolicy", 1, 0, 1)
	Estimates["AWS::DMS::Certificate"] = NewResourceEstimate("AWS::DMS::Certificate", 1, 1, 1)
	Estimates["AWS::DMS::DataProvider"] = NewResourceEstimate("AWS::DMS::DataProvider", 2, 1, 1)
	Estimates["AWS::DMS::Endpoint"] = NewResourceEstimate("AWS::DMS::Endpoint", 7, 12, 1)
	Estimates["AWS::DMS::EventSubscription"] = NewResourceEstimate("AWS::DMS::EventSubscription", 20, 0, 1)
	Estimates["AWS::DMS::InstanceProfile"] = NewResourceEstimate("AWS::DMS::InstanceProfile", 2, 1, 1)
	Estimates["AWS::DMS::MigrationProject"] = NewResourceEstimate("AWS::DMS::MigrationProject", 3, 1, 1)
	Estimates["AWS::DMS::ReplicationConfig"] = NewResourceEstimate("AWS::DMS::ReplicationConfig", 1, 1, 1)
	Estimates["AWS::DMS::ReplicationInstance"] = NewResourceEstimate("AWS::DMS::ReplicationInstance", 778, 0, 1)
	Estimates["AWS::DMS::ReplicationSubnetGroup"] = NewResourceEstimate("AWS::DMS::ReplicationSubnetGroup", 2, 19, 1)
	Estimates["AWS::DMS::ReplicationTask"] = NewResourceEstimate("AWS::DMS::ReplicationTask", 54, 23, 1)
	Estimates["AWS::DataBrew::Dataset"] = NewResourceEstimate("AWS::DataBrew::Dataset", 1, 1, 1)
	Estimates["AWS::DataBrew::Job"] = NewResourceEstimate("AWS::DataBrew::Job", 2, 1, 1)
	Estimates["AWS::DataBrew::Project"] = NewResourceEstimate("AWS::DataBrew::Project", 2, 1, 1)
	Estimates["AWS::DataBrew::Recipe"] = NewResourceEstimate("AWS::DataBrew::Recipe", 2, 1, 1)
	Estimates["AWS::DataBrew::Ruleset"] = NewResourceEstimate("AWS::DataBrew::Ruleset", 1, 1, 1)
	Estimates["AWS::DataBrew::Schedule"] = NewResourceEstimate("AWS::DataBrew::Schedule", 2, 1, 1)
	Estimates["AWS::DataPipeline::Pipeline"] = NewResourceEstimate("AWS::DataPipeline::Pipeline", 3, 4, 1)
	Estimates["AWS::DataSync::Agent"] = NewResourceEstimate("AWS::DataSync::Agent", 5, 2, 1)
	Estimates["AWS::DataSync::LocationAzureBlob"] = NewResourceEstimate("AWS::DataSync::LocationAzureBlob", 6, 2, 1)
	Estimates["AWS::DataSync::LocationEFS"] = NewResourceEstimate("AWS::DataSync::LocationEFS", 5, 2, 1)
	Estimates["AWS::DataSync::LocationFSxLustre"] = NewResourceEstimate("AWS::DataSync::LocationFSxLustre", 6, 2, 1)
	Estimates["AWS::DataSync::LocationFSxONTAP"] = NewResourceEstimate("AWS::DataSync::LocationFSxONTAP", 5, 2, 1)
	Estimates["AWS::DataSync::LocationFSxOpenZFS"] = NewResourceEstimate("AWS::DataSync::LocationFSxOpenZFS", 6, 2, 1)
	Estimates["AWS::DataSync::LocationFSxWindows"] = NewResourceEstimate("AWS::DataSync::LocationFSxWindows", 6, 2, 1)
	Estimates["AWS::DataSync::LocationHDFS"] = NewResourceEstimate("AWS::DataSync::LocationHDFS", 5, 2, 1)
	Estimates["AWS::DataSync::LocationNFS"] = NewResourceEstimate("AWS::DataSync::LocationNFS", 5, 2, 1)
	Estimates["AWS::DataSync::LocationObjectStorage"] = NewResourceEstimate("AWS::DataSync::LocationObjectStorage", 5, 2, 1)
	Estimates["AWS::DataSync::LocationS3"] = NewResourceEstimate("AWS::DataSync::LocationS3", 5, 2, 1)
	Estimates["AWS::DataSync::LocationSMB"] = NewResourceEstimate("AWS::DataSync::LocationSMB", 6, 2, 1)
	Estimates["AWS::DataSync::StorageSystem"] = NewResourceEstimate("AWS::DataSync::StorageSystem", 6, 2, 1)
	Estimates["AWS::DataSync::Task"] = NewResourceEstimate("AWS::DataSync::Task", 4, 2, 1)
	Estimates["AWS::DeadlineCloud::Fleet"] = NewResourceEstimate("AWS::DeadlineCloud::Fleet", 1, 71, 1)
	Estimates["AWS::DeadlineCloud::Queue"] = NewResourceEstimate("AWS::DeadlineCloud::Queue", 3, 1, 1)
	Estimates["AWS::Detective::Graph"] = NewResourceEstimate("AWS::Detective::Graph", 18, 2, 1)
	Estimates["AWS::Detective::MemberInvitation"] = NewResourceEstimate("AWS::Detective::MemberInvitation", 32, 1, 1)
	Estimates["AWS::Detective::OrganizationAdmin"] = NewResourceEstimate("AWS::Detective::OrganizationAdmin", 5, 1, 1)
	Estimates["AWS::DevOpsGuru::LogAnomalyDetectionIntegration"] = NewResourceEstimate("AWS::DevOpsGuru::LogAnomalyDetectionIntegration", 2, 1, 1)
	Estimates["AWS::DevOpsGuru::NotificationChannel"] = NewResourceEstimate("AWS::DevOpsGuru::NotificationChannel", 2, 1, 1)
	Estimates["AWS::DevOpsGuru::ResourceCollection"] = NewResourceEstimate("AWS::DevOpsGuru::ResourceCollection", 2, 1, 1)
	Estimates["AWS::DeviceFarm::DevicePool"] = NewResourceEstimate("AWS::DeviceFarm::DevicePool", 7, 3, 1)
	Estimates["AWS::DeviceFarm::InstanceProfile"] = NewResourceEstimate("AWS::DeviceFarm::InstanceProfile", 6, 2, 1)
	Estimates["AWS::DeviceFarm::NetworkProfile"] = NewResourceEstimate("AWS::DeviceFarm::NetworkProfile", 6, 2, 1)
	Estimates["AWS::DeviceFarm::Project"] = NewResourceEstimate("AWS::DeviceFarm::Project", 5, 2, 1)
	Estimates["AWS::DeviceFarm::TestGridProject"] = NewResourceEstimate("AWS::DeviceFarm::TestGridProject", 7, 2, 1)
	Estimates["AWS::DeviceFarm::VPCEConfiguration"] = NewResourceEstimate("AWS::DeviceFarm::VPCEConfiguration", 6, 2, 1)
	Estimates["AWS::DirectoryService::MicrosoftAD"] = NewResourceEstimate("AWS::DirectoryService::MicrosoftAD", 1698, 1, 1)
	Estimates["AWS::DirectoryService::SimpleAD"] = NewResourceEstimate("AWS::DirectoryService::SimpleAD", 435, 2, 1)
	Estimates["AWS::DocDB::DBCluster"] = NewResourceEstimate("AWS::DocDB::DBCluster", 68, 1, 1)
	Estimates["AWS::DocDB::DBClusterParameterGroup"] = NewResourceEstimate("AWS::DocDB::DBClusterParameterGroup", 3, 2, 1)
	Estimates["AWS::DocDB::DBInstance"] = NewResourceEstimate("AWS::DocDB::DBInstance", 298, 2, 1)
	Estimates["AWS::DocDB::DBSubnetGroup"] = NewResourceEstimate("AWS::DocDB::DBSubnetGroup", 3, 2, 1)
	Estimates["AWS::DocDB::EventSubscription"] = NewResourceEstimate("AWS::DocDB::EventSubscription", 2, 1, 1)
	Estimates["AWS::DocDBElastic::Cluster"] = NewResourceEstimate("AWS::DocDBElastic::Cluster", 1299, 193, 1)
	Estimates["AWS::DynamoDB::GlobalTable"] = NewResourceEstimate("AWS::DynamoDB::GlobalTable", 64, 13, 1)
	Estimates["AWS::DynamoDB::Table"] = NewResourceEstimate("AWS::DynamoDB::Table", 15, 10, 1)
	Estimates["AWS::EC2::CapacityReservation"] = NewResourceEstimate("AWS::EC2::CapacityReservation", 2, 2, 1)
	Estimates["AWS::EC2::CapacityReservationFleet"] = NewResourceEstimate("AWS::EC2::CapacityReservationFleet", 33, 135, 1)
	Estimates["AWS::EC2::CarrierGateway"] = NewResourceEstimate("AWS::EC2::CarrierGateway", 4, 4, 1)
	Estimates["AWS::EC2::ClientVpnAuthorizationRule"] = NewResourceEstimate("AWS::EC2::ClientVpnAuthorizationRule", 240, 0, 1)
	Estimates["AWS::EC2::ClientVpnEndpoint"] = NewResourceEstimate("AWS::EC2::ClientVpnEndpoint", 3, 2, 1)
	Estimates["AWS::EC2::ClientVpnRoute"] = NewResourceEstimate("AWS::EC2::ClientVpnRoute", 37, 1, 1)
	Estimates["AWS::EC2::ClientVpnTargetNetworkAssociation"] = NewResourceEstimate("AWS::EC2::ClientVpnTargetNetworkAssociation", 463, 0, 1)
	Estimates["AWS::EC2::CoipCidr"] = NewResourceEstimate("AWS::EC2::CoipCidr", 4, 1, 1)
	Estimates["AWS::EC2::CoipPool"] = NewResourceEstimate("AWS::EC2::CoipPool", 4, 4, 1)
	Estimates["AWS::EC2::CustomerGateway"] = NewResourceEstimate("AWS::EC2::CustomerGateway", 17, 2, 1)
	Estimates["AWS::EC2::DHCPOptions"] = NewResourceEstimate("AWS::EC2::DHCPOptions", 7, 7, 1)
	Estimates["AWS::EC2::EC2Fleet"] = NewResourceEstimate("AWS::EC2::EC2Fleet", 3, 57, 1)
	Estimates["AWS::EC2::EIP"] = NewResourceEstimate("AWS::EC2::EIP", 17, 2, 1)
	Estimates["AWS::EC2::EIPAssociation"] = NewResourceEstimate("AWS::EC2::EIPAssociation", 5, 1, 1)
	Estimates["AWS::EC2::EgressOnlyInternetGateway"] = NewResourceEstimate("AWS::EC2::EgressOnlyInternetGateway", 17, 1, 1)
	Estimates["AWS::EC2::FlowLog"] = NewResourceEstimate("AWS::EC2::FlowLog", 2, 2, 1)
	Estimates["AWS::EC2::GatewayRouteTableAssociation"] = NewResourceEstimate("AWS::EC2::GatewayRouteTableAssociation", 6, 6, 1)
	Estimates["AWS::EC2::Host"] = NewResourceEstimate("AWS::EC2::Host", 17, 2, 1)
	Estimates["AWS::EC2::IPAM"] = NewResourceEstimate("AWS::EC2::IPAM", 2, 2, 1)
	Estimates["AWS::EC2::IPAMAllocation"] = NewResourceEstimate("AWS::EC2::IPAMAllocation", 1, 1, 1)
	Estimates["AWS::EC2::IPAMPool"] = NewResourceEstimate("AWS::EC2::IPAMPool", 18, 28, 1)
	Estimates["AWS::EC2::IPAMPoolCidr"] = NewResourceEstimate("AWS::EC2::IPAMPoolCidr", 10, 1, 1)
	Estimates["AWS::EC2::IPAMResourceDiscovery"] = NewResourceEstimate("AWS::EC2::IPAMResourceDiscovery", 2, 1, 1)
	Estimates["AWS::EC2::IPAMResourceDiscoveryAssociation"] = NewResourceEstimate("AWS::EC2::IPAMResourceDiscoveryAssociation", 2, 1, 1)
	Estimates["AWS::EC2::IPAMScope"] = NewResourceEstimate("AWS::EC2::IPAMScope", 2, 1, 1)
	Estimates["AWS::EC2::Instance"] = NewResourceEstimate("AWS::EC2::Instance", 16, 16, 1)
	Estimates["AWS::EC2::InstanceConnectEndpoint"] = NewResourceEstimate("AWS::EC2::InstanceConnectEndpoint", 316, 2, 1)
	Estimates["AWS::EC2::InternetGateway"] = NewResourceEstimate("AWS::EC2::InternetGateway", 17, 16, 1)
	Estimates["AWS::EC2::IpPoolRouteTableAssociation"] = NewResourceEstimate("AWS::EC2::IpPoolRouteTableAssociation", 6, 1, 1)
	Estimates["AWS::EC2::KeyPair"] = NewResourceEstimate("AWS::EC2::KeyPair", 1, 0, 1)
	Estimates["AWS::EC2::LaunchTemplate"] = NewResourceEstimate("AWS::EC2::LaunchTemplate", 6, 5, 1)
	Estimates["AWS::EC2::LocalGatewayRoute"] = NewResourceEstimate("AWS::EC2::LocalGatewayRoute", 2, 2, 1)
	Estimates["AWS::EC2::LocalGatewayRouteTable"] = NewResourceEstimate("AWS::EC2::LocalGatewayRouteTable", 4, 4, 1)
	Estimates["AWS::EC2::LocalGatewayRouteTableVPCAssociation"] = NewResourceEstimate("AWS::EC2::LocalGatewayRouteTableVPCAssociation", 4, 4, 1)
	Estimates["AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation"] = NewResourceEstimate("AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation", 4, 4, 1)
	Estimates["AWS::EC2::NatGateway"] = NewResourceEstimate("AWS::EC2::NatGateway", 106, 5, 1)
	Estimates["AWS::EC2::NetworkAcl"] = NewResourceEstimate("AWS::EC2::NetworkAcl", 17, 16, 1)
	Estimates["AWS::EC2::NetworkAclEntry"] = NewResourceEstimate("AWS::EC2::NetworkAclEntry", 3, 1, 1)
	Estimates["AWS::EC2::NetworkInsightsAccessScope"] = NewResourceEstimate("AWS::EC2::NetworkInsightsAccessScope", 2, 2, 1)
	Estimates["AWS::EC2::NetworkInsightsAccessScopeAnalysis"] = NewResourceEstimate("AWS::EC2::NetworkInsightsAccessScopeAnalysis", 63, 2, 1)
	Estimates["AWS::EC2::NetworkInsightsAnalysis"] = NewResourceEstimate("AWS::EC2::NetworkInsightsAnalysis", 23, 2, 1)
	Estimates["AWS::EC2::NetworkInsightsPath"] = NewResourceEstimate("AWS::EC2::NetworkInsightsPath", 1, 2, 1)
	Estimates["AWS::EC2::NetworkInterface"] = NewResourceEstimate("AWS::EC2::NetworkInterface", 12, 2, 1)
	Estimates["AWS::EC2::NetworkInterfaceAttachment"] = NewResourceEstimate("AWS::EC2::NetworkInterfaceAttachment", 12, 11, 1)
	Estimates["AWS::EC2::NetworkInterfacePermission"] = NewResourceEstimate("AWS::EC2::NetworkInterfacePermission", 16, 1, 1)
	Estimates["AWS::EC2::NetworkPerformanceMetricSubscription"] = NewResourceEstimate("AWS::EC2::NetworkPerformanceMetricSubscription", 1, 1, 1)
	Estimates["AWS::EC2::PlacementGroup"] = NewResourceEstimate("AWS::EC2::PlacementGroup", 17, 0, 1)
	Estimates["AWS::EC2::PrefixList"] = NewResourceEstimate("AWS::EC2::PrefixList", 6, 5, 1)
	Estimates["AWS::EC2::Route"] = NewResourceEstimate("AWS::EC2::Route", 2, 0, 1)
	Estimates["AWS::EC2::RouteTable"] = NewResourceEstimate("AWS::EC2::RouteTable", 12, 11, 1)
	Estimates["AWS::EC2::SecurityGroup"] = NewResourceEstimate("AWS::EC2::SecurityGroup", 6, 2, 1)
	Estimates["AWS::EC2::SecurityGroupEgress"] = NewResourceEstimate("AWS::EC2::SecurityGroupEgress", 3, 1, 1)
	Estimates["AWS::EC2::SecurityGroupIngress"] = NewResourceEstimate("AWS::EC2::SecurityGroupIngress", 2, 1, 1)
	Estimates["AWS::EC2::SpotFleet"] = NewResourceEstimate("AWS::EC2::SpotFleet", 4, 64, 1)
	Estimates["AWS::EC2::Subnet"] = NewResourceEstimate("AWS::EC2::Subnet", 4, 10, 1)
	Estimates["AWS::EC2::SubnetCidrBlock"] = NewResourceEstimate("AWS::EC2::SubnetCidrBlock", 2, 1, 1)
	Estimates["AWS::EC2::SubnetNetworkAclAssociation"] = NewResourceEstimate("AWS::EC2::SubnetNetworkAclAssociation", 13, 1, 1)
	Estimates["AWS::EC2::SubnetRouteTableAssociation"] = NewResourceEstimate("AWS::EC2::SubnetRouteTableAssociation", 2, 0, 1)
	Estimates["AWS::EC2::TrafficMirrorFilter"] = NewResourceEstimate("AWS::EC2::TrafficMirrorFilter", 2, 5, 1)
	Estimates["AWS::EC2::TrafficMirrorFilterRule"] = NewResourceEstimate("AWS::EC2::TrafficMirrorFilterRule", 1, 3, 1)
	Estimates["AWS::EC2::TrafficMirrorSession"] = NewResourceEstimate("AWS::EC2::TrafficMirrorSession", 2, 3, 1)
	Estimates["AWS::EC2::TrafficMirrorTarget"] = NewResourceEstimate("AWS::EC2::TrafficMirrorTarget", 2, 6, 1)
	Estimates["AWS::EC2::TransitGateway"] = NewResourceEstimate("AWS::EC2::TransitGateway", 53, 2, 1)
	Estimates["AWS::EC2::TransitGatewayAttachment"] = NewResourceEstimate("AWS::EC2::TransitGatewayAttachment", 50, 29, 1)
	Estimates["AWS::EC2::TransitGatewayConnect"] = NewResourceEstimate("AWS::EC2::TransitGatewayConnect", 2, 1, 1)
	Estimates["AWS::EC2::TransitGatewayMulticastDomain"] = NewResourceEstimate("AWS::EC2::TransitGatewayMulticastDomain", 17, 1, 1)
	Estimates["AWS::EC2::TransitGatewayMulticastDomainAssociation"] = NewResourceEstimate("AWS::EC2::TransitGatewayMulticastDomainAssociation", 18, 1, 1)
	Estimates["AWS::EC2::TransitGatewayMulticastGroupMember"] = NewResourceEstimate("AWS::EC2::TransitGatewayMulticastGroupMember", 7, 1, 1)
	Estimates["AWS::EC2::TransitGatewayMulticastGroupSource"] = NewResourceEstimate("AWS::EC2::TransitGatewayMulticastGroupSource", 7, 1, 1)
	Estimates["AWS::EC2::TransitGatewayPeeringAttachment"] = NewResourceEstimate("AWS::EC2::TransitGatewayPeeringAttachment", 39, 1, 1)
	Estimates["AWS::EC2::TransitGatewayPolicyTable"] = NewResourceEstimate("AWS::EC2::TransitGatewayPolicyTable", 2, 1, 1)
	Estimates["AWS::EC2::TransitGatewayPolicyTableAssociation"] = NewResourceEstimate("AWS::EC2::TransitGatewayPolicyTableAssociation", 35, 1, 1)
	Estimates["AWS::EC2::TransitGatewayRoute"] = NewResourceEstimate("AWS::EC2::TransitGatewayRoute", 1, 0, 1)
	Estimates["AWS::EC2::TransitGatewayRouteTable"] = NewResourceEstimate("AWS::EC2::TransitGatewayRouteTable", 8, 0, 1)
	Estimates["AWS::EC2::TransitGatewayRouteTableAnnouncement"] = NewResourceEstimate("AWS::EC2::TransitGatewayRouteTableAnnouncement", 83, 1, 1)
	Estimates["AWS::EC2::TransitGatewayRouteTableAssociation"] = NewResourceEstimate("AWS::EC2::TransitGatewayRouteTableAssociation", 2, 0, 1)
	Estimates["AWS::EC2::TransitGatewayRouteTablePropagation"] = NewResourceEstimate("AWS::EC2::TransitGatewayRouteTablePropagation", 1, 1, 1)
	Estimates["AWS::EC2::TransitGatewayVpcAttachment"] = NewResourceEstimate("AWS::EC2::TransitGatewayVpcAttachment", 49, 4, 1)
	Estimates["AWS::EC2::VPC"] = NewResourceEstimate("AWS::EC2::VPC", 12, 2, 1)
	Estimates["AWS::EC2::VPCCidrBlock"] = NewResourceEstimate("AWS::EC2::VPCCidrBlock", 23, 1, 1)
	Estimates["AWS::EC2::VPCDHCPOptionsAssociation"] = NewResourceEstimate("AWS::EC2::VPCDHCPOptionsAssociation", 1, 4, 1)
	Estimates["AWS::EC2::VPCEndpoint"] = NewResourceEstimate("AWS::EC2::VPCEndpoint", 47, 11, 1)
	Estimates["AWS::EC2::VPCEndpointConnectionNotification"] = NewResourceEstimate("AWS::EC2::VPCEndpointConnectionNotification", 3, 1, 1)
	Estimates["AWS::EC2::VPCEndpointService"] = NewResourceEstimate("AWS::EC2::VPCEndpointService", 6, 0, 1)
	Estimates["AWS::EC2::VPCEndpointServicePermissions"] = NewResourceEstimate("AWS::EC2::VPCEndpointServicePermissions", 3, 3, 1)
	Estimates["AWS::EC2::VPCGatewayAttachment"] = NewResourceEstimate("AWS::EC2::VPCGatewayAttachment", 12, 11, 1)
	Estimates["AWS::EC2::VPCPeeringConnection"] = NewResourceEstimate("AWS::EC2::VPCPeeringConnection", 10, 1, 1)
	Estimates["AWS::EC2::VPNConnection"] = NewResourceEstimate("AWS::EC2::VPNConnection", 165, 2, 1)
	Estimates["AWS::EC2::VPNConnectionRoute"] = NewResourceEstimate("AWS::EC2::VPNConnectionRoute", 18, 1, 1)
	Estimates["AWS::EC2::VPNGateway"] = NewResourceEstimate("AWS::EC2::VPNGateway", 7, 2, 1)
	Estimates["AWS::EC2::VPNGatewayRoutePropagation"] = NewResourceEstimate("AWS::EC2::VPNGatewayRoutePropagation", 18, 18, 1)
	Estimates["AWS::EC2::VerifiedAccessEndpoint"] = NewResourceEstimate("AWS::EC2::VerifiedAccessEndpoint", 783, 303, 1)
	Estimates["AWS::EC2::VerifiedAccessGroup"] = NewResourceEstimate("AWS::EC2::VerifiedAccessGroup", 2, 2, 1)
	Estimates["AWS::EC2::VerifiedAccessInstance"] = NewResourceEstimate("AWS::EC2::VerifiedAccessInstance", 2, 3, 1)
	Estimates["AWS::EC2::VerifiedAccessTrustProvider"] = NewResourceEstimate("AWS::EC2::VerifiedAccessTrustProvider", 2, 2, 1)
	Estimates["AWS::EC2::Volume"] = NewResourceEstimate("AWS::EC2::Volume", 7, 7, 1)
	Estimates["AWS::EC2::VolumeAttachment"] = NewResourceEstimate("AWS::EC2::VolumeAttachment", 7, 0, 1)
	Estimates["AWS::ECR::PublicRepository"] = NewResourceEstimate("AWS::ECR::PublicRepository", 2, 2, 1)
	Estimates["AWS::ECR::PullThroughCacheRule"] = NewResourceEstimate("AWS::ECR::PullThroughCacheRule", 1, 1, 1)
	Estimates["AWS::ECR::RegistryPolicy"] = NewResourceEstimate("AWS::ECR::RegistryPolicy", 1, 1, 1)
	Estimates["AWS::ECR::ReplicationConfiguration"] = NewResourceEstimate("AWS::ECR::ReplicationConfiguration", 1, 1, 1)
	Estimates["AWS::ECR::Repository"] = NewResourceEstimate("AWS::ECR::Repository", 1, 2, 1)
	Estimates["AWS::ECS::CapacityProvider"] = NewResourceEstimate("AWS::ECS::CapacityProvider", 2, 1, 1)
	Estimates["AWS::ECS::Cluster"] = NewResourceEstimate("AWS::ECS::Cluster", 5, 2, 1)
	Estimates["AWS::ECS::ClusterCapacityProviderAssociations"] = NewResourceEstimate("AWS::ECS::ClusterCapacityProviderAssociations", 13, 31, 1)
	Estimates["AWS::ECS::PrimaryTaskSet"] = NewResourceEstimate("AWS::ECS::PrimaryTaskSet", 6, 6, 1)
	Estimates["AWS::ECS::Service"] = NewResourceEstimate("AWS::ECS::Service", 119, 71, 1)
	Estimates["AWS::ECS::TaskDefinition"] = NewResourceEstimate("AWS::ECS::TaskDefinition", 4, 2, 1)
	Estimates["AWS::ECS::TaskSet"] = NewResourceEstimate("AWS::ECS::TaskSet", 62, 5, 1)
	Estimates["AWS::EFS::AccessPoint"] = NewResourceEstimate("AWS::EFS::AccessPoint", 5, 2, 1)
	Estimates["AWS::EFS::FileSystem"] = NewResourceEstimate("AWS::EFS::FileSystem", 5, 5, 1)
	Estimates["AWS::EFS::MountTarget"] = NewResourceEstimate("AWS::EFS::MountTarget", 93, 0, 1)
	Estimates["AWS::EKS::Addon"] = NewResourceEstimate("AWS::EKS::Addon", 15, 9, 1)
	Estimates["AWS::EKS::Cluster"] = NewResourceEstimate("AWS::EKS::Cluster", 544, 285, 1)
	Estimates["AWS::EKS::FargateProfile"] = NewResourceEstimate("AWS::EKS::FargateProfile", 18, 2, 1)
	Estimates["AWS::EKS::IdentityProviderConfig"] = NewResourceEstimate("AWS::EKS::IdentityProviderConfig", 433, 2, 1)
	Estimates["AWS::EKS::Nodegroup"] = NewResourceEstimate("AWS::EKS::Nodegroup", 160, 671, 1)
	Estimates["AWS::EMR::Cluster"] = NewResourceEstimate("AWS::EMR::Cluster", 503, 11, 1)
	Estimates["AWS::EMR::InstanceFleetConfig"] = NewResourceEstimate("AWS::EMR::InstanceFleetConfig", 308, 1, 1)
	Estimates["AWS::EMR::InstanceGroupConfig"] = NewResourceEstimate("AWS::EMR::InstanceGroupConfig", 192, 0, 1)
	Estimates["AWS::EMR::SecurityConfiguration"] = NewResourceEstimate("AWS::EMR::SecurityConfiguration", 1, 0, 1)
	Estimates["AWS::EMR::Step"] = NewResourceEstimate("AWS::EMR::Step", 7, 1, 1)
	Estimates["AWS::EMR::Studio"] = NewResourceEstimate("AWS::EMR::Studio", 2, 2, 1)
	Estimates["AWS::EMR::StudioSessionMapping"] = NewResourceEstimate("AWS::EMR::StudioSessionMapping", 2, 2, 1)
	Estimates["AWS::EMR::WALWorkspace"] = NewResourceEstimate("AWS::EMR::WALWorkspace", 1, 1, 1)
	Estimates["AWS::EMRContainers::VirtualCluster"] = NewResourceEstimate("AWS::EMRContainers::VirtualCluster", 2, 2, 1)
	Estimates["AWS::EMRServerless::Application"] = NewResourceEstimate("AWS::EMRServerless::Application", 2, 2, 1)
	Estimates["AWS::ElastiCache::CacheCluster"] = NewResourceEstimate("AWS::ElastiCache::CacheCluster", 344, 113, 1)
	Estimates["AWS::ElastiCache::GlobalReplicationGroup"] = NewResourceEstimate("AWS::ElastiCache::GlobalReplicationGroup", 119, 1, 1)
	Estimates["AWS::ElastiCache::ParameterGroup"] = NewResourceEstimate("AWS::ElastiCache::ParameterGroup", 1, 2, 1)
	Estimates["AWS::ElastiCache::ReplicationGroup"] = NewResourceEstimate("AWS::ElastiCache::ReplicationGroup", 712, 208, 1)
	Estimates["AWS::ElastiCache::SecurityGroup"] = NewResourceEstimate("AWS::ElastiCache::SecurityGroup", 1, 1, 1)
	Estimates["AWS::ElastiCache::SubnetGroup"] = NewResourceEstimate("AWS::ElastiCache::SubnetGroup", 2, 2, 1)
	Estimates["AWS::ElastiCache::User"] = NewResourceEstimate("AWS::ElastiCache::User", 2, 1, 1)
	Estimates["AWS::ElastiCache::UserGroup"] = NewResourceEstimate("AWS::ElastiCache::UserGroup", 42, 2, 1)
	Estimates["AWS::ElasticBeanstalk::Application"] = NewResourceEstimate("AWS::ElasticBeanstalk::Application", 7, 1, 1)
	Estimates["AWS::ElasticBeanstalk::ApplicationVersion"] = NewResourceEstimate("AWS::ElasticBeanstalk::ApplicationVersion", 7, 1, 1)
	Estimates["AWS::ElasticBeanstalk::ConfigurationTemplate"] = NewResourceEstimate("AWS::ElasticBeanstalk::ConfigurationTemplate", 2, 1, 1)
	Estimates["AWS::ElasticBeanstalk::Environment"] = NewResourceEstimate("AWS::ElasticBeanstalk::Environment", 252, 391, 1)
	Estimates["AWS::ElasticLoadBalancing::LoadBalancer"] = NewResourceEstimate("AWS::ElasticLoadBalancing::LoadBalancer", 2, 0, 1)
	Estimates["AWS::ElasticLoadBalancingV2::Listener"] = NewResourceEstimate("AWS::ElasticLoadBalancingV2::Listener", 2, 1, 1)
	Estimates["AWS::ElasticLoadBalancingV2::ListenerCertificate"] = NewResourceEstimate("AWS::ElasticLoadBalancingV2::ListenerCertificate", 1, 1, 1)
	Estimates["AWS::ElasticLoadBalancingV2::ListenerRule"] = NewResourceEstimate("AWS::ElasticLoadBalancingV2::ListenerRule", 2, 1, 1)
	Estimates["AWS::ElasticLoadBalancingV2::LoadBalancer"] = NewResourceEstimate("AWS::ElasticLoadBalancingV2::LoadBalancer", 116, 2, 1)
	Estimates["AWS::ElasticLoadBalancingV2::TargetGroup"] = NewResourceEstimate("AWS::ElasticLoadBalancingV2::TargetGroup", 18, 6, 1)
	Estimates["AWS::Elasticsearch::Domain"] = NewResourceEstimate("AWS::Elasticsearch::Domain", 1070, 281, 1)
	Estimates["AWS::EntityResolution::SchemaMapping"] = NewResourceEstimate("AWS::EntityResolution::SchemaMapping", 2, 1, 1)
	Estimates["AWS::EventSchemas::Discoverer"] = NewResourceEstimate("AWS::EventSchemas::Discoverer", 2, 1, 1)
	Estimates["AWS::EventSchemas::Registry"] = NewResourceEstimate("AWS::EventSchemas::Registry", 2, 2, 1)
	Estimates["AWS::EventSchemas::RegistryPolicy"] = NewResourceEstimate("AWS::EventSchemas::RegistryPolicy", 3, 3, 1)
	Estimates["AWS::EventSchemas::Schema"] = NewResourceEstimate("AWS::EventSchemas::Schema", 2, 3, 1)
	Estimates["AWS::Events::ApiDestination"] = NewResourceEstimate("AWS::Events::ApiDestination", 1, 1, 1)
	Estimates["AWS::Events::Archive"] = NewResourceEstimate("AWS::Events::Archive", 1, 2, 1)
	Estimates["AWS::Events::Connection"] = NewResourceEstimate("AWS::Events::Connection", 2, 2, 1)
	Estimates["AWS::Events::Endpoint"] = NewResourceEstimate("AWS::Events::Endpoint", 6, 11, 1)
	Estimates["AWS::Events::EventBus"] = NewResourceEstimate("AWS::Events::EventBus", 1, 1, 1)
	Estimates["AWS::Events::EventBusPolicy"] = NewResourceEstimate("AWS::Events::EventBusPolicy", 1, 1, 1)
	Estimates["AWS::Events::Rule"] = NewResourceEstimate("AWS::Events::Rule", 62, 1, 1)
	Estimates["AWS::Evidently::Experiment"] = NewResourceEstimate("AWS::Evidently::Experiment", 2, 2, 1)
	Estimates["AWS::Evidently::Feature"] = NewResourceEstimate("AWS::Evidently::Feature", 2, 2, 1)
	Estimates["AWS::Evidently::Launch"] = NewResourceEstimate("AWS::Evidently::Launch", 2, 2, 1)
	Estimates["AWS::Evidently::Project"] = NewResourceEstimate("AWS::Evidently::Project", 2, 2, 1)
	Estimates["AWS::Evidently::Segment"] = NewResourceEstimate("AWS::Evidently::Segment", 2, 1, 1)
	Estimates["AWS::FIS::ExperimentTemplate"] = NewResourceEstimate("AWS::FIS::ExperimentTemplate", 2, 5, 1)
	Estimates["AWS::FMS::NotificationChannel"] = NewResourceEstimate("AWS::FMS::NotificationChannel", 2, 6, 1)
	Estimates["AWS::FMS::Policy"] = NewResourceEstimate("AWS::FMS::Policy", 2, 3, 1)
	Estimates["AWS::FMS::ResourceSet"] = NewResourceEstimate("AWS::FMS::ResourceSet", 2, 2, 1)
	Estimates["AWS::FSx::DataRepositoryAssociation"] = NewResourceEstimate("AWS::FSx::DataRepositoryAssociation", 73, 28, 1)
	Estimates["AWS::FSx::FileSystem"] = NewResourceEstimate("AWS::FSx::FileSystem", 637, 331, 1)
	Estimates["AWS::FSx::Snapshot"] = NewResourceEstimate("AWS::FSx::Snapshot", 62, 32, 1)
	Estimates["AWS::FSx::StorageVirtualMachine"] = NewResourceEstimate("AWS::FSx::StorageVirtualMachine", 176, 32, 1)
	Estimates["AWS::FSx::Volume"] = NewResourceEstimate("AWS::FSx::Volume", 65, 39, 1)
	Estimates["AWS::Forecast::Dataset"] = NewResourceEstimate("AWS::Forecast::Dataset", 2, 1, 1)
	Estimates["AWS::Forecast::DatasetGroup"] = NewResourceEstimate("AWS::Forecast::DatasetGroup", 1, 1, 1)
	Estimates["AWS::FraudDetector::Detector"] = NewResourceEstimate("AWS::FraudDetector::Detector", 3, 1, 1)
	Estimates["AWS::FraudDetector::EntityType"] = NewResourceEstimate("AWS::FraudDetector::EntityType", 3, 1, 1)
	Estimates["AWS::FraudDetector::EventType"] = NewResourceEstimate("AWS::FraudDetector::EventType", 3, 1, 1)
	Estimates["AWS::FraudDetector::Label"] = NewResourceEstimate("AWS::FraudDetector::Label", 3, 1, 1)
	Estimates["AWS::FraudDetector::List"] = NewResourceEstimate("AWS::FraudDetector::List", 3, 1, 1)
	Estimates["AWS::FraudDetector::Outcome"] = NewResourceEstimate("AWS::FraudDetector::Outcome", 3, 1, 1)
	Estimates["AWS::FraudDetector::Variable"] = NewResourceEstimate("AWS::FraudDetector::Variable", 3, 1, 1)
	Estimates["AWS::GameCast::Application"] = NewResourceEstimate("AWS::GameCast::Application", 16, 2, 1)
	Estimates["AWS::GameCast::StreamGroup"] = NewResourceEstimate("AWS::GameCast::StreamGroup", 1542, 2, 1)
	Estimates["AWS::GameLift::Alias"] = NewResourceEstimate("AWS::GameLift::Alias", 1, 1, 1)
	Estimates["AWS::GameLift::Build"] = NewResourceEstimate("AWS::GameLift::Build", 1, 1, 1)
	Estimates["AWS::GameLift::Fleet"] = NewResourceEstimate("AWS::GameLift::Fleet", 130, 1, 1)
	Estimates["AWS::GameLift::GameServerGroup"] = NewResourceEstimate("AWS::GameLift::GameServerGroup", 18, 1, 1)
	Estimates["AWS::GameLift::GameSessionQueue"] = NewResourceEstimate("AWS::GameLift::GameSessionQueue", 1, 1, 1)
	Estimates["AWS::GameLift::Location"] = NewResourceEstimate("AWS::GameLift::Location", 1, 1, 1)
	Estimates["AWS::GameLift::MatchmakingConfiguration"] = NewResourceEstimate("AWS::GameLift::MatchmakingConfiguration", 1, 1, 1)
	Estimates["AWS::GameLift::MatchmakingRuleSet"] = NewResourceEstimate("AWS::GameLift::MatchmakingRuleSet", 1, 1, 1)
	Estimates["AWS::GameLift::Script"] = NewResourceEstimate("AWS::GameLift::Script", 1, 1, 1)
	Estimates["AWS::GammaDilithium::JobDefinition"] = NewResourceEstimate("AWS::GammaDilithium::JobDefinition", 8, 14, 1)
	Estimates["AWS::GlobalAccelerator::Accelerator"] = NewResourceEstimate("AWS::GlobalAccelerator::Accelerator", 27, 29, 1)
	Estimates["AWS::GlobalAccelerator::EndpointGroup"] = NewResourceEstimate("AWS::GlobalAccelerator::EndpointGroup", 46, 342, 1)
	Estimates["AWS::GlobalAccelerator::Listener"] = NewResourceEstimate("AWS::GlobalAccelerator::Listener", 2, 31, 1)
	Estimates["AWS::Glue::Classifier"] = NewResourceEstimate("AWS::Glue::Classifier", 1, 1, 1)
	Estimates["AWS::Glue::Connection"] = NewResourceEstimate("AWS::Glue::Connection", 1, 0, 1)
	Estimates["AWS::Glue::Crawler"] = NewResourceEstimate("AWS::Glue::Crawler", 2, 3, 1)
	Estimates["AWS::Glue::CustomEntityType"] = NewResourceEstimate("AWS::Glue::CustomEntityType", 1, 1, 1)
	Estimates["AWS::Glue::DataCatalogEncryptionSettings"] = NewResourceEstimate("AWS::Glue::DataCatalogEncryptionSettings", 2, 1, 1)
	Estimates["AWS::Glue::DataQualityRuleset"] = NewResourceEstimate("AWS::Glue::DataQualityRuleset", 1, 1, 1)
	Estimates["AWS::Glue::Database"] = NewResourceEstimate("AWS::Glue::Database", 1, 0, 1)
	Estimates["AWS::Glue::DevEndpoint"] = NewResourceEstimate("AWS::Glue::DevEndpoint", 437, 1, 1)
	Estimates["AWS::Glue::Job"] = NewResourceEstimate("AWS::Glue::Job", 3, 6, 1)
	Estimates["AWS::Glue::MLTransform"] = NewResourceEstimate("AWS::Glue::MLTransform", 2, 1, 1)
	Estimates["AWS::Glue::Partition"] = NewResourceEstimate("AWS::Glue::Partition", 1, 0, 1)
	Estimates["AWS::Glue::Registry"] = NewResourceEstimate("AWS::Glue::Registry", 5, 1, 1)
	Estimates["AWS::Glue::Schema"] = NewResourceEstimate("AWS::Glue::Schema", 6, 1, 1)
	Estimates["AWS::Glue::SchemaVersion"] = NewResourceEstimate("AWS::Glue::SchemaVersion", 6, 1, 1)
	Estimates["AWS::Glue::SecurityConfiguration"] = NewResourceEstimate("AWS::Glue::SecurityConfiguration", 1, 0, 1)
	Estimates["AWS::Glue::Table"] = NewResourceEstimate("AWS::Glue::Table", 1, 1, 1)
	Estimates["AWS::Glue::Trigger"] = NewResourceEstimate("AWS::Glue::Trigger", 1, 1, 1)
	Estimates["AWS::Glue::Workflow"] = NewResourceEstimate("AWS::Glue::Workflow", 1, 1, 1)
	Estimates["AWS::Grafana::Workspace"] = NewResourceEstimate("AWS::Grafana::Workspace", 467, 0, 1)
	Estimates["AWS::Greengrass::ConnectorDefinition"] = NewResourceEstimate("AWS::Greengrass::ConnectorDefinition", 1, 3, 1)
	Estimates["AWS::Greengrass::ConnectorDefinitionVersion"] = NewResourceEstimate("AWS::Greengrass::ConnectorDefinitionVersion", 1, 1, 1)
	Estimates["AWS::Greengrass::CoreDefinition"] = NewResourceEstimate("AWS::Greengrass::CoreDefinition", 1, 2, 1)
	Estimates["AWS::Greengrass::CoreDefinitionVersion"] = NewResourceEstimate("AWS::Greengrass::CoreDefinitionVersion", 1, 1, 1)
	Estimates["AWS::Greengrass::DeviceDefinition"] = NewResourceEstimate("AWS::Greengrass::DeviceDefinition", 1, 2, 1)
	Estimates["AWS::Greengrass::DeviceDefinitionVersion"] = NewResourceEstimate("AWS::Greengrass::DeviceDefinitionVersion", 1, 1, 1)
	Estimates["AWS::Greengrass::FunctionDefinition"] = NewResourceEstimate("AWS::Greengrass::FunctionDefinition", 1, 2, 1)
	Estimates["AWS::Greengrass::FunctionDefinitionVersion"] = NewResourceEstimate("AWS::Greengrass::FunctionDefinitionVersion", 2, 1, 1)
	Estimates["AWS::Greengrass::Group"] = NewResourceEstimate("AWS::Greengrass::Group", 2, 2, 1)
	Estimates["AWS::Greengrass::GroupVersion"] = NewResourceEstimate("AWS::Greengrass::GroupVersion", 1, 1, 1)
	Estimates["AWS::Greengrass::LoggerDefinition"] = NewResourceEstimate("AWS::Greengrass::LoggerDefinition", 1, 2, 1)
	Estimates["AWS::Greengrass::LoggerDefinitionVersion"] = NewResourceEstimate("AWS::Greengrass::LoggerDefinitionVersion", 1, 1, 1)
	Estimates["AWS::Greengrass::ResourceDefinition"] = NewResourceEstimate("AWS::Greengrass::ResourceDefinition", 1, 2, 1)
	Estimates["AWS::Greengrass::ResourceDefinitionVersion"] = NewResourceEstimate("AWS::Greengrass::ResourceDefinitionVersion", 1, 1, 1)
	Estimates["AWS::Greengrass::SubscriptionDefinition"] = NewResourceEstimate("AWS::Greengrass::SubscriptionDefinition", 1, 2, 1)
	Estimates["AWS::Greengrass::SubscriptionDefinitionVersion"] = NewResourceEstimate("AWS::Greengrass::SubscriptionDefinitionVersion", 1, 1, 1)
	Estimates["AWS::GreengrassV2::ComponentVersion"] = NewResourceEstimate("AWS::GreengrassV2::ComponentVersion", 3, 2, 1)
	Estimates["AWS::GreengrassV2::Deployment"] = NewResourceEstimate("AWS::GreengrassV2::Deployment", 2, 2, 1)
	Estimates["AWS::GroundStation::Config"] = NewResourceEstimate("AWS::GroundStation::Config", 1, 1, 1)
	Estimates["AWS::GroundStation::DataflowEndpointGroup"] = NewResourceEstimate("AWS::GroundStation::DataflowEndpointGroup", 36, 1, 1)
	Estimates["AWS::GroundStation::MissionProfile"] = NewResourceEstimate("AWS::GroundStation::MissionProfile", 1, 1, 1)
	Estimates["AWS::GuardDuty::Detector"] = NewResourceEstimate("AWS::GuardDuty::Detector", 5, 3, 1)
	Estimates["AWS::GuardDuty::Filter"] = NewResourceEstimate("AWS::GuardDuty::Filter", 1, 2, 1)
	Estimates["AWS::GuardDuty::IPSet"] = NewResourceEstimate("AWS::GuardDuty::IPSet", 7, 3, 1)
	Estimates["AWS::GuardDuty::Master"] = NewResourceEstimate("AWS::GuardDuty::Master", 3, 1, 1)
	Estimates["AWS::GuardDuty::ThreatIntelSet"] = NewResourceEstimate("AWS::GuardDuty::ThreatIntelSet", 6, 3, 1)
	Estimates["AWS::Hawk::FalconSchedulerSubscription"] = NewResourceEstimate("AWS::Hawk::FalconSchedulerSubscription", 1, 0, 1)
	Estimates["AWS::HealthLake::FHIRDatastore"] = NewResourceEstimate("AWS::HealthLake::FHIRDatastore", 2025, 2, 1)
	Estimates["AWS::IAM::AccessKey"] = NewResourceEstimate("AWS::IAM::AccessKey", 1, 0, 1)
	Estimates["AWS::IAM::Group"] = NewResourceEstimate("AWS::IAM::Group", 12, 2, 1)
	Estimates["AWS::IAM::GroupPolicy"] = NewResourceEstimate("AWS::IAM::GroupPolicy", 32, 1, 1)
	Estimates["AWS::IAM::InstanceProfile"] = NewResourceEstimate("AWS::IAM::InstanceProfile", 126, 0, 1)
	Estimates["AWS::IAM::ManagedPolicy"] = NewResourceEstimate("AWS::IAM::ManagedPolicy", 16, 1, 1)
	Estimates["AWS::IAM::OIDCProvider"] = NewResourceEstimate("AWS::IAM::OIDCProvider", 2, 3, 1)
	Estimates["AWS::IAM::Policy"] = NewResourceEstimate("AWS::IAM::Policy", 17, 3, 1)
	Estimates["AWS::IAM::Role"] = NewResourceEstimate("AWS::IAM::Role", 12, 17, 1)
	Estimates["AWS::IAM::RolePolicy"] = NewResourceEstimate("AWS::IAM::RolePolicy", 32, 1, 1)
	Estimates["AWS::IAM::SAMLProvider"] = NewResourceEstimate("AWS::IAM::SAMLProvider", 2, 1, 1)
	Estimates["AWS::IAM::ServerCertificate"] = NewResourceEstimate("AWS::IAM::ServerCertificate", 122, 1, 1)
	Estimates["AWS::IAM::ServiceLinkedRole"] = NewResourceEstimate("AWS::IAM::ServiceLinkedRole", 2, 0, 1)
	Estimates["AWS::IAM::User"] = NewResourceEstimate("AWS::IAM::User", 37, 2, 1)
	Estimates["AWS::IAM::UserPolicy"] = NewResourceEstimate("AWS::IAM::UserPolicy", 32, 0, 1)
	Estimates["AWS::IAM::UserToGroupAddition"] = NewResourceEstimate("AWS::IAM::UserToGroupAddition", 0, 0, 1)
	Estimates["AWS::IAM::VirtualMFADevice"] = NewResourceEstimate("AWS::IAM::VirtualMFADevice", 124, 1, 1)
	Estimates["AWS::IVS::Channel"] = NewResourceEstimate("AWS::IVS::Channel", 1, 1, 1)
	Estimates["AWS::IVS::PlaybackKeyPair"] = NewResourceEstimate("AWS::IVS::PlaybackKeyPair", 1, 1, 1)
	Estimates["AWS::IVS::RecordingConfiguration"] = NewResourceEstimate("AWS::IVS::RecordingConfiguration", 7, 1, 1)
	Estimates["AWS::IVS::StreamKey"] = NewResourceEstimate("AWS::IVS::StreamKey", 1, 1, 1)
	Estimates["AWS::IVSChat::LoggingConfiguration"] = NewResourceEstimate("AWS::IVSChat::LoggingConfiguration", 1, 2, 1)
	Estimates["AWS::IVSChat::Room"] = NewResourceEstimate("AWS::IVSChat::Room", 1, 1, 1)
	Estimates["AWS::IdentityStore::Group"] = NewResourceEstimate("AWS::IdentityStore::Group", 1, 1, 1)
	Estimates["AWS::IdentityStore::GroupMembership"] = NewResourceEstimate("AWS::IdentityStore::GroupMembership", 1, 1, 1)
	Estimates["AWS::ImageBuilder::Component"] = NewResourceEstimate("AWS::ImageBuilder::Component", 2, 1, 1)
	Estimates["AWS::ImageBuilder::ContainerRecipe"] = NewResourceEstimate("AWS::ImageBuilder::ContainerRecipe", 3, 1, 1)
	Estimates["AWS::ImageBuilder::DistributionConfiguration"] = NewResourceEstimate("AWS::ImageBuilder::DistributionConfiguration", 2, 2, 1)
	Estimates["AWS::ImageBuilder::Image"] = NewResourceEstimate("AWS::ImageBuilder::Image", 846, 1, 1)
	Estimates["AWS::ImageBuilder::ImagePipeline"] = NewResourceEstimate("AWS::ImageBuilder::ImagePipeline", 2, 2, 1)
	Estimates["AWS::ImageBuilder::ImageRecipe"] = NewResourceEstimate("AWS::ImageBuilder::ImageRecipe", 2, 1, 1)
	Estimates["AWS::ImageBuilder::InfrastructureConfiguration"] = NewResourceEstimate("AWS::ImageBuilder::InfrastructureConfiguration", 2, 2, 1)
	Estimates["AWS::Inspector::AssessmentTarget"] = NewResourceEstimate("AWS::Inspector::AssessmentTarget", 1, 1, 1)
	Estimates["AWS::Inspector::AssessmentTemplate"] = NewResourceEstimate("AWS::Inspector::AssessmentTemplate", 1, 1, 1)
	Estimates["AWS::Inspector::ResourceGroup"] = NewResourceEstimate("AWS::Inspector::ResourceGroup", 1, 1, 1)
	Estimates["AWS::InspectorV2::Filter"] = NewResourceEstimate("AWS::InspectorV2::Filter", 2, 2, 1)
	Estimates["AWS::Internal::Dummy"] = NewResourceEstimate("AWS::Internal::Dummy", 3, 1, 1)
	Estimates["AWS::Internal::OneTimeRelease"] = NewResourceEstimate("AWS::Internal::OneTimeRelease", 7, 1, 1)
	Estimates["AWS::InternetMonitor::Monitor"] = NewResourceEstimate("AWS::InternetMonitor::Monitor", 4, 1, 1)
	Estimates["AWS::IoT1Click::Placement"] = NewResourceEstimate("AWS::IoT1Click::Placement", 2, 1, 1)
	Estimates["AWS::IoT1Click::Project"] = NewResourceEstimate("AWS::IoT1Click::Project", 1, 1, 1)
	Estimates["AWS::IoT::AccountAuditConfiguration"] = NewResourceEstimate("AWS::IoT::AccountAuditConfiguration", 2, 2, 1)
	Estimates["AWS::IoT::Authorizer"] = NewResourceEstimate("AWS::IoT::Authorizer", 1, 1, 1)
	Estimates["AWS::IoT::BillingGroup"] = NewResourceEstimate("AWS::IoT::BillingGroup", 1, 1, 1)
	Estimates["AWS::IoT::CACertificate"] = NewResourceEstimate("AWS::IoT::CACertificate", 1, 1, 1)
	Estimates["AWS::IoT::Certificate"] = NewResourceEstimate("AWS::IoT::Certificate", 1, 1, 1)
	Estimates["AWS::IoT::CustomMetric"] = NewResourceEstimate("AWS::IoT::CustomMetric", 2, 2, 1)
	Estimates["AWS::IoT::Dimension"] = NewResourceEstimate("AWS::IoT::Dimension", 2, 2, 1)
	Estimates["AWS::IoT::DomainConfiguration"] = NewResourceEstimate("AWS::IoT::DomainConfiguration", 2, 1, 1)
	Estimates["AWS::IoT::FleetMetric"] = NewResourceEstimate("AWS::IoT::FleetMetric", 1, 1, 1)
	Estimates["AWS::IoT::JobTemplate"] = NewResourceEstimate("AWS::IoT::JobTemplate", 1, 1, 1)
	Estimates["AWS::IoT::Logging"] = NewResourceEstimate("AWS::IoT::Logging", 1, 1, 1)
	Estimates["AWS::IoT::MitigationAction"] = NewResourceEstimate("AWS::IoT::MitigationAction", 2, 2, 1)
	Estimates["AWS::IoT::Policy"] = NewResourceEstimate("AWS::IoT::Policy", 1, 1, 1)
	Estimates["AWS::IoT::PolicyPrincipalAttachment"] = NewResourceEstimate("AWS::IoT::PolicyPrincipalAttachment", 60, 1, 1)
	Estimates["AWS::IoT::ProvisioningTemplate"] = NewResourceEstimate("AWS::IoT::ProvisioningTemplate", 1, 1, 1)
	Estimates["AWS::IoT::ResourceSpecificLogging"] = NewResourceEstimate("AWS::IoT::ResourceSpecificLogging", 1, 1, 1)
	Estimates["AWS::IoT::RoleAlias"] = NewResourceEstimate("AWS::IoT::RoleAlias", 1, 32, 1)
	Estimates["AWS::IoT::ScheduledAudit"] = NewResourceEstimate("AWS::IoT::ScheduledAudit", 1, 2, 1)
	Estimates["AWS::IoT::SecurityProfile"] = NewResourceEstimate("AWS::IoT::SecurityProfile", 2, 2, 1)
	Estimates["AWS::IoT::Thing"] = NewResourceEstimate("AWS::IoT::Thing", 1, 1, 1)
	Estimates["AWS::IoT::ThingGroup"] = NewResourceEstimate("AWS::IoT::ThingGroup", 2, 2, 1)
	Estimates["AWS::IoT::ThingPrincipalAttachment"] = NewResourceEstimate("AWS::IoT::ThingPrincipalAttachment", 61, 1, 1)
	Estimates["AWS::IoT::ThingType"] = NewResourceEstimate("AWS::IoT::ThingType", 1, 1, 1)
	Estimates["AWS::IoT::TopicRule"] = NewResourceEstimate("AWS::IoT::TopicRule", 2, 1, 1)
	Estimates["AWS::IoT::TopicRuleDestination"] = NewResourceEstimate("AWS::IoT::TopicRuleDestination", 1, 1, 1)
	Estimates["AWS::IoTAnalytics::Channel"] = NewResourceEstimate("AWS::IoTAnalytics::Channel", 3, 2, 1)
	Estimates["AWS::IoTAnalytics::Dataset"] = NewResourceEstimate("AWS::IoTAnalytics::Dataset", 2, 2, 1)
	Estimates["AWS::IoTAnalytics::Datastore"] = NewResourceEstimate("AWS::IoTAnalytics::Datastore", 3, 2, 1)
	Estimates["AWS::IoTAnalytics::Pipeline"] = NewResourceEstimate("AWS::IoTAnalytics::Pipeline", 2, 1, 1)
	Estimates["AWS::IoTCoreDeviceAdvisor::SuiteDefinition"] = NewResourceEstimate("AWS::IoTCoreDeviceAdvisor::SuiteDefinition", 2, 1, 1)
	Estimates["AWS::IoTEvents::AlarmModel"] = NewResourceEstimate("AWS::IoTEvents::AlarmModel", 11, 12, 1)
	Estimates["AWS::IoTEvents::DetectorModel"] = NewResourceEstimate("AWS::IoTEvents::DetectorModel", 12, 14, 1)
	Estimates["AWS::IoTEvents::Input"] = NewResourceEstimate("AWS::IoTEvents::Input", 1, 1, 1)
	Estimates["AWS::IoTFleetHub::Application"] = NewResourceEstimate("AWS::IoTFleetHub::Application", 2, 2, 1)
	Estimates["AWS::IoTSiteWise::AccessPolicy"] = NewResourceEstimate("AWS::IoTSiteWise::AccessPolicy", 1, 2, 1)
	Estimates["AWS::IoTSiteWise::Asset"] = NewResourceEstimate("AWS::IoTSiteWise::Asset", 13, 9, 1)
	Estimates["AWS::IoTSiteWise::AssetModel"] = NewResourceEstimate("AWS::IoTSiteWise::AssetModel", 11, 14, 1)
	Estimates["AWS::IoTSiteWise::Dashboard"] = NewResourceEstimate("AWS::IoTSiteWise::Dashboard", 2, 2, 1)
	Estimates["AWS::IoTSiteWise::Gateway"] = NewResourceEstimate("AWS::IoTSiteWise::Gateway", 3, 3, 1)
	Estimates["AWS::IoTSiteWise::Portal"] = NewResourceEstimate("AWS::IoTSiteWise::Portal", 46, 7, 1)
	Estimates["AWS::IoTSiteWise::Project"] = NewResourceEstimate("AWS::IoTSiteWise::Project", 2, 2, 1)
	Estimates["AWS::IoTTwinMaker::ComponentType"] = NewResourceEstimate("AWS::IoTTwinMaker::ComponentType", 2, 2, 1)
	Estimates["AWS::IoTTwinMaker::Entity"] = NewResourceEstimate("AWS::IoTTwinMaker::Entity", 7, 8, 1)
	Estimates["AWS::IoTTwinMaker::Scene"] = NewResourceEstimate("AWS::IoTTwinMaker::Scene", 1, 1, 1)
	Estimates["AWS::IoTTwinMaker::SyncJob"] = NewResourceEstimate("AWS::IoTTwinMaker::SyncJob", 1, 4, 1)
	Estimates["AWS::IoTTwinMaker::Workspace"] = NewResourceEstimate("AWS::IoTTwinMaker::Workspace", 2, 2, 1)
	Estimates["AWS::IoTWireless::Destination"] = NewResourceEstimate("AWS::IoTWireless::Destination", 1, 1, 1)
	Estimates["AWS::IoTWireless::DeviceProfile"] = NewResourceEstimate("AWS::IoTWireless::DeviceProfile", 1, 1, 1)
	Estimates["AWS::IoTWireless::FuotaTask"] = NewResourceEstimate("AWS::IoTWireless::FuotaTask", 1, 1, 1)
	Estimates["AWS::IoTWireless::MulticastGroup"] = NewResourceEstimate("AWS::IoTWireless::MulticastGroup", 1, 1, 1)
	Estimates["AWS::IoTWireless::NetworkAnalyzerConfiguration"] = NewResourceEstimate("AWS::IoTWireless::NetworkAnalyzerConfiguration", 1, 1, 1)
	Estimates["AWS::IoTWireless::ServiceProfile"] = NewResourceEstimate("AWS::IoTWireless::ServiceProfile", 1, 1, 1)
	Estimates["AWS::IoTWireless::TaskDefinition"] = NewResourceEstimate("AWS::IoTWireless::TaskDefinition", 1, 1, 1)
	Estimates["AWS::IoTWireless::WirelessDevice"] = NewResourceEstimate("AWS::IoTWireless::WirelessDevice", 1, 1, 1)
	Estimates["AWS::IoTWireless::WirelessGateway"] = NewResourceEstimate("AWS::IoTWireless::WirelessGateway", 1, 1, 1)
	Estimates["AWS::KMS::Alias"] = NewResourceEstimate("AWS::KMS::Alias", 62, 13, 1)
	Estimates["AWS::KMS::Key"] = NewResourceEstimate("AWS::KMS::Key", 122, 71, 1)
	Estimates["AWS::KMS::ReplicaKey"] = NewResourceEstimate("AWS::KMS::ReplicaKey", 124, 54, 1)
	Estimates["AWS::KMS::TestPrimaryMrk"] = NewResourceEstimate("AWS::KMS::TestPrimaryMrk", 123, 1, 1)
	Estimates["AWS::KafkaConnect::Connector"] = NewResourceEstimate("AWS::KafkaConnect::Connector", 607, 632, 1)
	Estimates["AWS::Kendra::DataSource"] = NewResourceEstimate("AWS::Kendra::DataSource", 16, 9, 1)
	Estimates["AWS::Kendra::Faq"] = NewResourceEstimate("AWS::Kendra::Faq", 10, 1, 1)
	Estimates["AWS::Kendra::Index"] = NewResourceEstimate("AWS::Kendra::Index", 1970, 290, 1)
	Estimates["AWS::KendraRanking::ExecutionPlan"] = NewResourceEstimate("AWS::KendraRanking::ExecutionPlan", 491, 1, 1)
	Estimates["AWS::Kinesis::Stream"] = NewResourceEstimate("AWS::Kinesis::Stream", 14, 29, 1)
	Estimates["AWS::Kinesis::StreamConsumer"] = NewResourceEstimate("AWS::Kinesis::StreamConsumer", 12, 0, 1)
	Estimates["AWS::KinesisAnalytics::Application"] = NewResourceEstimate("AWS::KinesisAnalytics::Application", 2, 1, 1)
	Estimates["AWS::KinesisAnalytics::ApplicationOutput"] = NewResourceEstimate("AWS::KinesisAnalytics::ApplicationOutput", 2, 0, 1)
	Estimates["AWS::KinesisAnalytics::ApplicationReferenceDataSource"] = NewResourceEstimate("AWS::KinesisAnalytics::ApplicationReferenceDataSource", 2, 1, 1)
	Estimates["AWS::KinesisAnalyticsV2::Application"] = NewResourceEstimate("AWS::KinesisAnalyticsV2::Application", 7, 104, 1)
	Estimates["AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption"] = NewResourceEstimate("AWS::KinesisAnalyticsV2::ApplicationCloudWatchLoggingOption", 2, 1, 1)
	Estimates["AWS::KinesisAnalyticsV2::ApplicationOutput"] = NewResourceEstimate("AWS::KinesisAnalyticsV2::ApplicationOutput", 2, 1, 1)
	Estimates["AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource"] = NewResourceEstimate("AWS::KinesisAnalyticsV2::ApplicationReferenceDataSource", 2, 1, 1)
	Estimates["AWS::KinesisFirehose::DeliveryStream"] = NewResourceEstimate("AWS::KinesisFirehose::DeliveryStream", 77, 4, 1)
	Estimates["AWS::KinesisVideo::SignalingChannel"] = NewResourceEstimate("AWS::KinesisVideo::SignalingChannel", 7, 7, 1)
	Estimates["AWS::KinesisVideo::Stream"] = NewResourceEstimate("AWS::KinesisVideo::Stream", 6, 12, 1)
	Estimates["AWS::LakeFormation::DataCellsFilter"] = NewResourceEstimate("AWS::LakeFormation::DataCellsFilter", 2, 5, 1)
	Estimates["AWS::LakeFormation::DataLakeSettings"] = NewResourceEstimate("AWS::LakeFormation::DataLakeSettings", 1, 0, 1)
	Estimates["AWS::LakeFormation::Permissions"] = NewResourceEstimate("AWS::LakeFormation::Permissions", 2, 0, 1)
	Estimates["AWS::LakeFormation::PrincipalPermissions"] = NewResourceEstimate("AWS::LakeFormation::PrincipalPermissions", 3, 3, 1)
	Estimates["AWS::LakeFormation::Resource"] = NewResourceEstimate("AWS::LakeFormation::Resource", 2, 2, 1)
	Estimates["AWS::LakeFormation::Tag"] = NewResourceEstimate("AWS::LakeFormation::Tag", 2, 2, 1)
	Estimates["AWS::LakeFormation::TagAssociation"] = NewResourceEstimate("AWS::LakeFormation::TagAssociation", 2, 5, 1)
	Estimates["AWS::Lambda::Alias"] = NewResourceEstimate("AWS::Lambda::Alias", 51, 218, 1)
	Estimates["AWS::Lambda::CodeSigningConfig"] = NewResourceEstimate("AWS::Lambda::CodeSigningConfig", 1, 2, 1)
	Estimates["AWS::Lambda::EventInvokeConfig"] = NewResourceEstimate("AWS::Lambda::EventInvokeConfig", 2, 0, 1)
	Estimates["AWS::Lambda::EventSourceMapping"] = NewResourceEstimate("AWS::Lambda::EventSourceMapping", 10, 1, 1)
	Estimates["AWS::Lambda::Function"] = NewResourceEstimate("AWS::Lambda::Function", 25, 12, 1)
	Estimates["AWS::Lambda::LayerVersion"] = NewResourceEstimate("AWS::Lambda::LayerVersion", 8, 0, 1)
	Estimates["AWS::Lambda::LayerVersionPermission"] = NewResourceEstimate("AWS::Lambda::LayerVersionPermission", 1, 0, 1)
	Estimates["AWS::Lambda::Permission"] = NewResourceEstimate("AWS::Lambda::Permission", 1, 0, 1)
	Estimates["AWS::Lambda::Url"] = NewResourceEstimate("AWS::Lambda::Url", 1, 1, 1)
	Estimates["AWS::Lambda::Version"] = NewResourceEstimate("AWS::Lambda::Version", 4, 1, 1)
	Estimates["AWS::Lex::Bot"] = NewResourceEstimate("AWS::Lex::Bot", 25, 0, 1)
	Estimates["AWS::Lex::BotAlias"] = NewResourceEstimate("AWS::Lex::BotAlias", 2, 2, 1)
	Estimates["AWS::Lex::BotVersion"] = NewResourceEstimate("AWS::Lex::BotVersion", 51, 1, 1)
	Estimates["AWS::Lex::ResourcePolicy"] = NewResourceEstimate("AWS::Lex::ResourcePolicy", 2, 1, 1)
	Estimates["AWS::LicenseManager::Grant"] = NewResourceEstimate("AWS::LicenseManager::Grant", 2, 1, 1)
	Estimates["AWS::LicenseManager::License"] = NewResourceEstimate("AWS::LicenseManager::License", 2, 1, 1)
	Estimates["AWS::Lightsail::Alarm"] = NewResourceEstimate("AWS::Lightsail::Alarm", 3, 2, 1)
	Estimates["AWS::Lightsail::Bucket"] = NewResourceEstimate("AWS::Lightsail::Bucket", 59, 28, 1)
	Estimates["AWS::Lightsail::Certificate"] = NewResourceEstimate("AWS::Lightsail::Certificate", 7, 6, 1)
	Estimates["AWS::Lightsail::Container"] = NewResourceEstimate("AWS::Lightsail::Container", 54, 526, 1)
	Estimates["AWS::Lightsail::Database"] = NewResourceEstimate("AWS::Lightsail::Database", 793, 598, 1)
	Estimates["AWS::Lightsail::Disk"] = NewResourceEstimate("AWS::Lightsail::Disk", 16, 13, 1)
	Estimates["AWS::Lightsail::Instance"] = NewResourceEstimate("AWS::Lightsail::Instance", 86, 104, 1)
	Estimates["AWS::Lightsail::LoadBalancer"] = NewResourceEstimate("AWS::Lightsail::LoadBalancer", 77, 142, 1)
	Estimates["AWS::Lightsail::LoadBalancerTlsCertificate"] = NewResourceEstimate("AWS::Lightsail::LoadBalancerTlsCertificate", 37, 1, 1)
	Estimates["AWS::Lightsail::StaticIp"] = NewResourceEstimate("AWS::Lightsail::StaticIp", 28, 10, 1)
	Estimates["AWS::Location::GeofenceCollection"] = NewResourceEstimate("AWS::Location::GeofenceCollection", 1, 1, 1)
	Estimates["AWS::Location::Map"] = NewResourceEstimate("AWS::Location::Map", 1, 1, 1)
	Estimates["AWS::Location::PlaceIndex"] = NewResourceEstimate("AWS::Location::PlaceIndex", 1, 1, 1)
	Estimates["AWS::Location::RouteCalculator"] = NewResourceEstimate("AWS::Location::RouteCalculator", 1, 1, 1)
	Estimates["AWS::Location::Tracker"] = NewResourceEstimate("AWS::Location::Tracker", 1, 1, 1)
	Estimates["AWS::Location::TrackerConsumer"] = NewResourceEstimate("AWS::Location::TrackerConsumer", 1, 1, 1)
	Estimates["AWS::Logs::AccountPolicy"] = NewResourceEstimate("AWS::Logs::AccountPolicy", 1, 1, 1)
	Estimates["AWS::Logs::Destination"] = NewResourceEstimate("AWS::Logs::Destination", 1, 1, 1)
	Estimates["AWS::Logs::LogGroup"] = NewResourceEstimate("AWS::Logs::LogGroup", 1, 1, 1)
	Estimates["AWS::Logs::LogStream"] = NewResourceEstimate("AWS::Logs::LogStream", 11, 0, 1)
	Estimates["AWS::Logs::MetricFilter"] = NewResourceEstimate("AWS::Logs::MetricFilter", 2, 2, 1)
	Estimates["AWS::Logs::QueryDefinition"] = NewResourceEstimate("AWS::Logs::QueryDefinition", 1, 1, 1)
	Estimates["AWS::Logs::ResourcePolicy"] = NewResourceEstimate("AWS::Logs::ResourcePolicy", 1, 1, 1)
	Estimates["AWS::Logs::SubscriptionFilter"] = NewResourceEstimate("AWS::Logs::SubscriptionFilter", 1, 1, 1)
	Estimates["AWS::LookoutMetrics::Alert"] = NewResourceEstimate("AWS::LookoutMetrics::Alert", 1, 1, 1)
	Estimates["AWS::LookoutMetrics::AnomalyDetector"] = NewResourceEstimate("AWS::LookoutMetrics::AnomalyDetector", 2, 2, 1)
	Estimates["AWS::LookoutVision::Project"] = NewResourceEstimate("AWS::LookoutVision::Project", 1, 1, 1)
	Estimates["AWS::Lotus::PackageMajorVersion"] = NewResourceEstimate("AWS::Lotus::PackageMajorVersion", 1, 1, 1)
	Estimates["AWS::Lotus::PackageOwner"] = NewResourceEstimate("AWS::Lotus::PackageOwner", 1, 1, 1)
	Estimates["AWS::Lotus::PackageVersion"] = NewResourceEstimate("AWS::Lotus::PackageVersion", 1, 1, 1)
	Estimates["AWS::Lotus::RoutingConfiguration"] = NewResourceEstimate("AWS::Lotus::RoutingConfiguration", 1, 1, 1)
	Estimates["AWS::Lotus::VersionAlias"] = NewResourceEstimate("AWS::Lotus::VersionAlias", 1, 2, 1)
	Estimates["AWS::M2::Application"] = NewResourceEstimate("AWS::M2::Application", 7, 8, 1)
	Estimates["AWS::M2::Environment"] = NewResourceEstimate("AWS::M2::Environment", 168, 321, 1)
	Estimates["AWS::MSK::BatchScramSecret"] = NewResourceEstimate("AWS::MSK::BatchScramSecret", 3, 2, 1)
	Estimates["AWS::MSK::Cluster"] = NewResourceEstimate("AWS::MSK::Cluster", 1833, 1481, 1)
	Estimates["AWS::MSK::ClusterPolicy"] = NewResourceEstimate("AWS::MSK::ClusterPolicy", 9, 2, 1)
	Estimates["AWS::MSK::Configuration"] = NewResourceEstimate("AWS::MSK::Configuration", 6, 2, 1)
	Estimates["AWS::MSK::ServerlessCluster"] = NewResourceEstimate("AWS::MSK::ServerlessCluster", 138, 1, 1)
	Estimates["AWS::MSK::VpcConnection"] = NewResourceEstimate("AWS::MSK::VpcConnection", 130, 1, 1)
	Estimates["AWS::MWAA::Environment"] = NewResourceEstimate("AWS::MWAA::Environment", 111, 117, 1)
	Estimates["AWS::Macie::AllowList"] = NewResourceEstimate("AWS::Macie::AllowList", 2, 1, 1)
	Estimates["AWS::Macie::CustomDataIdentifier"] = NewResourceEstimate("AWS::Macie::CustomDataIdentifier", 1, 1, 1)
	Estimates["AWS::Macie::Session"] = NewResourceEstimate("AWS::Macie::Session", 1, 1, 1)
	Estimates["AWS::Maester::DocumentType"] = NewResourceEstimate("AWS::Maester::DocumentType", 1, 1, 1)
	Estimates["AWS::ManagedFleets::Fleet"] = NewResourceEstimate("AWS::ManagedFleets::Fleet", 1, 2, 1)
	Estimates["AWS::ManagedFleets::SubFleet"] = NewResourceEstimate("AWS::ManagedFleets::SubFleet", 2, 2, 1)
	Estimates["AWS::MediaConnect::Bridge"] = NewResourceEstimate("AWS::MediaConnect::Bridge", 2, 1, 1)
	Estimates["AWS::MediaConnect::BridgeOutput"] = NewResourceEstimate("AWS::MediaConnect::BridgeOutput", 2, 1, 1)
	Estimates["AWS::MediaConnect::BridgeSource"] = NewResourceEstimate("AWS::MediaConnect::BridgeSource", 2, 1, 1)
	Estimates["AWS::MediaConnect::Flow"] = NewResourceEstimate("AWS::MediaConnect::Flow", 2, 2, 1)
	Estimates["AWS::MediaConnect::FlowEntitlement"] = NewResourceEstimate("AWS::MediaConnect::FlowEntitlement", 1, 1, 1)
	Estimates["AWS::MediaConnect::FlowOutput"] = NewResourceEstimate("AWS::MediaConnect::FlowOutput", 1, 1, 1)
	Estimates["AWS::MediaConnect::FlowSource"] = NewResourceEstimate("AWS::MediaConnect::FlowSource", 1, 1, 1)
	Estimates["AWS::MediaConnect::FlowVpcInterface"] = NewResourceEstimate("AWS::MediaConnect::FlowVpcInterface", 2, 0, 1)
	Estimates["AWS::MediaConnect::Gateway"] = NewResourceEstimate("AWS::MediaConnect::Gateway", 8, 1, 1)
	Estimates["AWS::MediaConvert::JobTemplate"] = NewResourceEstimate("AWS::MediaConvert::JobTemplate", 2, 1, 1)
	Estimates["AWS::MediaConvert::Preset"] = NewResourceEstimate("AWS::MediaConvert::Preset", 1, 1, 1)
	Estimates["AWS::MediaConvert::Queue"] = NewResourceEstimate("AWS::MediaConvert::Queue", 5, 1, 1)
	Estimates["AWS::MediaLive::Channel"] = NewResourceEstimate("AWS::MediaLive::Channel", 18, 22, 1)
	Estimates["AWS::MediaLive::Input"] = NewResourceEstimate("AWS::MediaLive::Input", 6, 25, 1)
	Estimates["AWS::MediaLive::InputSecurityGroup"] = NewResourceEstimate("AWS::MediaLive::InputSecurityGroup", 5, 1, 1)
	Estimates["AWS::MediaPackage::Asset"] = NewResourceEstimate("AWS::MediaPackage::Asset", 2, 1, 1)
	Estimates["AWS::MediaPackage::Channel"] = NewResourceEstimate("AWS::MediaPackage::Channel", 2, 1, 1)
	Estimates["AWS::MediaPackage::OriginEndpoint"] = NewResourceEstimate("AWS::MediaPackage::OriginEndpoint", 5, 1, 1)
	Estimates["AWS::MediaPackage::PackagingConfiguration"] = NewResourceEstimate("AWS::MediaPackage::PackagingConfiguration", 2, 1, 1)
	Estimates["AWS::MediaPackage::PackagingGroup"] = NewResourceEstimate("AWS::MediaPackage::PackagingGroup", 2, 1, 1)
	Estimates["AWS::MediaPackageV2::Channel"] = NewResourceEstimate("AWS::MediaPackageV2::Channel", 2, 1, 1)
	Estimates["AWS::MediaPackageV2::ChannelGroup"] = NewResourceEstimate("AWS::MediaPackageV2::ChannelGroup", 2, 1, 1)
	Estimates["AWS::MediaPackageV2::ChannelPolicy"] = NewResourceEstimate("AWS::MediaPackageV2::ChannelPolicy", 2, 1, 1)
	Estimates["AWS::MediaPackageV2::OriginEndpoint"] = NewResourceEstimate("AWS::MediaPackageV2::OriginEndpoint", 2, 1, 1)
	Estimates["AWS::MediaPackageV2::OriginEndpointPolicy"] = NewResourceEstimate("AWS::MediaPackageV2::OriginEndpointPolicy", 2, 1, 1)
	Estimates["AWS::MediaStore::Container"] = NewResourceEstimate("AWS::MediaStore::Container", 36, 1, 1)
	Estimates["AWS::MediaTailor::Channel"] = NewResourceEstimate("AWS::MediaTailor::Channel", 2, 2, 1)
	Estimates["AWS::MediaTailor::ChannelPolicy"] = NewResourceEstimate("AWS::MediaTailor::ChannelPolicy", 1, 1, 1)
	Estimates["AWS::MediaTailor::LiveSource"] = NewResourceEstimate("AWS::MediaTailor::LiveSource", 1, 2, 1)
	Estimates["AWS::MediaTailor::PlaybackConfiguration"] = NewResourceEstimate("AWS::MediaTailor::PlaybackConfiguration", 1, 2, 1)
	Estimates["AWS::MediaTailor::SourceLocation"] = NewResourceEstimate("AWS::MediaTailor::SourceLocation", 1, 2, 1)
	Estimates["AWS::MediaTailor::VodSource"] = NewResourceEstimate("AWS::MediaTailor::VodSource", 1, 2, 1)
	Estimates["AWS::MemoryDB::ACL"] = NewResourceEstimate("AWS::MemoryDB::ACL", 2, 53, 1)
	Estimates["AWS::MemoryDB::Cluster"] = NewResourceEstimate("AWS::MemoryDB::Cluster", 1054, 236, 1)
	Estimates["AWS::MemoryDB::ParameterGroup"] = NewResourceEstimate("AWS::MemoryDB::ParameterGroup", 1, 2, 1)
	Estimates["AWS::MemoryDB::SubnetGroup"] = NewResourceEstimate("AWS::MemoryDB::SubnetGroup", 2, 2, 1)
	Estimates["AWS::MemoryDB::User"] = NewResourceEstimate("AWS::MemoryDB::User", 2, 50, 1)
	Estimates["AWS::Neptune::DBCluster"] = NewResourceEstimate("AWS::Neptune::DBCluster", 79, 2, 1)
	Estimates["AWS::Neptune::DBClusterParameterGroup"] = NewResourceEstimate("AWS::Neptune::DBClusterParameterGroup", 2, 2, 1)
	Estimates["AWS::Neptune::DBInstance"] = NewResourceEstimate("AWS::Neptune::DBInstance", 845, 528, 1)
	Estimates["AWS::Neptune::DBParameterGroup"] = NewResourceEstimate("AWS::Neptune::DBParameterGroup", 2, 1, 1)
	Estimates["AWS::Neptune::DBSubnetGroup"] = NewResourceEstimate("AWS::Neptune::DBSubnetGroup", 2, 2, 1)
	Estimates["AWS::NetworkFirewall::Firewall"] = NewResourceEstimate("AWS::NetworkFirewall::Firewall", 312, 21, 1)
	Estimates["AWS::NetworkFirewall::FirewallPolicy"] = NewResourceEstimate("AWS::NetworkFirewall::FirewallPolicy", 2, 2, 1)
	Estimates["AWS::NetworkFirewall::LoggingConfiguration"] = NewResourceEstimate("AWS::NetworkFirewall::LoggingConfiguration", 10, 0, 1)
	Estimates["AWS::NetworkFirewall::RuleGroup"] = NewResourceEstimate("AWS::NetworkFirewall::RuleGroup", 3, 3, 1)
	Estimates["AWS::NetworkFirewall::TLSInspectionConfiguration"] = NewResourceEstimate("AWS::NetworkFirewall::TLSInspectionConfiguration", 2, 2, 1)
	Estimates["AWS::NetworkManager::ConnectAttachment"] = NewResourceEstimate("AWS::NetworkManager::ConnectAttachment", 51, 2, 1)
	Estimates["AWS::NetworkManager::ConnectPeer"] = NewResourceEstimate("AWS::NetworkManager::ConnectPeer", 213, 2, 1)
	Estimates["AWS::NetworkManager::CoreNetwork"] = NewResourceEstimate("AWS::NetworkManager::CoreNetwork", 206, 4, 1)
	Estimates["AWS::NetworkManager::CustomerGatewayAssociation"] = NewResourceEstimate("AWS::NetworkManager::CustomerGatewayAssociation", 2, 1, 1)
	Estimates["AWS::NetworkManager::Device"] = NewResourceEstimate("AWS::NetworkManager::Device", 2, 2, 1)
	Estimates["AWS::NetworkManager::GlobalNetwork"] = NewResourceEstimate("AWS::NetworkManager::GlobalNetwork", 2, 2, 1)
	Estimates["AWS::NetworkManager::Link"] = NewResourceEstimate("AWS::NetworkManager::Link", 2, 2, 1)
	Estimates["AWS::NetworkManager::LinkAssociation"] = NewResourceEstimate("AWS::NetworkManager::LinkAssociation", 2, 1, 1)
	Estimates["AWS::NetworkManager::Site"] = NewResourceEstimate("AWS::NetworkManager::Site", 2, 5, 1)
	Estimates["AWS::NetworkManager::SiteToSiteVpnAttachment"] = NewResourceEstimate("AWS::NetworkManager::SiteToSiteVpnAttachment", 287, 2, 1)
	Estimates["AWS::NetworkManager::TransitGatewayPeering"] = NewResourceEstimate("AWS::NetworkManager::TransitGatewayPeering", 393, 2, 1)
	Estimates["AWS::NetworkManager::TransitGatewayRegistration"] = NewResourceEstimate("AWS::NetworkManager::TransitGatewayRegistration", 32, 1, 1)
	Estimates["AWS::NetworkManager::TransitGatewayRouteTableAttachment"] = NewResourceEstimate("AWS::NetworkManager::TransitGatewayRouteTableAttachment", 162, 2, 1)
	Estimates["AWS::NetworkManager::VpcAttachment"] = NewResourceEstimate("AWS::NetworkManager::VpcAttachment", 109, 106, 1)
	Estimates["AWS::NimbleStudio::LaunchProfile"] = NewResourceEstimate("AWS::NimbleStudio::LaunchProfile", 25, 8, 1)
	Estimates["AWS::NimbleStudio::StreamingImage"] = NewResourceEstimate("AWS::NimbleStudio::StreamingImage", 4, 3, 1)
	Estimates["AWS::NimbleStudio::Studio"] = NewResourceEstimate("AWS::NimbleStudio::Studio", 8, 7, 1)
	Estimates["AWS::NimbleStudio::StudioComponent"] = NewResourceEstimate("AWS::NimbleStudio::StudioComponent", 8, 7, 1)
	Estimates["AWS::OSIS::Pipeline"] = NewResourceEstimate("AWS::OSIS::Pipeline", 500, 539, 1)
	Estimates["AWS::Oam::Link"] = NewResourceEstimate("AWS::Oam::Link", 2, 2, 1)
	Estimates["AWS::Oam::Sink"] = NewResourceEstimate("AWS::Oam::Sink", 2, 1, 1)
	Estimates["AWS::Omics::AnnotationStore"] = NewResourceEstimate("AWS::Omics::AnnotationStore", 243, 2, 1)
	Estimates["AWS::Omics::ReferenceStore"] = NewResourceEstimate("AWS::Omics::ReferenceStore", 1, 1, 1)
	Estimates["AWS::Omics::RunGroup"] = NewResourceEstimate("AWS::Omics::RunGroup", 1, 2, 1)
	Estimates["AWS::Omics::SequenceStore"] = NewResourceEstimate("AWS::Omics::SequenceStore", 1, 1, 1)
	Estimates["AWS::Omics::VariantStore"] = NewResourceEstimate("AWS::Omics::VariantStore", 240, 2, 1)
	Estimates["AWS::Omics::Workflow"] = NewResourceEstimate("AWS::Omics::Workflow", 7, 1, 1)
	Estimates["AWS::OpenSearchServerless::AccessPolicy"] = NewResourceEstimate("AWS::OpenSearchServerless::AccessPolicy", 1, 1, 1)
	Estimates["AWS::OpenSearchServerless::Collection"] = NewResourceEstimate("AWS::OpenSearchServerless::Collection", 134, 0, 1)
	Estimates["AWS::OpenSearchServerless::SecurityConfig"] = NewResourceEstimate("AWS::OpenSearchServerless::SecurityConfig", 1, 2, 1)
	Estimates["AWS::OpenSearchServerless::SecurityPolicy"] = NewResourceEstimate("AWS::OpenSearchServerless::SecurityPolicy", 1, 1, 1)
	Estimates["AWS::OpenSearchServerless::VpcEndpoint"] = NewResourceEstimate("AWS::OpenSearchServerless::VpcEndpoint", 76, 0, 1)
	Estimates["AWS::OpenSearchService::Domain"] = NewResourceEstimate("AWS::OpenSearchService::Domain", 887, 347, 1)
	Estimates["AWS::OpsWorks::App"] = NewResourceEstimate("AWS::OpsWorks::App", 1, 0, 1)
	Estimates["AWS::OpsWorks::ElasticLoadBalancerAttachment"] = NewResourceEstimate("AWS::OpsWorks::ElasticLoadBalancerAttachment", 2, 0, 1)
	Estimates["AWS::OpsWorks::Instance"] = NewResourceEstimate("AWS::OpsWorks::Instance", 119, 0, 1)
	Estimates["AWS::OpsWorks::Layer"] = NewResourceEstimate("AWS::OpsWorks::Layer", 3, 0, 1)
	Estimates["AWS::OpsWorks::Stack"] = NewResourceEstimate("AWS::OpsWorks::Stack", 5, 1, 1)
	Estimates["AWS::OpsWorksCM::Server"] = NewResourceEstimate("AWS::OpsWorksCM::Server", 955, 6, 1)
	Estimates["AWS::Organizations::Account"] = NewResourceEstimate("AWS::Organizations::Account", 16, 2, 1)
	Estimates["AWS::Organizations::Organization"] = NewResourceEstimate("AWS::Organizations::Organization", 3, 1, 1)
	Estimates["AWS::Organizations::OrganizationalUnit"] = NewResourceEstimate("AWS::Organizations::OrganizationalUnit", 3, 4, 1)
	Estimates["AWS::Organizations::Policy"] = NewResourceEstimate("AWS::Organizations::Policy", 3, 4, 1)
	Estimates["AWS::Organizations::ResourcePolicy"] = NewResourceEstimate("AWS::Organizations::ResourcePolicy", 2, 2, 1)
	Estimates["AWS::PCAConnectorAD::Connector"] = NewResourceEstimate("AWS::PCAConnectorAD::Connector", 59, 2, 1)
	Estimates["AWS::PCAConnectorAD::DirectoryRegistration"] = NewResourceEstimate("AWS::PCAConnectorAD::DirectoryRegistration", 4, 2, 1)
	Estimates["AWS::PCAConnectorAD::ServicePrincipalName"] = NewResourceEstimate("AWS::PCAConnectorAD::ServicePrincipalName", 4, 1, 1)
	Estimates["AWS::PCAConnectorAD::Template"] = NewResourceEstimate("AWS::PCAConnectorAD::Template", 6, 8, 1)
	Estimates["AWS::PCAConnectorAD::TemplateGroupAccessControlEntry"] = NewResourceEstimate("AWS::PCAConnectorAD::TemplateGroupAccessControlEntry", 2, 1, 1)
	Estimates["AWS::Panorama::ApplicationInstance"] = NewResourceEstimate("AWS::Panorama::ApplicationInstance", 61, 1, 1)
	Estimates["AWS::Panorama::Package"] = NewResourceEstimate("AWS::Panorama::Package", 2, 1, 1)
	Estimates["AWS::Panorama::PackageVersion"] = NewResourceEstimate("AWS::Panorama::PackageVersion", 8, 1, 1)
	Estimates["AWS::Personalize::Dataset"] = NewResourceEstimate("AWS::Personalize::Dataset", 23, 197, 1)
	Estimates["AWS::Personalize::DatasetGroup"] = NewResourceEstimate("AWS::Personalize::DatasetGroup", 19, 1, 1)
	Estimates["AWS::Personalize::Schema"] = NewResourceEstimate("AWS::Personalize::Schema", 1, 1, 1)
	Estimates["AWS::Personalize::Solution"] = NewResourceEstimate("AWS::Personalize::Solution", 2, 1, 1)
	Estimates["AWS::Pinpoint::ADMChannel"] = NewResourceEstimate("AWS::Pinpoint::ADMChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::APNSChannel"] = NewResourceEstimate("AWS::Pinpoint::APNSChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::APNSSandboxChannel"] = NewResourceEstimate("AWS::Pinpoint::APNSSandboxChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::APNSVoipChannel"] = NewResourceEstimate("AWS::Pinpoint::APNSVoipChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::APNSVoipSandboxChannel"] = NewResourceEstimate("AWS::Pinpoint::APNSVoipSandboxChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::App"] = NewResourceEstimate("AWS::Pinpoint::App", 2, 1, 1)
	Estimates["AWS::Pinpoint::ApplicationSettings"] = NewResourceEstimate("AWS::Pinpoint::ApplicationSettings", 2, 1, 1)
	Estimates["AWS::Pinpoint::BaiduChannel"] = NewResourceEstimate("AWS::Pinpoint::BaiduChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::Campaign"] = NewResourceEstimate("AWS::Pinpoint::Campaign", 6, 1, 1)
	Estimates["AWS::Pinpoint::EmailChannel"] = NewResourceEstimate("AWS::Pinpoint::EmailChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::EmailTemplate"] = NewResourceEstimate("AWS::Pinpoint::EmailTemplate", 2, 1, 1)
	Estimates["AWS::Pinpoint::EventStream"] = NewResourceEstimate("AWS::Pinpoint::EventStream", 2, 1, 1)
	Estimates["AWS::Pinpoint::GCMChannel"] = NewResourceEstimate("AWS::Pinpoint::GCMChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::InAppTemplate"] = NewResourceEstimate("AWS::Pinpoint::InAppTemplate", 1, 1, 1)
	Estimates["AWS::Pinpoint::PushTemplate"] = NewResourceEstimate("AWS::Pinpoint::PushTemplate", 1, 2, 1)
	Estimates["AWS::Pinpoint::SMSChannel"] = NewResourceEstimate("AWS::Pinpoint::SMSChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::Segment"] = NewResourceEstimate("AWS::Pinpoint::Segment", 2, 1, 1)
	Estimates["AWS::Pinpoint::SmsTemplate"] = NewResourceEstimate("AWS::Pinpoint::SmsTemplate", 2, 1, 1)
	Estimates["AWS::Pinpoint::VoiceChannel"] = NewResourceEstimate("AWS::Pinpoint::VoiceChannel", 2, 1, 1)
	Estimates["AWS::Pinpoint::VoiceTemplate"] = NewResourceEstimate("AWS::Pinpoint::VoiceTemplate", 2, 1, 1)
	Estimates["AWS::PinpointEmail::ConfigurationSet"] = NewResourceEstimate("AWS::PinpointEmail::ConfigurationSet", 1, 1, 1)
	Estimates["AWS::PinpointEmail::ConfigurationSetEventDestination"] = NewResourceEstimate("AWS::PinpointEmail::ConfigurationSetEventDestination", 1, 1, 1)
	Estimates["AWS::PinpointEmail::DedicatedIpPool"] = NewResourceEstimate("AWS::PinpointEmail::DedicatedIpPool", 1, 1, 1)
	Estimates["AWS::PinpointSMSVoiceV2::ConfigurationSet"] = NewResourceEstimate("AWS::PinpointSMSVoiceV2::ConfigurationSet", 2, 2, 1)
	Estimates["AWS::PinpointSMSVoiceV2::EventDestination"] = NewResourceEstimate("AWS::PinpointSMSVoiceV2::EventDestination", 1, 1, 1)
	Estimates["AWS::PinpointSMSVoiceV2::OptOutList"] = NewResourceEstimate("AWS::PinpointSMSVoiceV2::OptOutList", 2, 2, 1)
	Estimates["AWS::Pipes::Pipe"] = NewResourceEstimate("AWS::Pipes::Pipe", 14, 12, 1)
	Estimates["AWS::Polaroid::Allowlist"] = NewResourceEstimate("AWS::Polaroid::Allowlist", 3, 1, 1)
	Estimates["AWS::Proton::Environment"] = NewResourceEstimate("AWS::Proton::Environment", 32, 12, 1)
	Estimates["AWS::Proton::EnvironmentAccountConnection"] = NewResourceEstimate("AWS::Proton::EnvironmentAccountConnection", 1, 1, 1)
	Estimates["AWS::Proton::EnvironmentTemplate"] = NewResourceEstimate("AWS::Proton::EnvironmentTemplate", 1, 1, 1)
	Estimates["AWS::Proton::EnvironmentTemplateVersion"] = NewResourceEstimate("AWS::Proton::EnvironmentTemplateVersion", 27, 2, 1)
	Estimates["AWS::Proton::ServiceTemplate"] = NewResourceEstimate("AWS::Proton::ServiceTemplate", 1, 1, 1)
	Estimates["AWS::QLDB::Ledger"] = NewResourceEstimate("AWS::QLDB::Ledger", 81, 1, 1)
	Estimates["AWS::QLDB::Stream"] = NewResourceEstimate("AWS::QLDB::Stream", 4, 6, 1)
	Estimates["AWS::QuickSight::Analysis"] = NewResourceEstimate("AWS::QuickSight::Analysis", 113, 129, 1)
	Estimates["AWS::QuickSight::Dashboard"] = NewResourceEstimate("AWS::QuickSight::Dashboard", 102, 139, 1)
	Estimates["AWS::QuickSight::DataSet"] = NewResourceEstimate("AWS::QuickSight::DataSet", 24, 32, 1)
	Estimates["AWS::QuickSight::DataSource"] = NewResourceEstimate("AWS::QuickSight::DataSource", 22, 25, 1)
	Estimates["AWS::QuickSight::RefreshSchedule"] = NewResourceEstimate("AWS::QuickSight::RefreshSchedule", 62, 1, 1)
	Estimates["AWS::QuickSight::Template"] = NewResourceEstimate("AWS::QuickSight::Template", 113, 114, 1)
	Estimates["AWS::QuickSight::Theme"] = NewResourceEstimate("AWS::QuickSight::Theme", 47, 47, 1)
	Estimates["AWS::QuickSight::Topic"] = NewResourceEstimate("AWS::QuickSight::Topic", 67, 1, 1)
	Estimates["AWS::QuickSight::VPCConnection"] = NewResourceEstimate("AWS::QuickSight::VPCConnection", 107, 1, 1)
	Estimates["AWS::RAM::Permission"] = NewResourceEstimate("AWS::RAM::Permission", 2, 1, 1)
	Estimates["AWS::RAM::ResourceShare"] = NewResourceEstimate("AWS::RAM::ResourceShare", 16, 9, 1)
	Estimates["AWS::RDS::CustomDBEngineVersion"] = NewResourceEstimate("AWS::RDS::CustomDBEngineVersion", 3, 2, 1)
	Estimates["AWS::RDS::DBCluster"] = NewResourceEstimate("AWS::RDS::DBCluster", 222, 62, 1)
	Estimates["AWS::RDS::DBClusterParameterGroup"] = NewResourceEstimate("AWS::RDS::DBClusterParameterGroup", 2, 2, 1)
	Estimates["AWS::RDS::DBInstance"] = NewResourceEstimate("AWS::RDS::DBInstance", 595, 171, 1)
	Estimates["AWS::RDS::DBParameterGroup"] = NewResourceEstimate("AWS::RDS::DBParameterGroup", 2, 2, 1)
	Estimates["AWS::RDS::DBProxy"] = NewResourceEstimate("AWS::RDS::DBProxy", 225, 63, 1)
	Estimates["AWS::RDS::DBProxyEndpoint"] = NewResourceEstimate("AWS::RDS::DBProxyEndpoint", 163, 106, 1)
	Estimates["AWS::RDS::DBProxyTargetGroup"] = NewResourceEstimate("AWS::RDS::DBProxyTargetGroup", 85, 4, 1)
	Estimates["AWS::RDS::DBSecurityGroup"] = NewResourceEstimate("AWS::RDS::DBSecurityGroup", 2, 0, 1)
	Estimates["AWS::RDS::DBSubnetGroup"] = NewResourceEstimate("AWS::RDS::DBSubnetGroup", 2, 2, 1)
	Estimates["AWS::RDS::EventSubscription"] = NewResourceEstimate("AWS::RDS::EventSubscription", 2, 1, 1)
	Estimates["AWS::RDS::GlobalCluster"] = NewResourceEstimate("AWS::RDS::GlobalCluster", 2, 2, 1)
	Estimates["AWS::RDS::OptionGroup"] = NewResourceEstimate("AWS::RDS::OptionGroup", 1, 1, 1)
	Estimates["AWS::RUM::AppMonitor"] = NewResourceEstimate("AWS::RUM::AppMonitor", 5, 3, 1)
	Estimates["AWS::Rbin::Rule"] = NewResourceEstimate("AWS::Rbin::Rule", 6, 1, 1)
	Estimates["AWS::Redshift::Cluster"] = NewResourceEstimate("AWS::Redshift::Cluster", 239, 90, 1)
	Estimates["AWS::Redshift::ClusterParameterGroup"] = NewResourceEstimate("AWS::Redshift::ClusterParameterGroup", 5, 2, 1)
	Estimates["AWS::Redshift::ClusterSubnetGroup"] = NewResourceEstimate("AWS::Redshift::ClusterSubnetGroup", 3, 3, 1)
	Estimates["AWS::Redshift::EndpointAccess"] = NewResourceEstimate("AWS::Redshift::EndpointAccess", 180, 1, 1)
	Estimates["AWS::Redshift::EndpointAuthorization"] = NewResourceEstimate("AWS::Redshift::EndpointAuthorization", 6, 1, 1)
	Estimates["AWS::Redshift::EventSubscription"] = NewResourceEstimate("AWS::Redshift::EventSubscription", 6, 1, 1)
	Estimates["AWS::Redshift::ScheduledAction"] = NewResourceEstimate("AWS::Redshift::ScheduledAction", 6, 1, 1)
	Estimates["AWS::RedshiftServerless::Namespace"] = NewResourceEstimate("AWS::RedshiftServerless::Namespace", 3, 0, 1)
	Estimates["AWS::RedshiftServerless::Workgroup"] = NewResourceEstimate("AWS::RedshiftServerless::Workgroup", 123, 1, 1)
	Estimates["AWS::RefactorSpaces::Application"] = NewResourceEstimate("AWS::RefactorSpaces::Application", 3, 1, 1)
	Estimates["AWS::RefactorSpaces::Environment"] = NewResourceEstimate("AWS::RefactorSpaces::Environment", 2, 1, 1)
	Estimates["AWS::RefactorSpaces::Route"] = NewResourceEstimate("AWS::RefactorSpaces::Route", 2, 1, 1)
	Estimates["AWS::RefactorSpaces::Service"] = NewResourceEstimate("AWS::RefactorSpaces::Service", 2, 1, 1)
	Estimates["AWS::Rekognition::Collection"] = NewResourceEstimate("AWS::Rekognition::Collection", 67, 1, 1)
	Estimates["AWS::Rekognition::Project"] = NewResourceEstimate("AWS::Rekognition::Project", 1, 1, 1)
	Estimates["AWS::Rekognition::StreamProcessor"] = NewResourceEstimate("AWS::Rekognition::StreamProcessor", 1, 3, 1)
	Estimates["AWS::ResilienceHub::App"] = NewResourceEstimate("AWS::ResilienceHub::App", 3, 2, 1)
	Estimates["AWS::ResilienceHub::ResiliencyPolicy"] = NewResourceEstimate("AWS::ResilienceHub::ResiliencyPolicy", 3, 2, 1)
	Estimates["AWS::ResourceExplorer2::DefaultViewAssociation"] = NewResourceEstimate("AWS::ResourceExplorer2::DefaultViewAssociation", 1, 0, 1)
	Estimates["AWS::ResourceExplorer2::Index"] = NewResourceEstimate("AWS::ResourceExplorer2::Index", 32, 2, 1)
	Estimates["AWS::ResourceExplorer2::View"] = NewResourceEstimate("AWS::ResourceExplorer2::View", 1, 2, 1)
	Estimates["AWS::ResourceGroups::Group"] = NewResourceEstimate("AWS::ResourceGroups::Group", 2, 2, 1)
	Estimates["AWS::RoboMaker::RobotApplication"] = NewResourceEstimate("AWS::RoboMaker::RobotApplication", 1, 1, 1)
	Estimates["AWS::RoboMaker::RobotApplicationVersion"] = NewResourceEstimate("AWS::RoboMaker::RobotApplicationVersion", 2, 1, 1)
	Estimates["AWS::RoboMaker::SimulationApplication"] = NewResourceEstimate("AWS::RoboMaker::SimulationApplication", 1, 1, 1)
	Estimates["AWS::RoboMaker::SimulationApplicationVersion"] = NewResourceEstimate("AWS::RoboMaker::SimulationApplicationVersion", 2, 1, 1)
	Estimates["AWS::RolesAnywhere::CRL"] = NewResourceEstimate("AWS::RolesAnywhere::CRL", 1, 2, 1)
	Estimates["AWS::RolesAnywhere::Profile"] = NewResourceEstimate("AWS::RolesAnywhere::Profile", 1, 2, 1)
	Estimates["AWS::RolesAnywhere::TrustAnchor"] = NewResourceEstimate("AWS::RolesAnywhere::TrustAnchor", 1, 2, 1)
	Estimates["AWS::Route53::CidrCollection"] = NewResourceEstimate("AWS::Route53::CidrCollection", 1, 2, 1)
	Estimates["AWS::Route53::DNSSEC"] = NewResourceEstimate("AWS::Route53::DNSSEC", 32, 1, 1)
	Estimates["AWS::Route53::HealthCheck"] = NewResourceEstimate("AWS::Route53::HealthCheck", 2, 2, 1)
	Estimates["AWS::Route53::HostedZone"] = NewResourceEstimate("AWS::Route53::HostedZone", 71, 16, 1)
	Estimates["AWS::Route53::KeySigningKey"] = NewResourceEstimate("AWS::Route53::KeySigningKey", 32, 33, 1)
	Estimates["AWS::Route53::RecordSet"] = NewResourceEstimate("AWS::Route53::RecordSet", 20, 2, 1)
	Estimates["AWS::Route53::RecordSetGroup"] = NewResourceEstimate("AWS::Route53::RecordSetGroup", 33, 1, 1)
	Estimates["AWS::Route53RecoveryControl::Cluster"] = NewResourceEstimate("AWS::Route53RecoveryControl::Cluster", 7, 1, 1)
	Estimates["AWS::Route53RecoveryControl::ControlPanel"] = NewResourceEstimate("AWS::Route53RecoveryControl::ControlPanel", 12, 1, 1)
	Estimates["AWS::Route53RecoveryControl::RoutingControl"] = NewResourceEstimate("AWS::Route53RecoveryControl::RoutingControl", 24, 1, 1)
	Estimates["AWS::Route53RecoveryControl::SafetyRule"] = NewResourceEstimate("AWS::Route53RecoveryControl::SafetyRule", 14, 1, 1)
	Estimates["AWS::Route53RecoveryReadiness::Cell"] = NewResourceEstimate("AWS::Route53RecoveryReadiness::Cell", 7, 1, 1)
	Estimates["AWS::Route53RecoveryReadiness::ReadinessCheck"] = NewResourceEstimate("AWS::Route53RecoveryReadiness::ReadinessCheck", 7, 0, 1)
	Estimates["AWS::Route53RecoveryReadiness::RecoveryGroup"] = NewResourceEstimate("AWS::Route53RecoveryReadiness::RecoveryGroup", 7, 1, 1)
	Estimates["AWS::Route53RecoveryReadiness::ResourceSet"] = NewResourceEstimate("AWS::Route53RecoveryReadiness::ResourceSet", 7, 7, 1)
	Estimates["AWS::Route53Resolver::FirewallDomainList"] = NewResourceEstimate("AWS::Route53Resolver::FirewallDomainList", 6, 1, 1)
	Estimates["AWS::Route53Resolver::FirewallRuleGroup"] = NewResourceEstimate("AWS::Route53Resolver::FirewallRuleGroup", 43, 1, 1)
	Estimates["AWS::Route53Resolver::FirewallRuleGroupAssociation"] = NewResourceEstimate("AWS::Route53Resolver::FirewallRuleGroupAssociation", 63, 1, 1)
	Estimates["AWS::Route53Resolver::OutpostResolver"] = NewResourceEstimate("AWS::Route53Resolver::OutpostResolver", 4, 4, 1)
	Estimates["AWS::Route53Resolver::Profile"] = NewResourceEstimate("AWS::Route53Resolver::Profile", 17, 1, 1)
	Estimates["AWS::Route53Resolver::ProfileAssociation"] = NewResourceEstimate("AWS::Route53Resolver::ProfileAssociation", 187, 1, 1)
	Estimates["AWS::Route53Resolver::ProfileResourceAssociation"] = NewResourceEstimate("AWS::Route53Resolver::ProfileResourceAssociation", 82, 1, 1)
	Estimates["AWS::Route53Resolver::ResolverConfig"] = NewResourceEstimate("AWS::Route53Resolver::ResolverConfig", 185, 1, 1)
	Estimates["AWS::Route53Resolver::ResolverDNSSECConfig"] = NewResourceEstimate("AWS::Route53Resolver::ResolverDNSSECConfig", 185, 1, 1)
	Estimates["AWS::Route53Resolver::ResolverEndpoint"] = NewResourceEstimate("AWS::Route53Resolver::ResolverEndpoint", 40, 1, 1)
	Estimates["AWS::Route53Resolver::ResolverQueryLoggingConfig"] = NewResourceEstimate("AWS::Route53Resolver::ResolverQueryLoggingConfig", 6, 0, 1)
	Estimates["AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation"] = NewResourceEstimate("AWS::Route53Resolver::ResolverQueryLoggingConfigAssociation", 10, 0, 1)
	Estimates["AWS::Route53Resolver::ResolverRule"] = NewResourceEstimate("AWS::Route53Resolver::ResolverRule", 17, 16, 1)
	Estimates["AWS::Route53Resolver::ResolverRuleAssociation"] = NewResourceEstimate("AWS::Route53Resolver::ResolverRuleAssociation", 97, 0, 1)
	Estimates["AWS::S3::AccessPoint"] = NewResourceEstimate("AWS::S3::AccessPoint", 32, 2, 1)
	Estimates["AWS::S3::Bucket"] = NewResourceEstimate("AWS::S3::Bucket", 30, 31, 1)
	Estimates["AWS::S3::BucketPolicy"] = NewResourceEstimate("AWS::S3::BucketPolicy", 12, 12, 1)
	Estimates["AWS::S3::MultiRegionAccessPoint"] = NewResourceEstimate("AWS::S3::MultiRegionAccessPoint", 220, 1, 1)
	Estimates["AWS::S3::MultiRegionAccessPointPolicy"] = NewResourceEstimate("AWS::S3::MultiRegionAccessPointPolicy", 12, 15, 1)
	Estimates["AWS::S3::StorageLens"] = NewResourceEstimate("AWS::S3::StorageLens", 2, 2, 1)
	Estimates["AWS::S3ObjectLambda::AccessPoint"] = NewResourceEstimate("AWS::S3ObjectLambda::AccessPoint", 2, 2, 1)
	Estimates["AWS::S3ObjectLambda::AccessPointPolicy"] = NewResourceEstimate("AWS::S3ObjectLambda::AccessPointPolicy", 1, 1, 1)
	Estimates["AWS::S3Outposts::AccessPoint"] = NewResourceEstimate("AWS::S3Outposts::AccessPoint", 82, 2, 1)
	Estimates["AWS::S3Outposts::Bucket"] = NewResourceEstimate("AWS::S3Outposts::Bucket", 42, 2, 1)
	Estimates["AWS::S3Outposts::BucketPolicy"] = NewResourceEstimate("AWS::S3Outposts::BucketPolicy", 2, 2, 1)
	Estimates["AWS::S3Outposts::Endpoint"] = NewResourceEstimate("AWS::S3Outposts::Endpoint", 253, 1, 1)
	Estimates["AWS::SES::ConfigurationSet"] = NewResourceEstimate("AWS::SES::ConfigurationSet", 1, 0, 1)
	Estimates["AWS::SES::ConfigurationSetEventDestination"] = NewResourceEstimate("AWS::SES::ConfigurationSetEventDestination", 11, 0, 1)
	Estimates["AWS::SES::ContactList"] = NewResourceEstimate("AWS::SES::ContactList", 1, 1, 1)
	Estimates["AWS::SES::DedicatedIpPool"] = NewResourceEstimate("AWS::SES::DedicatedIpPool", 11, 1, 1)
	Estimates["AWS::SES::EmailIdentity"] = NewResourceEstimate("AWS::SES::EmailIdentity", 127, 2, 1)
	Estimates["AWS::SES::ReceiptFilter"] = NewResourceEstimate("AWS::SES::ReceiptFilter", 1, 1, 1)
	Estimates["AWS::SES::ReceiptRule"] = NewResourceEstimate("AWS::SES::ReceiptRule", 1, 0, 1)
	Estimates["AWS::SES::ReceiptRuleSet"] = NewResourceEstimate("AWS::SES::ReceiptRuleSet", 1, 1, 1)
	Estimates["AWS::SES::Template"] = NewResourceEstimate("AWS::SES::Template", 12, 1, 1)
	Estimates["AWS::SES::VdmAttributes"] = NewResourceEstimate("AWS::SES::VdmAttributes", 11, 1, 1)
	Estimates["AWS::SNS::Subscription"] = NewResourceEstimate("AWS::SNS::Subscription", 2, 2, 1)
	Estimates["AWS::SNS::Topic"] = NewResourceEstimate("AWS::SNS::Topic", 4, 7, 1)
	Estimates["AWS::SNS::TopicInlinePolicy"] = NewResourceEstimate("AWS::SNS::TopicInlinePolicy", 32, 32, 1)
	Estimates["AWS::SNS::TopicPolicy"] = NewResourceEstimate("AWS::SNS::TopicPolicy", 1, 1, 1)
	Estimates["AWS::SQS::Queue"] = NewResourceEstimate("AWS::SQS::Queue", 72, 2, 60)
	Estimates["AWS::SQS::QueueInlinePolicy"] = NewResourceEstimate("AWS::SQS::QueueInlinePolicy", 32, 1, 1)
	Estimates["AWS::SQS::QueuePolicy"] = NewResourceEstimate("AWS::SQS::QueuePolicy", 1, 0, 1)
	Estimates["AWS::SSM::Association"] = NewResourceEstimate("AWS::SSM::Association", 2, 0, 1)
	Estimates["AWS::SSM::Document"] = NewResourceEstimate("AWS::SSM::Document", 32, 2, 1)
	Estimates["AWS::SSM::MaintenanceWindow"] = NewResourceEstimate("AWS::SSM::MaintenanceWindow", 1, 2, 1)
	Estimates["AWS::SSM::MaintenanceWindowTarget"] = NewResourceEstimate("AWS::SSM::MaintenanceWindowTarget", 1, 0, 1)
	Estimates["AWS::SSM::MaintenanceWindowTask"] = NewResourceEstimate("AWS::SSM::MaintenanceWindowTask", 1, 0, 1)
	Estimates["AWS::SSM::OpsMetadata"] = NewResourceEstimate("AWS::SSM::OpsMetadata", 1, 1, 1)
	Estimates["AWS::SSM::Parameter"] = NewResourceEstimate("AWS::SSM::Parameter", 1, 1, 1)
	Estimates["AWS::SSM::PatchBaseline"] = NewResourceEstimate("AWS::SSM::PatchBaseline", 2, 2, 1)
	Estimates["AWS::SSM::ResourceDataSync"] = NewResourceEstimate("AWS::SSM::ResourceDataSync", 4, 1, 1)
	Estimates["AWS::SSM::ResourcePolicy"] = NewResourceEstimate("AWS::SSM::ResourcePolicy", 1, 2, 1)
	Estimates["AWS::SSMContacts::Contact"] = NewResourceEstimate("AWS::SSMContacts::Contact", 2, 2, 1)
	Estimates["AWS::SSMContacts::ContactChannel"] = NewResourceEstimate("AWS::SSMContacts::ContactChannel", 2, 2, 1)
	Estimates["AWS::SSMContacts::Plan"] = NewResourceEstimate("AWS::SSMContacts::Plan", 6, 2, 1)
	Estimates["AWS::SSMContacts::Rotation"] = NewResourceEstimate("AWS::SSMContacts::Rotation", 4, 2, 1)
	Estimates["AWS::SSMIncidents::ReplicationSet"] = NewResourceEstimate("AWS::SSMIncidents::ReplicationSet", 101, 969, 1)
	Estimates["AWS::SSMIncidents::ResponsePlan"] = NewResourceEstimate("AWS::SSMIncidents::ResponsePlan", 2, 3, 1)
	Estimates["AWS::SSO::Assignment"] = NewResourceEstimate("AWS::SSO::Assignment", 15, 1, 1)
	Estimates["AWS::SSO::InstanceAccessControlAttributeConfiguration"] = NewResourceEstimate("AWS::SSO::InstanceAccessControlAttributeConfiguration", 1, 1, 1)
	Estimates["AWS::SSO::PermissionSet"] = NewResourceEstimate("AWS::SSO::PermissionSet", 2, 8, 1)
	Estimates["AWS::SageMaker::App"] = NewResourceEstimate("AWS::SageMaker::App", 187, 1, 78)
	Estimates["AWS::SageMaker::AppImageConfig"] = NewResourceEstimate("AWS::SageMaker::AppImageConfig", 1, 1, 1)
	Estimates["AWS::SageMaker::CodeRepository"] = NewResourceEstimate("AWS::SageMaker::CodeRepository", 1, 1, 1)
	Estimates["AWS::SageMaker::DataQualityJobDefinition"] = NewResourceEstimate("AWS::SageMaker::DataQualityJobDefinition", 2, 1, 1)
	Estimates["AWS::SageMaker::Device"] = NewResourceEstimate("AWS::SageMaker::Device", 8, 8, 1)
	Estimates["AWS::SageMaker::DeviceFleet"] = NewResourceEstimate("AWS::SageMaker::DeviceFleet", 8, 8, 1)
	Estimates["AWS::SageMaker::Domain"] = NewResourceEstimate("AWS::SageMaker::Domain", 279, 1, 1)
	Estimates["AWS::SageMaker::Endpoint"] = NewResourceEstimate("AWS::SageMaker::Endpoint", 242, 272, 1)
	Estimates["AWS::SageMaker::EndpointConfig"] = NewResourceEstimate("AWS::SageMaker::EndpointConfig", 2, 0, 1)
	Estimates["AWS::SageMaker::FeatureGroup"] = NewResourceEstimate("AWS::SageMaker::FeatureGroup", 27, 6, 1)
	Estimates["AWS::SageMaker::Image"] = NewResourceEstimate("AWS::SageMaker::Image", 8, 8, 1)
	Estimates["AWS::SageMaker::ImageVersion"] = NewResourceEstimate("AWS::SageMaker::ImageVersion", 7, 1, 1)
	Estimates["AWS::SageMaker::InferenceExperiment"] = NewResourceEstimate("AWS::SageMaker::InferenceExperiment", 171, 184, 1)
	Estimates["AWS::SageMaker::Model"] = NewResourceEstimate("AWS::SageMaker::Model", 2, 1, 1)
	Estimates["AWS::SageMaker::ModelBiasJobDefinition"] = NewResourceEstimate("AWS::SageMaker::ModelBiasJobDefinition", 2, 1, 1)
	Estimates["AWS::SageMaker::ModelCard"] = NewResourceEstimate("AWS::SageMaker::ModelCard", 6, 11, 1)
	Estimates["AWS::SageMaker::ModelExplainabilityJobDefinition"] = NewResourceEstimate("AWS::SageMaker::ModelExplainabilityJobDefinition", 2, 1, 1)
	Estimates["AWS::SageMaker::ModelPackage"] = NewResourceEstimate("AWS::SageMaker::ModelPackage", 258, 8, 1)
	Estimates["AWS::SageMaker::ModelPackageGroup"] = NewResourceEstimate("AWS::SageMaker::ModelPackageGroup", 2, 2, 1)
	Estimates["AWS::SageMaker::ModelQualityJobDefinition"] = NewResourceEstimate("AWS::SageMaker::ModelQualityJobDefinition", 2, 1, 1)
	Estimates["AWS::SageMaker::MonitoringSchedule"] = NewResourceEstimate("AWS::SageMaker::MonitoringSchedule", 12, 12, 1)
	Estimates["AWS::SageMaker::NotebookInstance"] = NewResourceEstimate("AWS::SageMaker::NotebookInstance", 234, 155, 1)
	Estimates["AWS::SageMaker::NotebookInstanceLifecycleConfig"] = NewResourceEstimate("AWS::SageMaker::NotebookInstanceLifecycleConfig", 1, 1, 1)
	Estimates["AWS::SageMaker::Pipeline"] = NewResourceEstimate("AWS::SageMaker::Pipeline", 2, 2, 1)
	Estimates["AWS::SageMaker::Project"] = NewResourceEstimate("AWS::SageMaker::Project", 29, 1, 1)
	Estimates["AWS::SageMaker::Space"] = NewResourceEstimate("AWS::SageMaker::Space", 7, 1, 1)
	Estimates["AWS::SageMaker::UserProfile"] = NewResourceEstimate("AWS::SageMaker::UserProfile", 7, 1, 1)
	Estimates["AWS::SageMaker::Workteam"] = NewResourceEstimate("AWS::SageMaker::Workteam", 2, 1, 1)
	Estimates["AWS::Scheduler::Schedule"] = NewResourceEstimate("AWS::Scheduler::Schedule", 5, 5, 1)
	Estimates["AWS::Scheduler::ScheduleGroup"] = NewResourceEstimate("AWS::Scheduler::ScheduleGroup", 1, 1, 1)
	Estimates["AWS::SecretsManager::ResourcePolicy"] = NewResourceEstimate("AWS::SecretsManager::ResourcePolicy", 1, 1, 1)
	Estimates["AWS::SecretsManager::RotationSchedule"] = NewResourceEstimate("AWS::SecretsManager::RotationSchedule", 17, 1, 1)
	Estimates["AWS::SecretsManager::Secret"] = NewResourceEstimate("AWS::SecretsManager::Secret", 1, 2, 1)
	Estimates["AWS::SecretsManager::SecretTargetAttachment"] = NewResourceEstimate("AWS::SecretsManager::SecretTargetAttachment", 1, 0, 1)
	Estimates["AWS::SecurityHub::AutomationRule"] = NewResourceEstimate("AWS::SecurityHub::AutomationRule", 3, 1, 1)
	Estimates["AWS::SecurityHub::Hub"] = NewResourceEstimate("AWS::SecurityHub::Hub", 13, 1, 1)
	Estimates["AWS::SecurityHub::Standard"] = NewResourceEstimate("AWS::SecurityHub::Standard", 57, 8, 1)
	Estimates["AWS::SelfServiceTest::LambdaBasedResource"] = NewResourceEstimate("AWS::SelfServiceTest::LambdaBasedResource", 1, 1, 1)
	Estimates["AWS::ServiceCatalog::AcceptedPortfolioShare"] = NewResourceEstimate("AWS::ServiceCatalog::AcceptedPortfolioShare", 4, 1, 1)
	Estimates["AWS::ServiceCatalog::CloudFormationProduct"] = NewResourceEstimate("AWS::ServiceCatalog::CloudFormationProduct", 11, 10, 1)
	Estimates["AWS::ServiceCatalog::CloudFormationProvisionedProduct"] = NewResourceEstimate("AWS::ServiceCatalog::CloudFormationProvisionedProduct", 133, 73, 1)
	Estimates["AWS::ServiceCatalog::LaunchNotificationConstraint"] = NewResourceEstimate("AWS::ServiceCatalog::LaunchNotificationConstraint", 3, 0, 1)
	Estimates["AWS::ServiceCatalog::LaunchRoleConstraint"] = NewResourceEstimate("AWS::ServiceCatalog::LaunchRoleConstraint", 3, 0, 1)
	Estimates["AWS::ServiceCatalog::LaunchTemplateConstraint"] = NewResourceEstimate("AWS::ServiceCatalog::LaunchTemplateConstraint", 2, 2, 1)
	Estimates["AWS::ServiceCatalog::Portfolio"] = NewResourceEstimate("AWS::ServiceCatalog::Portfolio", 2, 2, 1)
	Estimates["AWS::ServiceCatalog::PortfolioPrincipalAssociation"] = NewResourceEstimate("AWS::ServiceCatalog::PortfolioPrincipalAssociation", 3, 0, 1)
	Estimates["AWS::ServiceCatalog::PortfolioProductAssociation"] = NewResourceEstimate("AWS::ServiceCatalog::PortfolioProductAssociation", 2, 0, 1)
	Estimates["AWS::ServiceCatalog::PortfolioShare"] = NewResourceEstimate("AWS::ServiceCatalog::PortfolioShare", 2, 1, 1)
	Estimates["AWS::ServiceCatalog::ResourceUpdateConstraint"] = NewResourceEstimate("AWS::ServiceCatalog::ResourceUpdateConstraint", 3, 0, 1)
	Estimates["AWS::ServiceCatalog::ServiceAction"] = NewResourceEstimate("AWS::ServiceCatalog::ServiceAction", 1, 1, 1)
	Estimates["AWS::ServiceCatalog::ServiceActionAssociation"] = NewResourceEstimate("AWS::ServiceCatalog::ServiceActionAssociation", 7, 1, 1)
	Estimates["AWS::ServiceCatalog::StackSetConstraint"] = NewResourceEstimate("AWS::ServiceCatalog::StackSetConstraint", 1, 0, 1)
	Estimates["AWS::ServiceCatalog::TagOption"] = NewResourceEstimate("AWS::ServiceCatalog::TagOption", 2, 0, 1)
	Estimates["AWS::ServiceCatalog::TagOptionAssociation"] = NewResourceEstimate("AWS::ServiceCatalog::TagOptionAssociation", 3, 1, 1)
	Estimates["AWS::ServiceCatalogAppRegistry::Application"] = NewResourceEstimate("AWS::ServiceCatalogAppRegistry::Application", 1, 2, 1)
	Estimates["AWS::ServiceCatalogAppRegistry::AttributeGroup"] = NewResourceEstimate("AWS::ServiceCatalogAppRegistry::AttributeGroup", 2, 2, 1)
	Estimates["AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation"] = NewResourceEstimate("AWS::ServiceCatalogAppRegistry::AttributeGroupAssociation", 1, 1, 1)
	Estimates["AWS::ServiceCatalogAppRegistry::ResourceAssociation"] = NewResourceEstimate("AWS::ServiceCatalogAppRegistry::ResourceAssociation", 2, 0, 1)
	Estimates["AWS::ServiceDiscovery::HttpNamespace"] = NewResourceEstimate("AWS::ServiceDiscovery::HttpNamespace", 46, 1, 1)
	Estimates["AWS::ServiceDiscovery::Instance"] = NewResourceEstimate("AWS::ServiceDiscovery::Instance", 10, 1, 1)
	Estimates["AWS::ServiceDiscovery::PrivateDnsNamespace"] = NewResourceEstimate("AWS::ServiceDiscovery::PrivateDnsNamespace", 46, 12, 1)
	Estimates["AWS::ServiceDiscovery::PublicDnsNamespace"] = NewResourceEstimate("AWS::ServiceDiscovery::PublicDnsNamespace", 46, 1, 1)
	Estimates["AWS::ServiceDiscovery::Service"] = NewResourceEstimate("AWS::ServiceDiscovery::Service", 1, 22, 1)
	Estimates["AWS::Shield::DRTAccess"] = NewResourceEstimate("AWS::Shield::DRTAccess", 10, 1, 1)
	Estimates["AWS::Shield::ProactiveEngagement"] = NewResourceEstimate("AWS::Shield::ProactiveEngagement", 10, 1, 1)
	Estimates["AWS::Shield::Protection"] = NewResourceEstimate("AWS::Shield::Protection", 7, 19, 1)
	Estimates["AWS::Shield::ProtectionGroup"] = NewResourceEstimate("AWS::Shield::ProtectionGroup", 7, 1, 1)
	Estimates["AWS::Signer::ProfilePermission"] = NewResourceEstimate("AWS::Signer::ProfilePermission", 1, 1, 1)
	Estimates["AWS::Signer::SigningProfile"] = NewResourceEstimate("AWS::Signer::SigningProfile", 1, 2, 1)
	Estimates["AWS::SimSpaceWeaver::Simulation"] = NewResourceEstimate("AWS::SimSpaceWeaver::Simulation", 221, 1, 1)
	Estimates["AWS::StepFunctions::Activity"] = NewResourceEstimate("AWS::StepFunctions::Activity", 1, 2, 1)
	Estimates["AWS::StepFunctions::StateMachine"] = NewResourceEstimate("AWS::StepFunctions::StateMachine", 1, 1, 1)
	Estimates["AWS::StepFunctions::StateMachineAlias"] = NewResourceEstimate("AWS::StepFunctions::StateMachineAlias", 1, 1, 1)
	Estimates["AWS::StepFunctions::StateMachineVersion"] = NewResourceEstimate("AWS::StepFunctions::StateMachineVersion", 1, 0, 1)
	Estimates["AWS::Sungkkim::Test"] = NewResourceEstimate("AWS::Sungkkim::Test", 2, 1, 1)
	Estimates["AWS::SupportApp::AccountAlias"] = NewResourceEstimate("AWS::SupportApp::AccountAlias", 7, 7, 1)
	Estimates["AWS::SupportApp::SlackChannelConfiguration"] = NewResourceEstimate("AWS::SupportApp::SlackChannelConfiguration", 7, 7, 1)
	Estimates["AWS::SupportApp::SlackWorkspaceConfiguration"] = NewResourceEstimate("AWS::SupportApp::SlackWorkspaceConfiguration", 7, 7, 1)
	Estimates["AWS::Synthetics::Canary"] = NewResourceEstimate("AWS::Synthetics::Canary", 25, 28, 1)
	Estimates["AWS::Synthetics::Group"] = NewResourceEstimate("AWS::Synthetics::Group", 1, 1, 1)
	Estimates["AWS::SystemsManagerSAP::Application"] = NewResourceEstimate("AWS::SystemsManagerSAP::Application", 12, 1, 1)
	Estimates["AWS::TangerineBox::Asset"] = NewResourceEstimate("AWS::TangerineBox::Asset", 3, 1, 1)
	Estimates["AWS::TangerineBox::Console"] = NewResourceEstimate("AWS::TangerineBox::Console", 62, 113, 1)
	Estimates["AWS::Timestream::Database"] = NewResourceEstimate("AWS::Timestream::Database", 2, 2, 1)
	Estimates["AWS::Timestream::ScheduledQuery"] = NewResourceEstimate("AWS::Timestream::ScheduledQuery", 3, 2, 1)
	Estimates["AWS::Timestream::Table"] = NewResourceEstimate("AWS::Timestream::Table", 2, 1, 1)
	Estimates["AWS::Transfer::Agreement"] = NewResourceEstimate("AWS::Transfer::Agreement", 1, 1, 1)
	Estimates["AWS::Transfer::Certificate"] = NewResourceEstimate("AWS::Transfer::Certificate", 1, 1, 1)
	Estimates["AWS::Transfer::Connector"] = NewResourceEstimate("AWS::Transfer::Connector", 1, 1, 1)
	Estimates["AWS::Transfer::Profile"] = NewResourceEstimate("AWS::Transfer::Profile", 1, 1, 1)
	Estimates["AWS::Transfer::Server"] = NewResourceEstimate("AWS::Transfer::Server", 204, 5, 1)
	Estimates["AWS::Transfer::User"] = NewResourceEstimate("AWS::Transfer::User", 10, 7, 1)
	Estimates["AWS::Transfer::Workflow"] = NewResourceEstimate("AWS::Transfer::Workflow", 1, 1, 1)
	Estimates["AWS::VerifiedPermissions::IdentitySource"] = NewResourceEstimate("AWS::VerifiedPermissions::IdentitySource", 1, 2, 1)
	Estimates["AWS::VerifiedPermissions::Policy"] = NewResourceEstimate("AWS::VerifiedPermissions::Policy", 1, 1, 1)
	Estimates["AWS::VerifiedPermissions::PolicyStore"] = NewResourceEstimate("AWS::VerifiedPermissions::PolicyStore", 1, 1, 1)
	Estimates["AWS::VerifiedPermissions::PolicyTemplate"] = NewResourceEstimate("AWS::VerifiedPermissions::PolicyTemplate", 1, 1, 1)
	Estimates["AWS::VoiceID::Domain"] = NewResourceEstimate("AWS::VoiceID::Domain", 2, 62, 1)
	Estimates["AWS::VpcLattice::AccessLogSubscription"] = NewResourceEstimate("AWS::VpcLattice::AccessLogSubscription", 4, 4, 1)
	Estimates["AWS::VpcLattice::AuthPolicy"] = NewResourceEstimate("AWS::VpcLattice::AuthPolicy", 1, 1, 1)
	Estimates["AWS::VpcLattice::Listener"] = NewResourceEstimate("AWS::VpcLattice::Listener", 2, 2, 1)
	Estimates["AWS::VpcLattice::ResourcePolicy"] = NewResourceEstimate("AWS::VpcLattice::ResourcePolicy", 2, 2, 1)
	Estimates["AWS::VpcLattice::Rule"] = NewResourceEstimate("AWS::VpcLattice::Rule", 2, 1, 1)
	Estimates["AWS::VpcLattice::Service"] = NewResourceEstimate("AWS::VpcLattice::Service", 7, 2, 1)
	Estimates["AWS::VpcLattice::ServiceNetwork"] = NewResourceEstimate("AWS::VpcLattice::ServiceNetwork", 2, 2, 1)
	Estimates["AWS::VpcLattice::ServiceNetworkServiceAssociation"] = NewResourceEstimate("AWS::VpcLattice::ServiceNetworkServiceAssociation", 8, 2, 1)
	Estimates["AWS::VpcLattice::ServiceNetworkVpcAssociation"] = NewResourceEstimate("AWS::VpcLattice::ServiceNetworkVpcAssociation", 31, 131, 1)
	Estimates["AWS::VpcLattice::TargetGroup"] = NewResourceEstimate("AWS::VpcLattice::TargetGroup", 7, 2, 1)
	Estimates["AWS::WAF::IPSet"] = NewResourceEstimate("AWS::WAF::IPSet", 1, 1, 1)
	Estimates["AWS::WAF::Rule"] = NewResourceEstimate("AWS::WAF::Rule", 1, 1, 1)
	Estimates["AWS::WAF::WebACL"] = NewResourceEstimate("AWS::WAF::WebACL", 1, 1, 1)
	Estimates["AWS::WAFRegional::ByteMatchSet"] = NewResourceEstimate("AWS::WAFRegional::ByteMatchSet", 72, 1, 1)
	Estimates["AWS::WAFRegional::GeoMatchSet"] = NewResourceEstimate("AWS::WAFRegional::GeoMatchSet", 70, 1, 1)
	Estimates["AWS::WAFRegional::IPSet"] = NewResourceEstimate("AWS::WAFRegional::IPSet", 74, 0, 1)
	Estimates["AWS::WAFRegional::RateBasedRule"] = NewResourceEstimate("AWS::WAFRegional::RateBasedRule", 61, 1, 1)
	Estimates["AWS::WAFRegional::RegexPatternSet"] = NewResourceEstimate("AWS::WAFRegional::RegexPatternSet", 72, 1, 1)
	Estimates["AWS::WAFRegional::Rule"] = NewResourceEstimate("AWS::WAFRegional::Rule", 51, 0, 1)
	Estimates["AWS::WAFRegional::SizeConstraintSet"] = NewResourceEstimate("AWS::WAFRegional::SizeConstraintSet", 71, 1, 1)
	Estimates["AWS::WAFRegional::SqlInjectionMatchSet"] = NewResourceEstimate("AWS::WAFRegional::SqlInjectionMatchSet", 71, 0, 1)
	Estimates["AWS::WAFRegional::WebACL"] = NewResourceEstimate("AWS::WAFRegional::WebACL", 59, 0, 1)
	Estimates["AWS::WAFRegional::WebACLAssociation"] = NewResourceEstimate("AWS::WAFRegional::WebACLAssociation", 5, 0, 1)
	Estimates["AWS::WAFRegional::XssMatchSet"] = NewResourceEstimate("AWS::WAFRegional::XssMatchSet", 74, 0, 1)
	Estimates["AWS::WAFv2::IPSet"] = NewResourceEstimate("AWS::WAFv2::IPSet", 2, 2, 1)
	Estimates["AWS::WAFv2::LoggingConfiguration"] = NewResourceEstimate("AWS::WAFv2::LoggingConfiguration", 2, 1, 1)
	Estimates["AWS::WAFv2::RegexPatternSet"] = NewResourceEstimate("AWS::WAFv2::RegexPatternSet", 2, 2, 1)
	Estimates["AWS::WAFv2::RuleGroup"] = NewResourceEstimate("AWS::WAFv2::RuleGroup", 7, 8, 1)
	Estimates["AWS::WAFv2::WebACL"] = NewResourceEstimate("AWS::WAFv2::WebACL", 7, 9, 1)
	Estimates["AWS::WAFv2::WebACLAssociation"] = NewResourceEstimate("AWS::WAFv2::WebACLAssociation", 5, 1, 1)
	Estimates["AWS::Wisdom::Assistant"] = NewResourceEstimate("AWS::Wisdom::Assistant", 2, 1, 1)
	Estimates["AWS::Wisdom::AssistantAssociation"] = NewResourceEstimate("AWS::Wisdom::AssistantAssociation", 1, 1, 1)
	Estimates["AWS::Wisdom::KnowledgeBase"] = NewResourceEstimate("AWS::Wisdom::KnowledgeBase", 1, 1, 1)
	Estimates["AWS::WorkSpaces::ConnectionAlias"] = NewResourceEstimate("AWS::WorkSpaces::ConnectionAlias", 2, 1, 1)
	Estimates["AWS::WorkSpaces::Workspace"] = NewResourceEstimate("AWS::WorkSpaces::Workspace", 1619, 1, 1)
	Estimates["AWS::WorkSpacesWeb::BrowserSettings"] = NewResourceEstimate("AWS::WorkSpacesWeb::BrowserSettings", 2, 1, 1)
	Estimates["AWS::WorkSpacesWeb::IdentityProvider"] = NewResourceEstimate("AWS::WorkSpacesWeb::IdentityProvider", 3, 1, 1)
	Estimates["AWS::WorkSpacesWeb::IpAccessSettings"] = NewResourceEstimate("AWS::WorkSpacesWeb::IpAccessSettings", 2, 1, 1)
	Estimates["AWS::WorkSpacesWeb::NetworkSettings"] = NewResourceEstimate("AWS::WorkSpacesWeb::NetworkSettings", 2, 1, 1)
	Estimates["AWS::WorkSpacesWeb::Portal"] = NewResourceEstimate("AWS::WorkSpacesWeb::Portal", 7, 1, 1)
	Estimates["AWS::WorkSpacesWeb::TrustStore"] = NewResourceEstimate("AWS::WorkSpacesWeb::TrustStore", 5, 1, 1)
	Estimates["AWS::WorkSpacesWeb::UserAccessLoggingSettings"] = NewResourceEstimate("AWS::WorkSpacesWeb::UserAccessLoggingSettings", 2, 1, 1)
	Estimates["AWS::WorkSpacesWeb::UserSettings"] = NewResourceEstimate("AWS::WorkSpacesWeb::UserSettings", 2, 1, 1)
	Estimates["AWS::XRay::Group"] = NewResourceEstimate("AWS::XRay::Group", 1, 1, 1)
	Estimates["AWS::XRay::ResourcePolicy"] = NewResourceEstimate("AWS::XRay::ResourcePolicy", 1, 1, 1)
	Estimates["AWS::XRay::SamplingRule"] = NewResourceEstimate("AWS::XRay::SamplingRule", 1, 1, 1)

}
