# Auto-generated from arn_patterns.yaml
import re

ARN_PATTERNS = {
    'a4b': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):address-book/(?P<ResourceId>.+?)$"), 'names': ['addressbook'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):conference-provider/(?P<ResourceId>.+?)$"), 'names': ['conference-provider', 'conferenceprovider'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):contact/(?P<ResourceId>.+?)$"), 'names': ['contact'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):device/(?P<ResourceId>.+?)$"), 'names': ['device'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<ResourceId>.+?)$"), 'names': ['gateway'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway-group/(?P<ResourceId>.+?)$"), 'names': ['gateway-group', 'gatewaygroup'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-profile/(?P<ResourceId>.+?)$"), 'names': ['network-profile', 'networkprofile'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<ResourceId>.+?)$"), 'names': ['profile'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):room/(?P<ResourceId>.+?)$"), 'names': ['room'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):schedule/(?P<ResourceId>.+?)$"), 'names': ['schedule'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):skill-group/(?P<ResourceId>.+?)$"), 'names': ['skill-group', 'skillgroup'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):a4b:(?P<Region>[\w-]*):(?P<Account>\d{12}):user/(?P<ResourceId>.+?)$"), 'names': ['user'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'access-analyzer': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):access-analyzer:(?P<Region>[\w-]*):(?P<Account>\d{12}):analyzer/(?P<AnalyzerName>.+?)/archive-rule/(?P<RuleName>.+?)$"), 'names': ['archive-rule', 'ArchiveRule'], 'sdk': 'accessanalyzer', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):access-analyzer:(?P<Region>[\w-]*):(?P<Account>\d{12}):analyzer/(?P<AnalyzerName>.+?)$"), 'names': ['analyzer', 'Analyzer'], 'sdk': 'accessanalyzer', 'cfn': 'AWS::AccessAnalyzer::Analyzer', 'tag': 'AWS::AccessAnalyzer::Analyzer'},
    ],
    'account': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):account::(?P<ManagementAccountId>.+?):account/o-(?P<OrganizationId>.+?)/(?P<MemberAccountId>.+?)$"), 'names': ['account-in-organization', 'accountInOrganization'], 'sdk': 'account', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):account::(?P<Account>\d{12}):account$"), 'names': ['account'], 'sdk': 'account', 'cfn': None, 'tag': None},
    ],
    'acm': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):acm:(?P<Region>[\w-]*):(?P<Account>\d{12}):certificate/(?P<CertificateId>.+?)$"), 'names': ['certificate'], 'sdk': 'acm', 'cfn': 'AWS::CertificateManager::Certificate', 'tag': 'AWS::CertificateManager::Certificate'},
    ],
    'acm-pca': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):acm-pca:(?P<Region>[\w-]*):(?P<Account>\d{12}):certificate-authority/(?P<CertificateAuthorityId>.+?)$"), 'names': ['certificate-authority'], 'sdk': 'acm-pca', 'cfn': 'AWS::ACMPCA::CertificateAuthority', 'tag': 'AWS::ACMPCA::CertificateAuthority'},
    ],
    'aidevops': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aidevops:(?P<Region>[\w-]*):(?P<Account>\d{12}):agentspace/(?P<AgentSpaceId>.+?)/associations/(?P<AssociationId>.+?)$"), 'names': ['association-resource', 'AssociationResource'], 'sdk': 'aiops', 'cfn': 'AWS::DevOpsAgent::Association', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aidevops:(?P<Region>[\w-]*):(?P<Account>\d{12}):agentspace/(?P<AgentSpaceId>.+?)$"), 'names': ['agent-space-resource', 'AgentSpaceResource'], 'sdk': 'aiops', 'cfn': 'AWS::DevOpsAgent::AgentSpace', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aidevops:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceId>.+?)$"), 'names': ['service-resource', 'ServiceResource'], 'sdk': 'aiops', 'cfn': None, 'tag': None},
    ],
    'aiops': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aiops:(?P<Region>[\w-]*):(?P<Account>\d{12}):investigation-group/(?P<InvestigationGroupId>.+?)$"), 'names': ['investigation-group'], 'sdk': 'aiops', 'cfn': 'AWS::AIOps::InvestigationGroup', 'tag': 'AWS::AIOps::InvestigationGroup'},
    ],
    'airflow': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):airflow:(?P<Region>[\w-]*):(?P<Account>\d{12}):role/(?P<EnvironmentName>.+?)/(?P<RoleName>.+?)$"), 'names': ['rbac-role'], 'sdk': 'mwaa', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):airflow:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentName>.+?)$"), 'names': ['environment'], 'sdk': 'mwaa', 'cfn': 'AWS::MWAA::Environment', 'tag': 'AWS::MWAA::Environment'},
    ],
    'airflow-serverless': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):airflow-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow/(?P<WorkflowId>.+?)$"), 'names': ['workflow', 'Workflow'], 'sdk': 'mwaa-serverless', 'cfn': 'AWS::MWAAServerless::Workflow', 'tag': None},
    ],
    'amplify': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplify:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/branches/(?P<BranchName>.+?)/jobs/(?P<JobId>.+?)$"), 'names': ['jobs'], 'sdk': 'amplify', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplify:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/branches/(?P<BranchName>.+?)$"), 'names': ['branches'], 'sdk': 'amplify', 'cfn': 'AWS::Amplify::Branch', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplify:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/domains/(?P<DomainName>.+?)$"), 'names': ['domains'], 'sdk': 'amplify', 'cfn': 'AWS::Amplify::Domain', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplify:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)$"), 'names': ['apps'], 'sdk': 'amplify', 'cfn': 'AWS::Amplify::App', 'tag': 'AWS::Amplify::App'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplify:(?P<Region>[\w-]*):(?P<Account>\d{12}):webhooks/(?P<WebhookId>.+?)$"), 'names': ['webhooks'], 'sdk': 'amplify', 'cfn': None, 'tag': None},
    ],
    'amplifybackend': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/api/(?P<ApiId>.+?)$"), 'names': ['api'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/auth/(?P<AuthId>.+?)$"), 'names': ['auth'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/challenge/(?P<ChallengeId>.+?)$"), 'names': ['token'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/config/(?P<ConfigId>.+?)$"), 'names': ['config'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/environments/(?P<EnvironmentId>.+?)$"), 'names': ['environment'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/job/(?P<JobId>.+?)$"), 'names': ['job'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/storage/(?P<StorageId>.+?)$"), 'names': ['storage'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<AppId>.+?)/(?P<SubResourceId>.+?)$"), 'names': ['backend'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifybackend:(?P<Region>[\w-]*):(?P<Account>\d{12}):/backend/(?P<BackendId>.+?)$"), 'names': ['created-backend'], 'sdk': 'amplifybackend', 'cfn': None, 'tag': None},
    ],
    'amplifyuibuilder': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifyuibuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):app/(?P<AppId>.+?)/environment/(?P<EnvironmentName>.+?)/codegen-jobs/(?P<Id>.+?)$"), 'names': ['codegen-job-resource', 'CodegenJobResource'], 'sdk': 'amplifyuibuilder', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifyuibuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):app/(?P<AppId>.+?)/environment/(?P<EnvironmentName>.+?)/components/(?P<Id>.+?)$"), 'names': ['component-resource', 'ComponentResource'], 'sdk': 'amplifyuibuilder', 'cfn': 'AWS::AmplifyUIBuilder::Component', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifyuibuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):app/(?P<AppId>.+?)/environment/(?P<EnvironmentName>.+?)/forms/(?P<Id>.+?)$"), 'names': ['form-resource', 'FormResource'], 'sdk': 'amplifyuibuilder', 'cfn': 'AWS::AmplifyUIBuilder::Form', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):amplifyuibuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):app/(?P<AppId>.+?)/environment/(?P<EnvironmentName>.+?)/themes/(?P<Id>.+?)$"), 'names': ['theme-resource', 'ThemeResource'], 'sdk': 'amplifyuibuilder', 'cfn': 'AWS::AmplifyUIBuilder::Theme', 'tag': None},
    ],
    'aoss': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aoss:(?P<Region>[\w-]*):(?P<Account>\d{12}):collection/(?P<CollectionId>.+?)$"), 'names': ['collection', 'Collection'], 'sdk': 'opensearchserverless', 'cfn': 'AWS::OpenSearchServerless::Collection', 'tag': 'AWS::OpenSearchServerless::Collection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aoss:(?P<Region>[\w-]*):(?P<Account>\d{12}):collection-group/(?P<CollectionGroupId>.+?)$"), 'names': ['collection-group', 'CollectionGroup'], 'sdk': 'opensearchserverless', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aoss:(?P<Region>[\w-]*):(?P<Account>\d{12}):dashboards/default$"), 'names': ['dashboards', 'Dashboards'], 'sdk': 'opensearchserverless', 'cfn': None, 'tag': None},
    ],
    'apigateway': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/resources/(?P<ResourceId>.+?)/methods/(?P<HttpMethodType>.+?)/integration/responses/(?P<StatusCode>.+?)$"), 'names': ['integration-response', 'IntegrationResponse'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGatewayV2::IntegrationResponse', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/resources/(?P<ResourceId>.+?)/methods/(?P<HttpMethodType>.+?)/responses/(?P<StatusCode>.+?)$"), 'names': ['method-response', 'MethodResponse'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/resources/(?P<ResourceId>.+?)/methods/(?P<HttpMethodType>.+?)/integration$"), 'names': ['integration', 'Integration'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGatewayV2::Integration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/integrations/(?P<IntegrationId>.+?)/integrationresponses/(?P<IntegrationResponseId>.+?)$"), 'names': ['integration-response', 'IntegrationResponse'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGatewayV2::IntegrationResponse', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/routes/(?P<RouteId>.+?)/requestparameters/(?P<RequestParameterKey>.+?)$"), 'names': ['route-request-parameter', 'RouteRequestParameter'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/routes/(?P<RouteId>.+?)/routeresponses/(?P<RouteResponseId>.+?)$"), 'names': ['route-response', 'RouteResponse'], 'sdk': 'apigatewayv2', 'cfn': 'AWS::ApiGatewayV2::RouteResponse', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/stages/(?P<StageName>.+?)/cache/authorizers$"), 'names': ['authorizers-cache', 'AuthorizersCache'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/stages/(?P<StageName>.+?)/routesettings/(?P<RouteKey>.+?)$"), 'names': ['route-settings', 'RouteSettings'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/resources/(?P<ResourceId>.+?)/methods/(?P<HttpMethodType>.+?)$"), 'names': ['method', 'Method'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Method', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/stages/(?P<StageName>.+?)/sdks/(?P<SdkType>.+?)$"), 'names': ['sdk', 'Sdk'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/integrations/(?P<IntegrationId>.+?)/integrationresponses$"), 'names': ['integration-responses', 'IntegrationResponses'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/models/(?P<ModelId>.+?)/template$"), 'names': ['model-template', 'ModelTemplate'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/routes/(?P<RouteId>.+?)/routeresponses$"), 'names': ['route-responses', 'RouteResponses'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/stages/(?P<StageName>.+?)/accesslogsettings$"), 'names': ['access-log-settings', 'AccessLogSettings'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/documentation/parts/(?P<DocumentationPartId>.+?)$"), 'names': ['documentation-part', 'DocumentationPart'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::DocumentationPart', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/documentation/versions/(?P<DocumentationVersionId>.+?)$"), 'names': ['documentation-version', 'DocumentationVersion'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::DocumentationVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/authorizers/(?P<AuthorizerId>.+?)$"), 'names': ['authorizer', 'Authorizer'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Authorizer', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/deployments/(?P<DeploymentId>.+?)$"), 'names': ['deployment', 'Deployment'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Deployment', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/exports/(?P<Specification>.+?)$"), 'names': ['exported-api', 'ExportedAPI'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/integrations/(?P<IntegrationId>.+?)$"), 'names': ['integration', 'Integration'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGatewayV2::Integration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/models/(?P<ModelId>.+?)$"), 'names': ['model', 'Model'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Model', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/routes/(?P<RouteId>.+?)$"), 'names': ['route', 'Route'], 'sdk': 'apigatewayv2', 'cfn': 'AWS::ApiGatewayV2::Route', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/stages/(?P<StageName>.+?)$"), 'names': ['stage', 'Stage'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Stage', 'tag': 'AWS::ApiGateway::Stage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames/(?P<DomainName>.+?)/apimappings/(?P<ApiMappingId>.+?)$"), 'names': ['api-mapping', 'ApiMapping'], 'sdk': 'apigatewayv2', 'cfn': 'AWS::ApiGatewayV2::ApiMapping', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames/(?P<DomainName>.+?)/basepathmappings/(?P<BasePath>.+?)$"), 'names': ['base-path-mapping', 'BasePathMapping'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::BasePathMapping', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames/(?P<DomainName>.+?)\+(?P<DomainIdentifier>.+?)/basepathmappings/(?P<BasePath>.+?)$"), 'names': ['private-base-path-mapping', 'PrivateBasePathMapping'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::BasePathMappingV2', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/models/(?P<ModelName>.+?)/template$"), 'names': ['template', 'Template'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/authorizers/(?P<AuthorizerId>.+?)$"), 'names': ['authorizer', 'Authorizer'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Authorizer', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/deployments/(?P<DeploymentId>.+?)$"), 'names': ['deployment', 'Deployment'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Deployment', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/documentation/parts$"), 'names': ['documentation-parts', 'DocumentationParts'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/documentation/versions$"), 'names': ['documentation-versions', 'DocumentationVersions'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/gatewayresponses/(?P<ResponseType>.+?)$"), 'names': ['gateway-response', 'GatewayResponse'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::GatewayResponse', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/models/(?P<ModelName>.+?)$"), 'names': ['model', 'Model'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Model', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/requestvalidators/(?P<RequestValidatorId>.+?)$"), 'names': ['request-validator', 'RequestValidator'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::RequestValidator', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/resources/(?P<ResourceId>.+?)$"), 'names': ['resource', 'Resource'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Resource', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<ApiId>.+?)/stages/(?P<StageName>.+?)$"), 'names': ['apigateway'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/stages/(?P<StageName>.+?)$"), 'names': ['stage', 'Stage'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Stage', 'tag': 'AWS::ApiGateway::Stage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/usageplans/(?P<UsagePlanId>.+?)/keys/(?P<Id>.+?)$"), 'names': ['usage-plan-key', 'UsagePlanKey'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::UsagePlanKey', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/authorizers$"), 'names': ['authorizers', 'Authorizers'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/cors$"), 'names': ['cors', 'Cors'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/deployments$"), 'names': ['deployments', 'Deployments'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/integrations$"), 'names': ['integrations', 'Integrations'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/models$"), 'names': ['models', 'Models'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/routes$"), 'names': ['routes', 'Routes'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)/stages$"), 'names': ['stages', 'Stages'], 'sdk': 'apigateway', 'cfn': None, 'tag': 'AWS::ApiGateway::Stage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames/(?P<DomainName>.+?)/apimappings$"), 'names': ['api-mappings', 'ApiMappings'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames/(?P<DomainName>.+?)/basepathmappings$"), 'names': ['base-path-mappings', 'BasePathMappings'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames/(?P<DomainName>.+?)\+(?P<DomainIdentifier>.+?)/basepathmappings$"), 'names': ['private-base-path-mappings', 'PrivateBasePathMappings'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/authorizers$"), 'names': ['authorizers', 'Authorizers'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/deployments$"), 'names': ['deployments', 'Deployments'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/gatewayresponses$"), 'names': ['gateway-responses', 'GatewayResponses'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/models$"), 'names': ['models', 'Models'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/requestvalidators$"), 'names': ['request-validators', 'RequestValidators'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/resources$"), 'names': ['resources', 'Resources'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)/stages$"), 'names': ['stages', 'Stages'], 'sdk': 'apigateway', 'cfn': None, 'tag': 'AWS::ApiGateway::Stage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/usageplans/(?P<UsagePlanId>.+?)/keys$"), 'names': ['usage-plan-keys', 'UsagePlanKeys'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apikeys/(?P<ApiKeyId>.+?)$"), 'names': ['api-key', 'ApiKey'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::ApiKey', 'tag': 'AWS::ApiGateway::ApiKey'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis/(?P<ApiId>.+?)$"), 'names': ['api', 'Api'], 'sdk': 'apigatewayv2', 'cfn': 'AWS::ApiGatewayV2::Api', 'tag': 'AWS::ApiGatewayV2::Api'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/clientcertificates/(?P<ClientCertificateId>.+?)$"), 'names': ['client-certificate', 'ClientCertificate'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::ClientCertificate', 'tag': 'AWS::ApiGateway::ClientCertificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames/(?P<DomainName>.+?)$"), 'names': ['domain-name', 'DomainName'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::DomainName', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis/(?P<RestApiId>.+?)$"), 'names': ['rest-api', 'RestApi'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::RestApi', 'tag': 'AWS::ApiGateway::RestApi'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/tags/(?P<UrlEncodedResourceARN>.+?)$"), 'names': ['tags', 'Tags'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/usageplans/(?P<UsagePlanId>.+?)$"), 'names': ['usage-plan', 'UsagePlan'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::UsagePlan', 'tag': 'AWS::ApiGateway::UsagePlan'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/vpclinks/(?P<VpcLinkId>.+?)$"), 'names': ['vpc-link', 'VpcLink'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::VpcLink', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/account$"), 'names': ['account', 'Account'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::Account', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apikeys$"), 'names': ['api-keys', 'ApiKeys'], 'sdk': 'apigateway', 'cfn': None, 'tag': 'AWS::ApiGateway::ApiKey'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/apis$"), 'names': ['apis', 'Apis'], 'sdk': 'apigatewayv2', 'cfn': None, 'tag': 'AWS::ApiGatewayV2::Api'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/clientcertificates$"), 'names': ['client-certificates', 'ClientCertificates'], 'sdk': 'apigateway', 'cfn': None, 'tag': 'AWS::ApiGateway::ClientCertificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/domainnames$"), 'names': ['domain-names', 'DomainNames'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/restapis$"), 'names': ['rest-apis', 'RestApis'], 'sdk': 'apigateway', 'cfn': None, 'tag': 'AWS::ApiGateway::RestApi'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/usageplans$"), 'names': ['usage-plans', 'UsagePlans'], 'sdk': 'apigateway', 'cfn': None, 'tag': 'AWS::ApiGateway::UsagePlan'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*)::/vpclinks$"), 'names': ['vpc-links', 'VpcLinks'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/domainnameaccessassociations/domainname/(?P<DomainName>.+?)/(?P<SourceType>.+?)/(?P<SourceId>.+?)$"), 'names': ['domain-name-access-association', 'DomainNameAccessAssociation'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::DomainNameAccessAssociation', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/domainnames/(?P<DomainName>.+?)/routingrules/(?P<RoutingRuleId>.+?)$"), 'names': ['routing-rule', 'RoutingRule'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGatewayV2::RoutingRule', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/portalproducts/(?P<PortalProductId>.+?)/productpages/(?P<ProductPageId>.+?)$"), 'names': ['product-page', 'ProductPage'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/portalproducts/(?P<PortalProductId>.+?)/productrestendpointpages/(?P<ProductRestEndpointPageId>.+?)$"), 'names': ['product-rest-endpoint-page', 'ProductRestEndpointPage'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/domainnames/(?P<DomainName>.+?)\+(?P<DomainIdentifier>.+?)$"), 'names': ['private-domain-name', 'PrivateDomainName'], 'sdk': 'apigateway', 'cfn': 'AWS::ApiGateway::DomainNameV2', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/portalproducts/(?P<PortalProductId>.+?)$"), 'names': ['portal-product', 'PortalProduct'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/portals/(?P<PortalId>.+?)$"), 'names': ['portal', 'Portal'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apigateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):/domainnameaccessassociations$"), 'names': ['domain-name-access-associations', 'DomainNameAccessAssociations'], 'sdk': 'apigateway', 'cfn': None, 'tag': None},
    ],
    'app-integrations': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):app-integrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):application-association/(?P<ApplicationId>.+?)/(?P<ApplicationAssociationId>.+?)$"), 'names': ['application-association'], 'sdk': 'appintegrations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):app-integrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-integration-association/(?P<DataIntegrationId>.+?)/(?P<ResourceId>.+?)$"), 'names': ['data-integration-association'], 'sdk': 'appintegrations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):app-integrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):event-integration-association/(?P<EventIntegrationName>.+?)/(?P<ResourceId>.+?)$"), 'names': ['event-integration-association'], 'sdk': 'appintegrations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):app-integrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': 'appintegrations', 'cfn': 'AWS::AppIntegrations::Application', 'tag': 'AWS::AppIntegrations::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):app-integrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-integration/(?P<DataIntegrationId>.+?)$"), 'names': ['data-integration'], 'sdk': 'appintegrations', 'cfn': 'AWS::AppIntegrations::DataIntegration', 'tag': 'AWS::AppIntegrations::DataIntegration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):app-integrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):event-integration/(?P<EventIntegrationName>.+?)$"), 'names': ['event-integration'], 'sdk': 'appintegrations', 'cfn': 'AWS::AppIntegrations::EventIntegration', 'tag': 'AWS::AppIntegrations::EventIntegration'},
    ],
    'appconfig': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/configurationprofile/(?P<ConfigurationProfileId>.+?)/hostedconfigurationversion/(?P<VersionNumber>.+?)$"), 'names': ['hosted-configuration-version', 'hostedconfigurationversion'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::HostedConfigurationVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/environment/(?P<EnvironmentId>.+?)/configuration/(?P<ConfigurationProfileId>.+?)$"), 'names': ['configuration'], 'sdk': 'appconfig', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/environment/(?P<EnvironmentId>.+?)/deployment/(?P<DeploymentNumber>.+?)$"), 'names': ['deployment'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::Deployment', 'tag': 'AWS::AppConfig::Deployment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/configurationprofile/(?P<ConfigurationProfileId>.+?)$"), 'names': ['configuration-profile', 'configurationprofile'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::ConfigurationProfile', 'tag': 'AWS::AppConfig::ConfigurationProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/environment/(?P<EnvironmentId>.+?)$"), 'names': ['environment'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::Environment', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):extension/(?P<ExtensionId>.+?)/(?P<ExtensionVersionNumber>.+?)$"), 'names': ['extension'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::Extension', 'tag': 'AWS::AppConfig::Extension'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::Application', 'tag': 'AWS::AppConfig::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):deploymentstrategy/(?P<DeploymentStrategyId>.+?)$"), 'names': ['deployment-strategy', 'deploymentstrategy'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::DeploymentStrategy', 'tag': 'AWS::AppConfig::DeploymentStrategy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appconfig:(?P<Region>[\w-]*):(?P<Account>\d{12}):extensionassociation/(?P<ExtensionAssociationId>.+?)$"), 'names': ['extension-association', 'extensionassociation'], 'sdk': 'appconfig', 'cfn': 'AWS::AppConfig::ExtensionAssociation', 'tag': 'AWS::AppConfig::ExtensionAssociation'},
    ],
    'appfabric': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appfabric:(?P<Region>[\w-]*):(?P<Account>\d{12}):appbundle/(?P<AppbundleId>.+?)/ingestion/(?P<IngestionIdentifier>.+?)/ingestiondestination/(?P<IngestionDestinationIdentifier>.+?)$"), 'names': ['ingestion-destination', 'ingestiondestination'], 'sdk': 'appfabric', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appfabric:(?P<Region>[\w-]*):(?P<Account>\d{12}):appbundle/(?P<AppbundleId>.+?)/appauthorization/(?P<AppAuthorizationIdentifier>.+?)$"), 'names': ['app-authorization', 'appauthorization'], 'sdk': 'appfabric', 'cfn': None, 'tag': 'AWS::AppFabric::AppAuthorization'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appfabric:(?P<Region>[\w-]*):(?P<Account>\d{12}):appbundle/(?P<AppbundleId>.+?)/ingestion/(?P<IngestionIdentifier>.+?)$"), 'names': ['ingestion'], 'sdk': 'appfabric', 'cfn': None, 'tag': 'AWS::AppFabric::Ingestion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appfabric:(?P<Region>[\w-]*):(?P<Account>\d{12}):appbundle/(?P<AppBundleIdentifier>.+?)$"), 'names': ['app-bundle', 'appbundle'], 'sdk': 'appfabric', 'cfn': None, 'tag': 'AWS::AppFabric::AppBundle'},
    ],
    'appflow': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appflow:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorLabel>.+?)$"), 'names': ['connector'], 'sdk': 'appflow', 'cfn': 'AWS::AppFlow::Connector', 'tag': 'AWS::AppFlow::Connector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appflow:(?P<Region>[\w-]*):(?P<Account>\d{12}):connectorprofile/(?P<ProfileName>.+?)$"), 'names': ['connector-profile', 'connectorprofile'], 'sdk': 'appflow', 'cfn': 'AWS::AppFlow::ConnectorProfile', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appflow:(?P<Region>[\w-]*):(?P<Account>\d{12}):flow/(?P<FlowName>.+?)$"), 'names': ['flow'], 'sdk': 'appflow', 'cfn': 'AWS::AppFlow::Flow', 'tag': 'AWS::AppFlow::Flow'},
    ],
    'application-autoscaling': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):application-autoscaling:(?P<Region>[\w-]*):(?P<Account>\d{12}):scalable-target/(?P<ResourceId>.+?)$"), 'names': ['scalable-target', 'ScalableTarget'], 'sdk': 'application-autoscaling', 'cfn': 'AWS::ApplicationAutoScaling::ScalableTarget', 'tag': 'AWS::ApplicationAutoScaling::ScalableTarget'},
    ],
    'application-signals': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):application-signals:(?P<Region>[\w-]*):(?P<Account>\d{12}):slo/(?P<SloName>.+?)$"), 'names': ['slo'], 'sdk': 'application-signals', 'cfn': 'AWS::ApplicationSignals::ServiceLevelObjective', 'tag': 'AWS::ApplicationSignals::ServiceLevelObjective'},
    ],
    'appmesh': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualGateway/(?P<VirtualGatewayName>.+?)/gatewayRoute/(?P<GatewayRouteName>.+?)$"), 'names': ['gateway-route', 'gatewayRoute'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::GatewayRoute', 'tag': 'AWS::AppMesh::GatewayRoute'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualRouter/(?P<VirtualRouterName>.+?)/route/(?P<RouteName>.+?)$"), 'names': ['route'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::Route', 'tag': 'AWS::AppMesh::Route'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualGateway/(?P<VirtualGatewayName>.+?)$"), 'names': ['virtual-gateway', 'virtualGateway'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualGateway', 'tag': 'AWS::AppMesh::VirtualGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualNode/(?P<VirtualNodeName>.+?)$"), 'names': ['virtual-node', 'virtualNode'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualNode', 'tag': 'AWS::AppMesh::VirtualNode'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualRouter/(?P<VirtualRouterName>.+?)$"), 'names': ['virtual-router', 'virtualRouter'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualRouter', 'tag': 'AWS::AppMesh::VirtualRouter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualService/(?P<VirtualServiceName>.+?)$"), 'names': ['virtual-service', 'virtualService'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualService', 'tag': 'AWS::AppMesh::VirtualService'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)$"), 'names': ['mesh'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::Mesh', 'tag': 'AWS::AppMesh::Mesh'},
    ],
    'appmesh-preview': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh-preview:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualGateway/(?P<VirtualGatewayName>.+?)/gatewayRoute/(?P<GatewayRouteName>.+?)$"), 'names': ['gateway-route', 'gatewayRoute'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::GatewayRoute', 'tag': 'AWS::AppMesh::GatewayRoute'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh-preview:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualRouter/(?P<VirtualRouterName>.+?)/route/(?P<RouteName>.+?)$"), 'names': ['route'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::Route', 'tag': 'AWS::AppMesh::Route'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh-preview:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualGateway/(?P<VirtualGatewayName>.+?)$"), 'names': ['virtual-gateway', 'virtualGateway'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualGateway', 'tag': 'AWS::AppMesh::VirtualGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh-preview:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualNode/(?P<VirtualNodeName>.+?)$"), 'names': ['virtual-node', 'virtualNode'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualNode', 'tag': 'AWS::AppMesh::VirtualNode'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh-preview:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualRouter/(?P<VirtualRouterName>.+?)$"), 'names': ['virtual-router', 'virtualRouter'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualRouter', 'tag': 'AWS::AppMesh::VirtualRouter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh-preview:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)/virtualService/(?P<VirtualServiceName>.+?)$"), 'names': ['virtual-service', 'virtualService'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::VirtualService', 'tag': 'AWS::AppMesh::VirtualService'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appmesh-preview:(?P<Region>[\w-]*):(?P<Account>\d{12}):mesh/(?P<MeshName>.+?)$"), 'names': ['mesh'], 'sdk': 'appmesh', 'cfn': 'AWS::AppMesh::Mesh', 'tag': 'AWS::AppMesh::Mesh'},
    ],
    'apprunner': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apprunner:(?P<Region>[\w-]*):(?P<Account>\d{12}):autoscalingconfiguration/(?P<AutoscalingConfigurationName>.+?)/(?P<AutoscalingConfigurationVersion>.+?)/(?P<AutoscalingConfigurationId>.+?)$"), 'names': ['autoscaling-configuration', 'autoscalingconfiguration'], 'sdk': 'apprunner', 'cfn': 'AWS::AppRunner::AutoScalingConfiguration', 'tag': 'AWS::AppRunner::AutoScalingConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apprunner:(?P<Region>[\w-]*):(?P<Account>\d{12}):observabilityconfiguration/(?P<ObservabilityConfigurationName>.+?)/(?P<ObservabilityConfigurationVersion>.+?)/(?P<ObservabilityConfigurationId>.+?)$"), 'names': ['observability-configuration', 'observabilityconfiguration'], 'sdk': 'apprunner', 'cfn': 'AWS::AppRunner::ObservabilityConfiguration', 'tag': 'AWS::AppRunner::ObservabilityConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apprunner:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpcconnector/(?P<VpcConnectorName>.+?)/(?P<VpcConnectorVersion>.+?)/(?P<VpcConnectorId>.+?)$"), 'names': ['vpc-connector', 'vpcconnector'], 'sdk': 'apprunner', 'cfn': 'AWS::AppRunner::VpcConnector', 'tag': 'AWS::AppRunner::VpcConnector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apprunner:(?P<Region>[\w-]*):(?P<Account>\d{12}):connection/(?P<ConnectionName>.+?)/(?P<ConnectionId>.+?)$"), 'names': ['connection'], 'sdk': 'apprunner', 'cfn': None, 'tag': 'AWS::AppRunner::Connection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apprunner:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceName>.+?)/(?P<ServiceId>.+?)$"), 'names': ['service'], 'sdk': 'apprunner', 'cfn': 'AWS::AppRunner::Service', 'tag': 'AWS::AppRunner::Service'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apprunner:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpcingressconnection/(?P<VpcIngressConnectionName>.+?)/(?P<VpcIngressConnectionId>.+?)$"), 'names': ['vpc-ingress-connection', 'vpcingressconnection'], 'sdk': 'apprunner', 'cfn': 'AWS::AppRunner::VpcIngressConnection', 'tag': 'AWS::AppRunner::VpcIngressConnection'},
    ],
    'appstream': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstream:(?P<Region>[\w-]*):(?P<Account>\d{12}):app-block/(?P<AppBlockName>.+?)$"), 'names': ['app-block'], 'sdk': 'appstream', 'cfn': 'AWS::AppStream::AppBlock', 'tag': 'AWS::AppStream::AppBlock'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstream:(?P<Region>[\w-]*):(?P<Account>\d{12}):app-block-builder/(?P<AppBlockBuilderName>.+?)$"), 'names': ['app-block-builder'], 'sdk': 'appstream', 'cfn': 'AWS::AppStream::AppBlockBuilder', 'tag': 'AWS::AppStream::AppBlockBuilder'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstream:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationName>.+?)$"), 'names': ['application'], 'sdk': 'appstream', 'cfn': 'AWS::AppStream::Application', 'tag': 'AWS::AppStream::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstream:(?P<Region>[\w-]*):(?P<Account>\d{12}):fleet/(?P<FleetName>.+?)$"), 'names': ['fleet'], 'sdk': 'appstream', 'cfn': 'AWS::AppStream::Fleet', 'tag': 'AWS::AppStream::Fleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstream:(?P<Region>[\w-]*):(?P<Account>\d{12}):image/(?P<ImageName>.+?)$"), 'names': ['image'], 'sdk': 'appstream', 'cfn': None, 'tag': 'AWS::AppStream::Image'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstream:(?P<Region>[\w-]*):(?P<Account>\d{12}):image-builder/(?P<ImageBuilderName>.+?)$"), 'names': ['image-builder'], 'sdk': 'appstream', 'cfn': 'AWS::AppStream::ImageBuilder', 'tag': 'AWS::AppStream::ImageBuilder'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstream:(?P<Region>[\w-]*):(?P<Account>\d{12}):stack/(?P<StackName>.+?)$"), 'names': ['stack'], 'sdk': 'appstream', 'cfn': 'AWS::AppStream::Stack', 'tag': 'AWS::AppStream::Stack'},
    ],
    'appstudio': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstudio:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstudio:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectionId>.+?)$"), 'names': ['connector'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appstudio:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)$"), 'names': ['instance'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'appsync': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<GraphQLAPIId>.+?)/types/(?P<TypeName>.+?)/fields/(?P<FieldName>.+?)$"), 'names': ['field'], 'sdk': 'appsync', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<ApiId>.+?)/channelNamespace/(?P<ChannelNamespaceName>.+?)$"), 'names': ['channel-namespace', 'channelNamespace'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::ChannelNamespace', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<GraphQLAPIId>.+?)/datasources/(?P<DatasourceName>.+?)$"), 'names': ['datasource'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::DataSource', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<GraphQLAPIId>.+?)/functions/(?P<FunctionId>.+?)$"), 'names': ['function'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::FunctionConfiguration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<SourceGraphQLAPIId>.+?)/mergedApiAssociations/(?P<Associationid>.+?)$"), 'names': ['merged-api-association', 'mergedApiAssociation'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::SourceApiAssociation', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<MergedGraphQLAPIId>.+?)/sourceApiAssociations/(?P<Associationid>.+?)$"), 'names': ['source-api-association', 'sourceApiAssociation'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::SourceApiAssociation', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<GraphQLAPIId>.+?)/types/(?P<TypeName>.+?)$"), 'names': ['type'], 'sdk': 'appsync', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<ApiId>.+?)$"), 'names': ['api'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::Api', 'tag': 'AWS::AppSync::Api'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):apis/(?P<GraphQLAPIId>.+?)$"), 'names': ['graphql-api', 'graphqlapi'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::GraphQLApi', 'tag': 'AWS::AppSync::Api'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):appsync:(?P<Region>[\w-]*):(?P<Account>\d{12}):domainnames/(?P<DomainName>.+?)$"), 'names': ['domain'], 'sdk': 'appsync', 'cfn': 'AWS::AppSync::DomainName', 'tag': 'AWS::AppSync::DomainName'},
    ],
    'apptest': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apptest:(?P<Region>[\w-]*):(?P<Account>\d{12}):testcase/(?P<TestCaseId>.+?)$"), 'names': ['test-case', 'TestCase'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apptest:(?P<Region>[\w-]*):(?P<Account>\d{12}):testconfiguration/(?P<TestConfigurationId>.+?)$"), 'names': ['test-configuration', 'TestConfiguration'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apptest:(?P<Region>[\w-]*):(?P<Account>\d{12}):testrun/(?P<TestRunId>.+?)$"), 'names': ['test-run', 'TestRun'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):apptest:(?P<Region>[\w-]*):(?P<Account>\d{12}):testsuite/(?P<TestSuiteId>.+?)$"), 'names': ['test-suite', 'TestSuite'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'aps': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aps:(?P<Region>[\w-]*):(?P<Account>\d{12}):anomalydetector/(?P<WorkspaceId>.+?)/(?P<AnomalyDetectorId>.+?)$"), 'names': ['anomaly-detector', 'anomalydetector'], 'sdk': 'amp', 'cfn': 'AWS::APS::AnomalyDetector', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aps:(?P<Region>[\w-]*):(?P<Account>\d{12}):rulegroupsnamespace/(?P<WorkspaceId>.+?)/(?P<Namespace>.+?)$"), 'names': ['rulegroups-namespace', 'rulegroupsnamespace'], 'sdk': 'amp', 'cfn': 'AWS::APS::RuleGroupsNamespace', 'tag': 'AWS::APS::RuleGroupsNamespace'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aps:(?P<Region>[\w-]*):(?P<Account>\d{12}):scraper/(?P<ScraperId>.+?)$"), 'names': ['scraper'], 'sdk': 'amp', 'cfn': 'AWS::APS::Scraper', 'tag': 'AWS::APS::Scraper'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aps:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspace/(?P<WorkspaceId>.+?)$"), 'names': ['workspace'], 'sdk': 'amp', 'cfn': 'AWS::APS::Workspace', 'tag': 'AWS::APS::Workspace'},
    ],
    'arc-region-switch': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):arc-region-switch::(?P<Account>\d{12}):plan/(?P<ResourceId>.+?)$"), 'names': ['plan'], 'sdk': 'arc-region-switch', 'cfn': 'AWS::ARCRegionSwitch::Plan', 'tag': None},
    ],
    'artifact': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):artifact:::agreement/(?P<AgreementId>.+?)$"), 'names': ['agreement'], 'sdk': 'artifact', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):artifact::(?P<Account>\d{12}):customer-agreement/(?P<CustomerAgreementId>.+?)$"), 'names': ['customer-agreement'], 'sdk': 'artifact', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):artifact:(?P<Region>[\w-]*)::report/(?P<ReportId>.+?):(?P<Version>.+?)$"), 'names': ['report'], 'sdk': 'artifact', 'cfn': None, 'tag': None},
    ],
    'athena': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):athena:(?P<Region>[\w-]*):(?P<Account>\d{12}):workgroup/(?P<WorkGroupName>.+?)/session/(?P<SessionId>.+?)$"), 'names': ['session'], 'sdk': 'athena', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):athena:(?P<Region>[\w-]*):(?P<Account>\d{12}):capacity-reservation/(?P<CapacityReservationName>.+?)$"), 'names': ['capacity-reservation'], 'sdk': 'athena', 'cfn': 'AWS::Athena::CapacityReservation', 'tag': 'AWS::Athena::CapacityReservation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):athena:(?P<Region>[\w-]*):(?P<Account>\d{12}):datacatalog/(?P<DataCatalogName>.+?)$"), 'names': ['datacatalog'], 'sdk': 'athena', 'cfn': 'AWS::Athena::DataCatalog', 'tag': 'AWS::Athena::DataCatalog'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):athena:(?P<Region>[\w-]*):(?P<Account>\d{12}):workgroup/(?P<WorkGroupName>.+?)$"), 'names': ['workgroup'], 'sdk': 'athena', 'cfn': 'AWS::Athena::WorkGroup', 'tag': 'AWS::Athena::WorkGroup'},
    ],
    'auditmanager': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):auditmanager:(?P<Region>[\w-]*):(?P<Account>\d{12}):assessment/(?P<AssessmentId>.+?)/controlSet/(?P<ControlSetId>.+?)$"), 'names': ['assessment-control-set', 'assessmentControlSet'], 'sdk': 'auditmanager', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):auditmanager:(?P<Region>[\w-]*):(?P<Account>\d{12}):assessment/(?P<AssessmentId>.+?)$"), 'names': ['assessment'], 'sdk': 'auditmanager', 'cfn': 'AWS::AuditManager::Assessment', 'tag': 'AWS::AuditManager::Assessment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):auditmanager:(?P<Region>[\w-]*):(?P<Account>\d{12}):assessmentFramework/(?P<AssessmentFrameworkId>.+?)$"), 'names': ['assessment-framework', 'assessmentFramework'], 'sdk': 'auditmanager', 'cfn': None, 'tag': 'AWS::AuditManager::AssessmentFramework'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):auditmanager:(?P<Region>[\w-]*):(?P<Account>\d{12}):control/(?P<ControlId>.+?)$"), 'names': ['control'], 'sdk': 'auditmanager', 'cfn': None, 'tag': 'AWS::AuditManager::Control'},
    ],
    'autoscaling': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):autoscaling:(?P<Region>[\w-]*):(?P<Account>\d{12}):autoScalingGroup:(?P<GroupId>.+?):autoScalingGroupName/(?P<GroupFriendlyName>.+?)$"), 'names': ['autoscaling-group', 'autoScalingGroup'], 'sdk': 'autoscaling', 'cfn': 'AWS::AutoScaling::AutoScalingGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):autoscaling:(?P<Region>[\w-]*):(?P<Account>\d{12}):launchConfiguration:(?P<Id>.+?):launchConfigurationName/(?P<LaunchConfigurationName>.+?)$"), 'names': ['launch-configuration', 'launchConfiguration'], 'sdk': 'autoscaling', 'cfn': 'AWS::AutoScaling::LaunchConfiguration', 'tag': None},
    ],
    'aws-marketplace': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aws-marketplace:(?P<Region>[\w-]*):(?P<Account>\d{12}):DeploymentParameter:catalogs/(?P<CatalogName>.+?)/products/(?P<ProductId>.+?)/(?P<ResourceId>.+?)$"), 'names': ['deployment-parameter', 'DeploymentParameter'], 'sdk': 'marketplace-catalog', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aws-marketplace:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<Catalog>.+?)/ChangeSet/(?P<ResourceId>.+?)$"), 'names': ['change-set', 'ChangeSet'], 'sdk': 'marketplace-catalog', 'cfn': None, 'tag': 'AWS::MarketplaceCatalog::ChangeSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):aws-marketplace:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<Catalog>.+?)/(?P<EntityType>.+?)/(?P<ResourceId>.+?)$"), 'names': ['entity', 'Entity'], 'sdk': 'marketplace-catalog', 'cfn': None, 'tag': 'AWS::MarketplaceCatalog::Entity'},
    ],
    'b2bi': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):b2bi:(?P<Region>[\w-]*):(?P<Account>\d{12}):capability/(?P<ResourceId>.+?)$"), 'names': ['capability'], 'sdk': 'b2bi', 'cfn': 'AWS::B2BI::Capability', 'tag': 'AWS::B2BI::Capability'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):b2bi:(?P<Region>[\w-]*):(?P<Account>\d{12}):partnership/(?P<ResourceId>.+?)$"), 'names': ['partnership'], 'sdk': 'b2bi', 'cfn': 'AWS::B2BI::Partnership', 'tag': 'AWS::B2BI::Partnership'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):b2bi:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<ResourceId>.+?)$"), 'names': ['profile'], 'sdk': 'b2bi', 'cfn': 'AWS::B2BI::Profile', 'tag': 'AWS::B2BI::Profile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):b2bi:(?P<Region>[\w-]*):(?P<Account>\d{12}):transformer/(?P<ResourceId>.+?)$"), 'names': ['transformer'], 'sdk': 'b2bi', 'cfn': 'AWS::B2BI::Transformer', 'tag': 'AWS::B2BI::Transformer'},
    ],
    'backup': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup:(?P<Region>[\w-]*):(?P<Account>\d{12}):backup-plan:(?P<BackupPlanId>.+?)$"), 'names': ['backup-plan', 'backupPlan'], 'sdk': 'backup', 'cfn': 'AWS::Backup::BackupPlan', 'tag': 'AWS::Backup::BackupPlan'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup:(?P<Region>[\w-]*):(?P<Account>\d{12}):backup-vault:(?P<BackupVaultName>.+?)$"), 'names': ['backup-vault', 'backupVault'], 'sdk': 'backup', 'cfn': 'AWS::Backup::BackupVault', 'tag': 'AWS::Backup::BackupVault'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup:(?P<Region>[\w-]*):(?P<Account>\d{12}):framework:(?P<FrameworkName>.+?)-(?P<FrameworkId>.+?)$"), 'names': ['framework'], 'sdk': 'backup', 'cfn': 'AWS::Backup::Framework', 'tag': 'AWS::Backup::Framework'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup:(?P<Region>[\w-]*):(?P<Account>\d{12}):legal-hold:(?P<LegalHoldId>.+?)$"), 'names': ['legal-hold', 'legalHold'], 'sdk': 'backup', 'cfn': None, 'tag': 'AWS::Backup::LegalHold'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup:(?P<Region>[\w-]*):(?P<Account>\d{12}):report-plan:(?P<ReportPlanName>.+?)-(?P<ReportPlanId>.+?)$"), 'names': ['report-plan', 'reportPlan'], 'sdk': 'backup', 'cfn': 'AWS::Backup::ReportPlan', 'tag': 'AWS::Backup::ReportPlan'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup:(?P<Region>[\w-]*):(?P<Account>\d{12}):restore-testing-plan:(?P<RestoreTestingPlanName>.+?)-(?P<RestoreTestingPlanId>.+?)$"), 'names': ['restore-testing-plan', 'restoreTestingPlan'], 'sdk': 'backup', 'cfn': 'AWS::Backup::RestoreTestingPlan', 'tag': 'AWS::Backup::RestoreTestingPlan'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup:(?P<Region>[\w-]*):(?P<Account>\d{12}):tiering-configuration:(?P<TieringConfigurationName>.+?)-(?P<TieringConfigurationId>.+?)$"), 'names': ['tiering-configuration', 'tieringConfiguration'], 'sdk': 'backup', 'cfn': 'AWS::Backup::TieringConfiguration', 'tag': None},
    ],
    'backup-gateway': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup-gateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<GatewayId>.+?)$"), 'names': ['gateway'], 'sdk': 'backup-gateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup-gateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):hypervisor/(?P<HypervisorId>.+?)$"), 'names': ['hypervisor'], 'sdk': 'backup-gateway', 'cfn': 'AWS::BackupGateway::Hypervisor', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup-gateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):vm/(?P<VirtualmachineId>.+?)$"), 'names': ['virtual-machine', 'virtualmachine'], 'sdk': 'backup-gateway', 'cfn': None, 'tag': 'AWS::BackupGateway::VirtualMachine'},
    ],
    'backup-search': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup-search:(?P<Region>[\w-]*):(?P<Account>\d{12}):search-export-job/(?P<ResourceId>.+?)$"), 'names': ['search-export-job', 'searchExportJob'], 'sdk': 'backupsearch', 'cfn': None, 'tag': 'AWS::BackupSearch::SearchExportJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):backup-search:(?P<Region>[\w-]*):(?P<Account>\d{12}):search-job/(?P<ResourceId>.+?)$"), 'names': ['search-job', 'searchJob'], 'sdk': 'backupsearch', 'cfn': None, 'tag': 'AWS::BackupSearch::SearchJob'},
    ],
    'batch': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):job-definition/(?P<JobDefinitionName>.+?):(?P<Revision>.+?)$"), 'names': ['job-definition-revision'], 'sdk': 'batch', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):compute-environment/(?P<ComputeEnvironmentName>.+?)$"), 'names': ['compute-environment'], 'sdk': 'batch', 'cfn': 'AWS::Batch::ComputeEnvironment', 'tag': 'AWS::Batch::ComputeEnvironment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):consumable-resource/(?P<ConsumableResourceName>.+?)$"), 'names': ['consumable-resource'], 'sdk': 'batch', 'cfn': 'AWS::Batch::ConsumableResource', 'tag': 'AWS::Batch::ConsumableResource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobId>.+?)$"), 'names': ['job'], 'sdk': 'batch', 'cfn': None, 'tag': 'AWS::Batch::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):job-definition/(?P<JobDefinitionName>.+?)$"), 'names': ['job-definition'], 'sdk': 'batch', 'cfn': 'AWS::Batch::JobDefinition', 'tag': 'AWS::Batch::JobDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):job-queue/(?P<JobQueueName>.+?)$"), 'names': ['job-queue'], 'sdk': 'batch', 'cfn': 'AWS::Batch::JobQueue', 'tag': 'AWS::Batch::JobQueue'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):scheduling-policy/(?P<SchedulingPolicyName>.+?)$"), 'names': ['scheduling-policy'], 'sdk': 'batch', 'cfn': 'AWS::Batch::SchedulingPolicy', 'tag': 'AWS::Batch::SchedulingPolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-environment/(?P<ServiceEnvironmentName>.+?)$"), 'names': ['service-environment'], 'sdk': 'batch', 'cfn': 'AWS::Batch::ServiceEnvironment', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):batch:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-job/(?P<JobId>.+?)$"), 'names': ['service-job'], 'sdk': 'batch', 'cfn': None, 'tag': None},
    ],
    'bcm-data-exports': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bcm-data-exports:(?P<Region>[\w-]*):(?P<Account>\d{12}):export/(?P<Identifier>.+?)$"), 'names': ['export'], 'sdk': 'bcm-data-exports', 'cfn': 'AWS::BCMDataExports::Export', 'tag': 'AWS::BCMDataExports::Export'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bcm-data-exports:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<Identifier>.+?)$"), 'names': ['table'], 'sdk': 'bcm-data-exports', 'cfn': None, 'tag': None},
    ],
    'bcm-pricing-calculator': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bcm-pricing-calculator:(?P<Region>[\w-]*):(?P<Account>\d{12}):bill-estimate/(?P<BillEstimateId>.+?)$"), 'names': ['bill-estimate'], 'sdk': 'bcm-pricing-calculator', 'cfn': None, 'tag': 'AWS::BCMPricingCalculator::BillEstimate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bcm-pricing-calculator:(?P<Region>[\w-]*):(?P<Account>\d{12}):bill-scenario/(?P<BillScenarioId>.+?)$"), 'names': ['bill-scenario'], 'sdk': 'bcm-pricing-calculator', 'cfn': None, 'tag': 'AWS::BCMPricingCalculator::BillScenario'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bcm-pricing-calculator:(?P<Region>[\w-]*):(?P<Account>\d{12}):workload-estimate/(?P<WorkloadEstimateId>.+?)$"), 'names': ['workload-estimate'], 'sdk': 'bcm-pricing-calculator', 'cfn': None, 'tag': 'AWS::BCMPricingCalculator::WorkloadEstimate'},
    ],
    'bedrock': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock::(?P<Account>\d{12}):system-tool/(?P<ResourceId>.+?)$"), 'names': ['system-tool'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*)::foundation-model/(?P<ResourceId>.+?)$"), 'names': ['foundation-model'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):flow/(?P<FlowId>.+?)/alias/(?P<FlowAliasId>.+?)/execution/(?P<FlowExecutionId>.+?)$"), 'names': ['flow-execution'], 'sdk': 'bedrock-agent', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):flow/(?P<FlowId>.+?)/alias/(?P<FlowAliasId>.+?)$"), 'names': ['flow-alias'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::FlowAlias', 'tag': 'AWS::Bedrock::FlowAlias'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-alias/(?P<AgentId>.+?)/(?P<AgentAliasId>.+?)$"), 'names': ['agent-alias'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::AgentAlias', 'tag': 'AWS::Bedrock::AgentAlias'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):automated-reasoning-policy/(?P<AutomatedReasoningPolicyId>.+?):(?P<AutomatedReasoningPolicyVersion>.+?)$"), 'names': ['automated-reasoning-policy-version'], 'sdk': 'bedrock', 'cfn': 'AWS::Bedrock::AutomatedReasoningPolicyVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):marketplace/model-endpoint/all-access$"), 'names': ['bedrock-marketplace-model-endpoint'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):prompt/(?P<PromptId>.+?):(?P<PromptVersion>.+?)$"), 'names': ['prompt-version'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::PromptVersion', 'tag': 'AWS::Bedrock::PromptVersion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent/(?P<AgentId>.+?)$"), 'names': ['agent'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::Agent', 'tag': 'AWS::Bedrock::Agent'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):application-inference-profile/(?P<ResourceId>.+?)$"), 'names': ['application-inference-profile'], 'sdk': 'bedrock', 'cfn': 'AWS::Bedrock::ApplicationInferenceProfile', 'tag': 'AWS::Bedrock::ApplicationInferenceProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):async-invoke/(?P<ResourceId>.+?)$"), 'names': ['async-invoke'], 'sdk': 'bedrock-runtime', 'cfn': None, 'tag': 'AWS::Bedrock::AsyncInvoke'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):automated-reasoning-policy/(?P<AutomatedReasoningPolicyId>.+?)$"), 'names': ['automated-reasoning-policy'], 'sdk': 'bedrock', 'cfn': 'AWS::Bedrock::AutomatedReasoningPolicy', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):blueprint/(?P<BlueprintId>.+?)$"), 'names': ['blueprint'], 'sdk': 'bedrock', 'cfn': 'AWS::Bedrock::Blueprint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):custom-model/(?P<ResourceId>.+?)$"), 'names': ['custom-model'], 'sdk': 'bedrock', 'cfn': None, 'tag': 'AWS::Bedrock::CustomModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):custom-model-deployment/(?P<ResourceId>.+?)$"), 'names': ['custom-model-deployment'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-automation-invocation/(?P<JobId>.+?)$"), 'names': ['data-automation-invocation-job'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-automation-profile/(?P<ProfileId>.+?)$"), 'names': ['data-automation-profile'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-automation-project/(?P<ProjectId>.+?)$"), 'names': ['data-automation-project'], 'sdk': 'bedrock', 'cfn': 'AWS::Bedrock::DataAutomationProject', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):default-prompt-router/(?P<ResourceId>.+?)$"), 'names': ['default-prompt-router'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::IntelligentPromptRouter', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):evaluation-job/(?P<ResourceId>.+?)$"), 'names': ['evaluation-job'], 'sdk': 'bedrock', 'cfn': None, 'tag': 'AWS::Bedrock::EvaluationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):flow/(?P<FlowId>.+?)$"), 'names': ['flow'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::Flow', 'tag': 'AWS::Bedrock::Flow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):guardrail/(?P<GuardrailId>.+?)$"), 'names': ['guardrail'], 'sdk': 'bedrock', 'cfn': 'AWS::Bedrock::Guardrail', 'tag': 'AWS::Bedrock::Guardrail'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):guardrail-profile/(?P<ResourceId>.+?)$"), 'names': ['guardrail-profile'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):imported-model/(?P<ResourceId>.+?)$"), 'names': ['imported-model'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):inference-profile/(?P<ResourceId>.+?)$"), 'names': ['inference-profile'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):knowledge-base/(?P<KnowledgeBaseId>.+?)$"), 'names': ['knowledge-base'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::KnowledgeBase', 'tag': 'AWS::Bedrock::KnowledgeBase'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-copy-job/(?P<ResourceId>.+?)$"), 'names': ['model-copy-job'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-customization-job/(?P<ResourceId>.+?)$"), 'names': ['model-customization-job'], 'sdk': 'bedrock', 'cfn': None, 'tag': 'AWS::Bedrock::ModelCustomizationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-evaluation-job/(?P<ResourceId>.+?)$"), 'names': ['model-evaluation-job'], 'sdk': 'bedrock', 'cfn': None, 'tag': 'AWS::Bedrock::ModelEvaluationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-import-job/(?P<ResourceId>.+?)$"), 'names': ['model-import-job'], 'sdk': 'bedrock', 'cfn': None, 'tag': 'AWS::Bedrock::ModelImportJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-invocation-job/(?P<JobIdentifier>.+?)$"), 'names': ['model-invocation-job'], 'sdk': 'bedrock', 'cfn': None, 'tag': 'AWS::Bedrock::ModelInvocationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):prompt/(?P<PromptId>.+?)$"), 'names': ['prompt'], 'sdk': 'bedrock-agent', 'cfn': 'AWS::Bedrock::Prompt', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):prompt-router/(?P<ResourceId>.+?)$"), 'names': ['prompt-router'], 'sdk': 'bedrock-agent', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):provisioned-model/(?P<ResourceId>.+?)$"), 'names': ['provisioned-model'], 'sdk': 'bedrock', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock:(?P<Region>[\w-]*):(?P<Account>\d{12}):session/(?P<SessionId>.+?)$"), 'names': ['session'], 'sdk': 'bedrock-agent-runtime', 'cfn': None, 'tag': None},
    ],
    'bedrock-agentcore': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):aws:browser/(?P<BrowserId>.+?)$"), 'names': ['browser'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):aws:code-interpreter/(?P<CodeInterpreterId>.+?)$"), 'names': ['code-interpreter'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):policy-engine/(?P<PolicyEngineId>.+?)/policy/(?P<PolicyId>.+?)$"), 'names': ['policy'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):policy-engine/(?P<PolicyEngineId>.+?)/policy-generation/(?P<PolicyGenerationId>.+?)$"), 'names': ['policy-generation'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):runtime/(?P<RuntimeId>.+?)/runtime-endpoint/(?P<Name>.+?)$"), 'names': ['runtime-endpoint'], 'sdk': 'bedrock-agentcore-control', 'cfn': 'AWS::BedrockAgentCore::RuntimeEndpoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):token-vault/(?P<TokenVaultId>.+?)/apikeycredentialprovider/(?P<Name>.+?)$"), 'names': ['api-key-credential-provider', 'apikeycredentialprovider'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):token-vault/(?P<TokenVaultId>.+?)/oauth2credentialprovider/(?P<Name>.+?)$"), 'names': ['oauth2-credential-provider', 'oauth2credentialprovider'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):workload-identity-directory/(?P<DirectoryId>.+?)/workload-identity/(?P<WorkloadIdentityName>.+?)$"), 'names': ['workload-identity'], 'sdk': 'bedrock-agentcore-control', 'cfn': 'AWS::BedrockAgentCore::WorkloadIdentity', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):browser-custom/(?P<BrowserId>.+?)$"), 'names': ['browser-custom'], 'sdk': 'bedrock-agentcore-control', 'cfn': 'AWS::BedrockAgentCore::BrowserCustom', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):code-interpreter-custom/(?P<CodeInterpreterId>.+?)$"), 'names': ['code-interpreter-custom'], 'sdk': 'bedrock-agentcore-control', 'cfn': 'AWS::BedrockAgentCore::CodeInterpreterCustom', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):evaluator/(?P<EvaluatorId>.+?)$"), 'names': ['evaluator'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<GatewayId>.+?)$"), 'names': ['gateway'], 'sdk': 'bedrock-agentcore-control', 'cfn': 'AWS::BedrockAgentCore::Gateway', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):memory/(?P<MemoryId>.+?)$"), 'names': ['memory'], 'sdk': 'bedrock-agentcore-control', 'cfn': 'AWS::BedrockAgentCore::Memory', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):online-evaluation-config/(?P<OnlineEvaluationConfigId>.+?)$"), 'names': ['online-evaluation-config'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):policy-engine/(?P<PolicyEngineId>.+?)$"), 'names': ['policy-engine'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):runtime/(?P<RuntimeId>.+?)$"), 'names': ['runtime'], 'sdk': 'bedrock-agentcore-control', 'cfn': 'AWS::BedrockAgentCore::Runtime', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):token-vault/(?P<TokenVaultId>.+?)$"), 'names': ['token-vault'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-agentcore:(?P<Region>[\w-]*):(?P<Account>\d{12}):workload-identity-directory/(?P<DirectoryId>.+?)$"), 'names': ['workload-identity-directory'], 'sdk': 'bedrock-agentcore-control', 'cfn': None, 'tag': None},
    ],
    'bedrock-mantle': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bedrock-mantle:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ResourceId>.+?)$"), 'names': ['project'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'billing': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):billing::(?P<Account>\d{12}):billingview/(?P<ResourceId>.+?)$"), 'names': ['billing-view', 'billingview'], 'sdk': 'billing', 'cfn': 'AWS::Billing::BillingView', 'tag': 'AWS::Billing::BillingView'},
    ],
    'billingconductor': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):billingconductor::(?P<Account>\d{12}):billinggroup/(?P<BillingGroupId>.+?)$"), 'names': ['billing-group', 'billinggroup'], 'sdk': 'billingconductor', 'cfn': 'AWS::BillingConductor::BillingGroup', 'tag': 'AWS::BillingConductor::BillingGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):billingconductor::(?P<Account>\d{12}):customlineitem/(?P<CustomLineItemId>.+?)$"), 'names': ['custom-line-item', 'customlineitem'], 'sdk': 'billingconductor', 'cfn': 'AWS::BillingConductor::CustomLineItem', 'tag': 'AWS::BillingConductor::CustomLineItem'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):billingconductor::(?P<Account>\d{12}):pricingplan/(?P<PricingPlanId>.+?)$"), 'names': ['pricing-plan', 'pricingplan'], 'sdk': 'billingconductor', 'cfn': 'AWS::BillingConductor::PricingPlan', 'tag': 'AWS::BillingConductor::PricingPlan'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):billingconductor::(?P<Account>\d{12}):pricingrule/(?P<PricingRuleId>.+?)$"), 'names': ['pricing-rule', 'pricingrule'], 'sdk': 'billingconductor', 'cfn': 'AWS::BillingConductor::PricingRule', 'tag': 'AWS::BillingConductor::PricingRule'},
    ],
    'braket': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):braket:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobName>.+?)$"), 'names': ['job'], 'sdk': 'braket', 'cfn': None, 'tag': 'AWS::Braket::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):braket:(?P<Region>[\w-]*):(?P<Account>\d{12}):quantum-task/(?P<RandomId>.+?)$"), 'names': ['quantum-task'], 'sdk': 'braket', 'cfn': None, 'tag': 'AWS::Braket::QuantumTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):braket:(?P<Region>[\w-]*):(?P<Account>\d{12}):spending-limit/(?P<RandomId>.+?)$"), 'names': ['spending-limit'], 'sdk': 'braket', 'cfn': None, 'tag': None},
    ],
    'budgets': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):budgets::(?P<Account>\d{12}):budget/(?P<BudgetName>.+?)/action/(?P<ActionId>.+?)$"), 'names': ['budget-action', 'budgetAction'], 'sdk': 'budgets', 'cfn': 'AWS::Budgets::BudgetsAction', 'tag': 'AWS::Budgets::BudgetsAction'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):budgets::(?P<Account>\d{12}):budget/(?P<BudgetName>.+?)$"), 'names': ['budget'], 'sdk': 'budgets', 'cfn': 'AWS::Budgets::Budget', 'tag': 'AWS::Budgets::Budget'},
    ],
    'bugbust': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):bugbust:(?P<Region>[\w-]*):(?P<Account>\d{12}):events/(?P<EventId>.+?)$"), 'names': ['event', 'Event'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'cases': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cases:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)/case/(?P<CaseId>.+?)/related-item/(?P<RelatedItemId>.+?)$"), 'names': ['related-item', 'RelatedItem'], 'sdk': 'connectcases', 'cfn': None, 'tag': 'AWS::Cases::RelatedItem'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cases:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)/case/(?P<CaseId>.+?)$"), 'names': ['case', 'Case'], 'sdk': 'connectcases', 'cfn': None, 'tag': 'AWS::Cases::Case'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cases:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)/case-rule/(?P<CaseRuleId>.+?)$"), 'names': ['case-rule', 'CaseRule'], 'sdk': 'connectcases', 'cfn': 'AWS::Cases::CaseRule', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cases:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)/field/(?P<FieldId>.+?)$"), 'names': ['field', 'Field'], 'sdk': 'connectcases', 'cfn': 'AWS::Cases::Field', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cases:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)/layout/(?P<LayoutId>.+?)$"), 'names': ['layout', 'Layout'], 'sdk': 'connectcases', 'cfn': 'AWS::Cases::Layout', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cases:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)/template/(?P<TemplateId>.+?)$"), 'names': ['template', 'Template'], 'sdk': 'connectcases', 'cfn': 'AWS::Cases::Template', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cases:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)$"), 'names': ['domain', 'Domain'], 'sdk': 'connectcases', 'cfn': 'AWS::Cases::Domain', 'tag': 'AWS::Cases::Domain'},
    ],
    'cassandra': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cassandra:(?P<Region>[\w-]*):(?P<Account>\d{12}):/keyspace/(?P<KeyspaceName>.+?)/table/(?P<TableName>.+?)/stream/(?P<StreamLabel>.+?)$"), 'names': ['stream'], 'sdk': 'keyspaces', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cassandra:(?P<Region>[\w-]*):(?P<Account>\d{12}):/keyspace/(?P<KeyspaceName>.+?)/table/(?P<TableName>.+?)$"), 'names': ['table'], 'sdk': 'keyspaces', 'cfn': 'AWS::Cassandra::Table', 'tag': 'AWS::Cassandra::Table'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cassandra:(?P<Region>[\w-]*):(?P<Account>\d{12}):/keyspace/(?P<KeyspaceName>.+?)/$"), 'names': ['keyspace'], 'sdk': 'keyspaces', 'cfn': 'AWS::Cassandra::Keyspace', 'tag': 'AWS::Cassandra::Keyspace'},
    ],
    'catalog': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):catalog:(?P<Region>[\w-]*):(?P<Account>\d{12}):portfolio/(?P<PortfolioId>.+?)$"), 'names': ['portfolio', 'Portfolio'], 'sdk': 'servicecatalog', 'cfn': 'AWS::ServiceCatalog::Portfolio', 'tag': 'AWS::ServiceCatalog::Portfolio'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):catalog:(?P<Region>[\w-]*):(?P<Account>\d{12}):product/(?P<ProductId>.+?)$"), 'names': ['product', 'Product'], 'sdk': 'servicecatalog', 'cfn': 'AWS::ServiceCatalog::CloudFormationProduct', 'tag': 'AWS::ServiceCatalog::CloudFormationProduct'},
    ],
    'ce': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ce::(?P<Account>\d{12}):anomalymonitor/(?P<Identifier>.+?)$"), 'names': ['anomaly-monitor', 'anomalymonitor'], 'sdk': 'ce', 'cfn': 'AWS::CE::AnomalyMonitor', 'tag': 'AWS::CE::AnomalyMonitor'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ce::(?P<Account>\d{12}):anomalysubscription/(?P<Identifier>.+?)$"), 'names': ['anomaly-subscription', 'anomalysubscription'], 'sdk': 'ce', 'cfn': 'AWS::CE::AnomalySubscription', 'tag': 'AWS::CE::AnomalySubscription'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ce::(?P<Account>\d{12}):costcategory/(?P<Identifier>.+?)$"), 'names': ['cost-category', 'costcategory'], 'sdk': 'ce', 'cfn': 'AWS::CE::CostCategory', 'tag': 'AWS::CE::CostCategory'},
    ],
    'chatbot': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chatbot::(?P<Account>\d{12}):chat-configuration/(?P<ConfigurationType>.+?)/(?P<ChatbotConfigurationName>.+?)$"), 'names': ['chatbot-configuration', 'ChatbotConfiguration'], 'sdk': 'chatbot', 'cfn': None, 'tag': 'AWS::Chatbot::ChatbotConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chatbot::(?P<Account>\d{12}):custom-action/(?P<ActionName>.+?)$"), 'names': ['custom-action'], 'sdk': 'chatbot', 'cfn': 'AWS::Chatbot::CustomAction', 'tag': 'AWS::Chatbot::CustomAction'},
    ],
    'chime': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime::(?P<AccountId>.+?):meeting/(?P<MeetingId>.+?)$"), 'names': ['meeting'], 'sdk': 'chime-sdk-meetings', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):app-instance/(?P<AppInstanceId>.+?)/bot/(?P<AppInstanceBotId>.+?)$"), 'names': ['app-instance-bot'], 'sdk': 'chime-sdk-identity', 'cfn': None, 'tag': 'AWS::Chime::AppInstanceBot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):app-instance/(?P<AppInstanceId>.+?)/channel/(?P<ChannelId>.+?)$"), 'names': ['channel'], 'sdk': 'chime-sdk-messaging', 'cfn': None, 'tag': 'AWS::Chime::Channel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):app-instance/(?P<AppInstanceId>.+?)/channel-flow/(?P<ChannelFlowId>.+?)$"), 'names': ['channel-flow'], 'sdk': 'chime-sdk-messaging', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):app-instance/(?P<AppInstanceId>.+?)/user/(?P<AppInstanceUserId>.+?)$"), 'names': ['app-instance-user'], 'sdk': 'chime-sdk-identity', 'cfn': None, 'tag': 'AWS::Chime::AppInstanceUser'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):app-instance/(?P<AppInstanceId>.+?)$"), 'names': ['app-instance'], 'sdk': 'chime-sdk-identity', 'cfn': None, 'tag': 'AWS::Chime::AppInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):media-insights-pipeline-configuration/(?P<ConfigurationName>.+?)$"), 'names': ['media-insights-pipeline-configuration'], 'sdk': 'chime-sdk-media-pipelines', 'cfn': None, 'tag': 'AWS::Chime::MediaInsightsPipelineConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):media-pipeline/(?P<MediaPipelineId>.+?)$"), 'names': ['media-pipeline'], 'sdk': 'chime-sdk-media-pipelines', 'cfn': None, 'tag': 'AWS::Chime::MediaPipeline'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):media-pipeline-kinesis-video-stream-pool/(?P<PoolName>.+?)$"), 'names': ['media-pipeline-kinesis-video-stream-pool'], 'sdk': 'chime-sdk-media-pipelines', 'cfn': None, 'tag': 'AWS::Chime::MediaPipelineKinesisVideoStreamPool'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):sma/(?P<SipMediaApplicationId>.+?)$"), 'names': ['sip-media-application'], 'sdk': 'chime-sdk-voice', 'cfn': None, 'tag': 'AWS::Chime::SipMediaApplication'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):vc/(?P<VoiceConnectorId>.+?)$"), 'names': ['voice-connector'], 'sdk': 'chime-sdk-voice', 'cfn': None, 'tag': 'AWS::Chime::VoiceConnector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):voice-profile/(?P<VoiceProfileId>.+?)$"), 'names': ['voice-profile'], 'sdk': 'chime-sdk-voice', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):chime:(?P<Region>[\w-]*):(?P<AccountId>.+?):voice-profile-domain/(?P<VoiceProfileDomainId>.+?)$"), 'names': ['voice-profile-domain'], 'sdk': 'chime-sdk-voice', 'cfn': None, 'tag': 'AWS::Chime::VoiceProfileDomain'},
    ],
    'cleanrooms': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/analysistemplate/(?P<AnalysisTemplateId>.+?)$"), 'names': ['analysis-template', 'analysistemplate'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::AnalysisTemplate', 'tag': 'AWS::CleanRooms::AnalysisTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/configuredaudiencemodelassociation/(?P<ConfiguredAudienceModelAssociationId>.+?)$"), 'names': ['configured-audience-model-association', 'configuredaudiencemodelassociation'], 'sdk': 'cleanrooms', 'cfn': None, 'tag': 'AWS::CleanRooms::ConfiguredAudienceModelAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/configuredtableassociation/(?P<ConfiguredTableAssociationId>.+?)$"), 'names': ['configured-table-association', 'configuredtableassociation'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::ConfiguredTableAssociation', 'tag': 'AWS::CleanRooms::ConfiguredTableAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/idmappingtable/(?P<IdMappingTableId>.+?)$"), 'names': ['id-mapping-table', 'idmappingtable'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::IdMappingTable', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/idnamespaceassociation/(?P<IdNamespaceAssociationId>.+?)$"), 'names': ['id-namespace-association', 'idnamespaceassociation'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::IdNamespaceAssociation', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/privacybudgettemplate/(?P<PrivacyBudgetTemplateId>.+?)$"), 'names': ['privacy-budget-template', 'privacybudgettemplate'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::PrivacyBudgetTemplate', 'tag': 'AWS::CleanRooms::PrivacyBudgetTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):collaboration/(?P<CollaborationId>.+?)$"), 'names': ['collaboration'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::Collaboration', 'tag': 'AWS::CleanRooms::Collaboration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuredtable/(?P<ConfiguredTableId>.+?)$"), 'names': ['configured-table', 'configuredtable'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::ConfiguredTable', 'tag': 'AWS::CleanRooms::ConfiguredTable'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)$"), 'names': ['membership'], 'sdk': 'cleanrooms', 'cfn': 'AWS::CleanRooms::Membership', 'tag': 'AWS::CleanRooms::Membership'},
    ],
    'cleanrooms-ml': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/configured-model-algorithm-association/(?P<ResourceId>.+?)$"), 'names': ['configured-model-algorithm-association', 'ConfiguredModelAlgorithmAssociation'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/ml-input-channel/(?P<ResourceId>.+?)$"), 'names': ['ml-input-channel', 'MLInputChannel'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/trained-model/(?P<ResourceId>.+?)$"), 'names': ['trained-model', 'TrainedModel'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)/trained-model-inference-job/(?P<ResourceId>.+?)$"), 'names': ['trained-model-inference-job', 'TrainedModelInferenceJob'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):audience-generation-job/(?P<ResourceId>.+?)$"), 'names': ['audience-generation-job', 'audiencegenerationjob'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': 'AWS::CleanRoomsML::AudienceGenerationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):audience-model/(?P<ResourceId>.+?)$"), 'names': ['audience-model', 'audiencemodel'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': 'AWS::CleanRoomsML::AudienceModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):configured-audience-model/(?P<ResourceId>.+?)$"), 'names': ['configured-audience-model', 'configuredaudiencemodel'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': 'AWS::CleanRoomsML::ConfiguredAudienceModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):configured-model-algorithm/(?P<ResourceId>.+?)$"), 'names': ['configured-model-algorithm', 'ConfiguredModelAlgorithm'], 'sdk': 'cleanroomsml', 'cfn': None, 'tag': 'AWS::CleanRoomsML::ConfiguredModelAlgorithm'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cleanrooms-ml:(?P<Region>[\w-]*):(?P<Account>\d{12}):training-dataset/(?P<ResourceId>.+?)$"), 'names': ['training-dataset', 'trainingdataset'], 'sdk': 'cleanroomsml', 'cfn': 'AWS::CleanRoomsML::TrainingDataset', 'tag': 'AWS::CleanRoomsML::TrainingDataset'},
    ],
    'cloud9': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloud9:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment:(?P<ResourceId>.+?)$"), 'names': ['environment'], 'sdk': 'cloud9', 'cfn': 'AWS::Cloud9::EnvironmentEC2', 'tag': 'AWS::Cloud9::Environment'},
    ],
    'clouddirectory': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):clouddirectory:(?P<Region>[\w-]*):(?P<Account>\d{12}):directory/(?P<DirectoryId>.+?)/schema/(?P<SchemaName>.+?)/(?P<Version>.+?)$"), 'names': ['applied-schema', 'appliedSchema'], 'sdk': 'clouddirectory', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):clouddirectory:(?P<Region>[\w-]*):(?P<Account>\d{12}):schema/published/(?P<SchemaName>.+?)/(?P<Version>.+?)$"), 'names': ['published-schema', 'publishedSchema'], 'sdk': 'clouddirectory', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):clouddirectory:(?P<Region>[\w-]*):(?P<Account>\d{12}):schema/development/(?P<SchemaName>.+?)$"), 'names': ['development-schema', 'developmentSchema'], 'sdk': 'clouddirectory', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):clouddirectory:(?P<Region>[\w-]*):(?P<Account>\d{12}):directory/(?P<DirectoryId>.+?)$"), 'names': ['directory'], 'sdk': 'clouddirectory', 'cfn': None, 'tag': 'AWS::CloudDirectory::Directory'},
    ],
    'cloudformation': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):changeSet/(?P<ChangeSetName>.+?)/(?P<Id>.+?)$"), 'names': ['changeset'], 'sdk': 'cloudformation', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):stack/(?P<StackName>.+?)/(?P<Id>.+?)$"), 'names': ['stack'], 'sdk': 'cloudformation', 'cfn': 'AWS::CloudFormation::Stack', 'tag': 'AWS::CloudFormation::Stack'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):stackset/(?P<StackSetName>.+?):(?P<Id>.+?)$"), 'names': ['stackset'], 'sdk': 'cloudformation', 'cfn': 'AWS::CloudFormation::StackSet', 'tag': 'AWS::CloudFormation::StackSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):type/hook/(?P<Type>.+?)$"), 'names': ['type-hook', 'typeHook'], 'sdk': 'cloudformation', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):type/resource/(?P<Type>.+?)$"), 'names': ['type'], 'sdk': 'cloudformation', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):generatedTemplate/(?P<Id>.+?)$"), 'names': ['generated-template', 'generatedtemplate'], 'sdk': 'cloudformation', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):resourceScan/(?P<Id>.+?)$"), 'names': ['resource-scan', 'resourcescan'], 'sdk': 'cloudformation', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudformation:(?P<Region>[\w-]*):(?P<Account>\d{12}):stackset-target/(?P<StackSetTarget>.+?)$"), 'names': ['stackset-target'], 'sdk': 'cloudformation', 'cfn': None, 'tag': None},
    ],
    'cloudfront': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):anycast-ip-list/(?P<Id>.+?)$"), 'names': ['anycast-ip-list'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::AnycastIpList', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):cache-policy/(?P<Id>.+?)$"), 'names': ['cache-policy'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::CachePolicy', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):connection-function/(?P<Id>.+?)$"), 'names': ['connection-function'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::ConnectionFunction', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):connection-group/(?P<Id>.+?)$"), 'names': ['connection-group'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::ConnectionGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):continuous-deployment-policy/(?P<Id>.+?)$"), 'names': ['continuous-deployment-policy'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::ContinuousDeploymentPolicy', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):distribution/(?P<DistributionId>.+?)$"), 'names': ['distribution'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::Distribution', 'tag': 'AWS::CloudFront::Distribution'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):distribution-tenant/(?P<Id>.+?)$"), 'names': ['distribution-tenant'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::DistributionTenant', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):field-level-encryption-config/(?P<Id>.+?)$"), 'names': ['field-level-encryption-config'], 'sdk': 'cloudfront', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):field-level-encryption-profile/(?P<Id>.+?)$"), 'names': ['field-level-encryption-profile'], 'sdk': 'cloudfront', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):function/(?P<Name>.+?)$"), 'names': ['function'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::Function', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):key-value-store/(?P<Name>.+?)$"), 'names': ['key-value-store'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::KeyValueStore', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):key-value-store/(?P<ResourceId>.+?)$"), 'names': ['key-value-store'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::KeyValueStore', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):origin-access-control/(?P<Id>.+?)$"), 'names': ['origin-access-control'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::OriginAccessControl', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):origin-access-identity/(?P<Id>.+?)$"), 'names': ['origin-access-identity'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::CloudFrontOriginAccessIdentity', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):origin-request-policy/(?P<Id>.+?)$"), 'names': ['origin-request-policy'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::OriginRequestPolicy', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):realtime-log-config/(?P<Name>.+?)$"), 'names': ['realtime-log-config'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::RealtimeLogConfig', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):response-headers-policy/(?P<Id>.+?)$"), 'names': ['response-headers-policy'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::ResponseHeadersPolicy', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):streaming-distribution/(?P<DistributionId>.+?)$"), 'names': ['streaming-distribution'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::StreamingDistribution', 'tag': 'AWS::CloudFront::StreamingDistribution'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):trust-store/(?P<Id>.+?)$"), 'names': ['trust-store'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::TrustStore', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudfront::(?P<Account>\d{12}):vpcorigin/(?P<Id>.+?)$"), 'names': ['vpc-origin', 'vpcorigin'], 'sdk': 'cloudfront', 'cfn': 'AWS::CloudFront::VpcOrigin', 'tag': 'AWS::CloudFront::VpcOrigin'},
    ],
    'cloudhsm': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudhsm:(?P<Region>[\w-]*):(?P<Account>\d{12}):backup/(?P<CloudHsmBackupInstanceName>.+?)$"), 'names': ['backup'], 'sdk': 'cloudhsmv2', 'cfn': None, 'tag': 'AWS::CloudHSM::Backup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudhsm:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<CloudHsmClusterInstanceName>.+?)$"), 'names': ['cluster'], 'sdk': 'cloudhsmv2', 'cfn': None, 'tag': 'AWS::CloudHSM::Cluster'},
    ],
    'cloudsearch': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudsearch:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainName>.+?)$"), 'names': ['domain'], 'sdk': 'cloudsearch', 'cfn': None, 'tag': 'AWS::CloudSearch::Domain'},
    ],
    'cloudshell': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudshell:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentId>.+?)$"), 'names': ['environment', 'Environment'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'cloudtrail': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudtrail:(?P<Region>[\w-]*):(?P<Account>\d{12}):channel/(?P<ChannelId>.+?)$"), 'names': ['channel'], 'sdk': 'cloudtrail', 'cfn': 'AWS::CloudTrail::Channel', 'tag': 'AWS::CloudTrail::Channel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudtrail:(?P<Region>[\w-]*):(?P<Account>\d{12}):dashboard/(?P<DashboardName>.+?)$"), 'names': ['dashboard'], 'sdk': 'cloudtrail', 'cfn': 'AWS::CloudTrail::Dashboard', 'tag': 'AWS::CloudTrail::Dashboard'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudtrail:(?P<Region>[\w-]*):(?P<Account>\d{12}):eventdatastore/(?P<EventDataStoreId>.+?)$"), 'names': ['event-datastore', 'eventdatastore'], 'sdk': 'cloudtrail', 'cfn': 'AWS::CloudTrail::EventDataStore', 'tag': 'AWS::CloudTrail::EventDataStore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudtrail:(?P<Region>[\w-]*):(?P<Account>\d{12}):trail/(?P<TrailName>.+?)$"), 'names': ['trail'], 'sdk': 'cloudtrail', 'cfn': 'AWS::CloudTrail::Trail', 'tag': 'AWS::CloudTrail::Trail'},
    ],
    'cloudwatch': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudwatch::(?P<Account>\d{12}):dashboard/(?P<DashboardName>.+?)$"), 'names': ['dashboard'], 'sdk': 'cloudwatch', 'cfn': 'AWS::CloudWatch::Dashboard', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudwatch:(?P<Region>[\w-]*):(?P<Account>\d{12}):alarm:(?P<AlarmName>.+?)$"), 'names': ['alarm'], 'sdk': 'cloudwatch', 'cfn': 'AWS::CloudWatch::Alarm', 'tag': 'AWS::CloudWatch::Alarm'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudwatch:(?P<Region>[\w-]*):(?P<Account>\d{12}):insight-rule/(?P<InsightRuleName>.+?)$"), 'names': ['insight-rule'], 'sdk': 'cloudwatch', 'cfn': 'AWS::CloudWatch::InsightRule', 'tag': 'AWS::CloudWatch::InsightRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudwatch:(?P<Region>[\w-]*):(?P<Account>\d{12}):metric-stream/(?P<MetricStreamName>.+?)$"), 'names': ['metric-stream'], 'sdk': 'cloudwatch', 'cfn': 'AWS::CloudWatch::MetricStream', 'tag': 'AWS::CloudWatch::MetricStream'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudwatch:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceName>.+?)-(?P<UniqueAttributesHex>.+?)$"), 'names': ['service'], 'sdk': 'cloudwatch', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cloudwatch:(?P<Region>[\w-]*):(?P<Account>\d{12}):slo/(?P<SloName>.+?)$"), 'names': ['slo'], 'sdk': 'cloudwatch', 'cfn': None, 'tag': 'AWS::CloudWatch::ServiceLevelObjective'},
    ],
    'codeartifact': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeartifact:(?P<Region>[\w-]*):(?P<Account>\d{12}):package/(?P<DomainName>.+?)/(?P<RepositoryName>.+?)/(?P<PackageFormat>.+?)/(?P<PackageNamespace>.+?)/(?P<PackageName>.+?)$"), 'names': ['package'], 'sdk': 'codeartifact', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeartifact:(?P<Region>[\w-]*):(?P<Account>\d{12}):repository/(?P<DomainName>.+?)/(?P<RepositoryName>.+?)$"), 'names': ['repository'], 'sdk': 'codeartifact', 'cfn': 'AWS::CodeArtifact::Repository', 'tag': 'AWS::CodeArtifact::Repository'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeartifact:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainName>.+?)$"), 'names': ['domain'], 'sdk': 'codeartifact', 'cfn': 'AWS::CodeArtifact::Domain', 'tag': 'AWS::CodeArtifact::Domain'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeartifact:(?P<Region>[\w-]*):(?P<Account>\d{12}):package-group/(?P<DomainName>.+?)(?P<EncodedPackageGroupPattern>.+?)$"), 'names': ['package-group'], 'sdk': 'codeartifact', 'cfn': 'AWS::CodeArtifact::PackageGroup', 'tag': 'AWS::CodeArtifact::PackageGroup'},
    ],
    'codebuild': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codebuild:(?P<Region>[\w-]*):(?P<Account>\d{12}):fleet/(?P<FleetName>.+?):(?P<FleetId>.+?)$"), 'names': ['fleet'], 'sdk': 'codebuild', 'cfn': 'AWS::CodeBuild::Fleet', 'tag': 'AWS::CodeBuild::Fleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codebuild:(?P<Region>[\w-]*):(?P<Account>\d{12}):report/(?P<ReportGroupName>.+?):(?P<ReportId>.+?)$"), 'names': ['report'], 'sdk': 'codebuild', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codebuild:(?P<Region>[\w-]*):(?P<Account>\d{12}):build/(?P<BuildId>.+?)$"), 'names': ['build'], 'sdk': 'codebuild', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codebuild:(?P<Region>[\w-]*):(?P<Account>\d{12}):build-batch/(?P<BuildBatchId>.+?)$"), 'names': ['build-batch'], 'sdk': 'codebuild', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codebuild:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)$"), 'names': ['project'], 'sdk': 'codebuild', 'cfn': 'AWS::CodeBuild::Project', 'tag': 'AWS::CodeBuild::Project'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codebuild:(?P<Region>[\w-]*):(?P<Account>\d{12}):report-group/(?P<ReportGroupName>.+?)$"), 'names': ['report-group'], 'sdk': 'codebuild', 'cfn': 'AWS::CodeBuild::ReportGroup', 'tag': 'AWS::CodeBuild::ReportGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codebuild:(?P<Region>[\w-]*):(?P<Account>\d{12}):sandbox/(?P<SandboxId>.+?)$"), 'names': ['sandbox'], 'sdk': 'codebuild', 'cfn': None, 'tag': None},
    ],
    'codecatalyst': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codecatalyst:::space/(?P<SpaceId>.+?)/project/(?P<ProjectId>.+?)$"), 'names': ['project'], 'sdk': 'codecatalyst', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codecatalyst:::space/(?P<SpaceId>.+?)$"), 'names': ['space'], 'sdk': 'codecatalyst', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codecatalyst:(?P<Region>[\w-]*):(?P<Account>\d{12}):/connections/(?P<ConnectionId>.+?)$"), 'names': ['connections'], 'sdk': 'codecatalyst', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codecatalyst:(?P<Region>[\w-]*):(?P<Account>\d{12}):/identity-center-applications/(?P<IdentityCenterApplicationId>.+?)$"), 'names': ['identity-center-applications'], 'sdk': 'codecatalyst', 'cfn': None, 'tag': None},
    ],
    'codecommit': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codecommit:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<RepositoryName>.+?)$"), 'names': ['repository'], 'sdk': 'codecommit', 'cfn': 'AWS::CodeCommit::Repository', 'tag': 'AWS::CodeCommit::Repository'},
    ],
    'codeconnections': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeconnections:(?P<Region>[\w-]*):(?P<Account>\d{12}):connection/(?P<ConnectionId>.+?)$"), 'names': ['connection', 'Connection'], 'sdk': 'codeconnections', 'cfn': 'AWS::CodeConnections::Connection', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeconnections:(?P<Region>[\w-]*):(?P<Account>\d{12}):host/(?P<HostId>.+?)$"), 'names': ['host', 'Host'], 'sdk': 'codeconnections', 'cfn': None, 'tag': 'AWS::CodeConnections::Host'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeconnections:(?P<Region>[\w-]*):(?P<Account>\d{12}):repository-link/(?P<RepositoryLinkId>.+?)$"), 'names': ['repository-link', 'RepositoryLink'], 'sdk': 'codeconnections', 'cfn': None, 'tag': 'AWS::CodeConnections::RepositoryLink'},
    ],
    'codedeploy': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codedeploy:(?P<Region>[\w-]*):(?P<Account>\d{12}):deploymentgroup:(?P<ApplicationName>.+?)/(?P<DeploymentGroupName>.+?)$"), 'names': ['deployment-group', 'deploymentgroup'], 'sdk': 'codedeploy', 'cfn': 'AWS::CodeDeploy::DeploymentGroup', 'tag': 'AWS::CodeDeploy::DeploymentGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codedeploy:(?P<Region>[\w-]*):(?P<Account>\d{12}):application:(?P<ApplicationName>.+?)$"), 'names': ['application'], 'sdk': 'codedeploy', 'cfn': 'AWS::CodeDeploy::Application', 'tag': 'AWS::CodeDeploy::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codedeploy:(?P<Region>[\w-]*):(?P<Account>\d{12}):deploymentconfig:(?P<DeploymentConfigurationName>.+?)$"), 'names': ['deployment-config', 'deploymentconfig'], 'sdk': 'codedeploy', 'cfn': 'AWS::CodeDeploy::DeploymentConfig', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codedeploy:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance:(?P<InstanceName>.+?)$"), 'names': ['instance'], 'sdk': 'codedeploy', 'cfn': None, 'tag': 'AWS::CodeDeploy::Instance'},
    ],
    'codeguru-profiler': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeguru-profiler:(?P<Region>[\w-]*):(?P<Account>\d{12}):profilingGroup/(?P<ProfilingGroupName>.+?)$"), 'names': ['profiling-group', 'ProfilingGroup'], 'sdk': 'codeguruprofiler', 'cfn': 'AWS::CodeGuruProfiler::ProfilingGroup', 'tag': 'AWS::CodeGuruProfiler::ProfilingGroup'},
    ],
    'codeguru-reviewer': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeguru-reviewer:(?P<Region>[\w-]*):(?P<Account>\d{12}):association:(?P<ResourceId>.+?):codereview:(?P<CodeReviewId>.+?)$"), 'names': ['code-review', 'codereview'], 'sdk': 'codeguru-reviewer', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeguru-reviewer:(?P<Region>[\w-]*):(?P<Account>\d{12}):association:(?P<ResourceId>.+?)$"), 'names': ['association'], 'sdk': 'codeguru-reviewer', 'cfn': 'AWS::CodeGuruReviewer::RepositoryAssociation', 'tag': 'AWS::CodeGuruReviewer::RepositoryAssociation'},
    ],
    'codeguru-security': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codeguru-security:(?P<Region>[\w-]*):(?P<Account>\d{12}):scans/(?P<ScanName>.+?)$"), 'names': ['scan-name', 'ScanName'], 'sdk': 'codeguru-security', 'cfn': None, 'tag': None},
    ],
    'codepipeline': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codepipeline:(?P<Region>[\w-]*):(?P<Account>\d{12}):actiontype:(?P<Owner>.+?)/(?P<Category>.+?)/(?P<Provider>.+?)/(?P<Version>.+?)$"), 'names': ['action-type', 'actiontype'], 'sdk': 'codepipeline', 'cfn': 'AWS::CodePipeline::CustomActionType', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codepipeline:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<PipelineName>.+?)/(?P<StageName>.+?)/(?P<ActionName>.+?)$"), 'names': ['action'], 'sdk': 'codepipeline', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codepipeline:(?P<Region>[\w-]*):(?P<Account>\d{12}):webhook:(?P<WebhookName>.+?)$"), 'names': ['webhook'], 'sdk': 'codepipeline', 'cfn': 'AWS::CodePipeline::Webhook', 'tag': 'AWS::CodePipeline::Webhook'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codepipeline:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<PipelineName>.+?)/(?P<StageName>.+?)$"), 'names': ['stage'], 'sdk': 'codepipeline', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codepipeline:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<PipelineName>.+?)$"), 'names': ['pipeline'], 'sdk': 'codepipeline', 'cfn': 'AWS::CodePipeline::Pipeline', 'tag': 'AWS::CodePipeline::Pipeline'},
    ],
    'codestar': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codestar:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectId>.+?)$"), 'names': ['project'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'codestar-connections': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codestar-connections:(?P<Region>[\w-]*):(?P<Account>\d{12}):connection/(?P<ConnectionId>.+?)$"), 'names': ['connection', 'Connection'], 'sdk': 'codestar-connections', 'cfn': 'AWS::CodeStarConnections::Connection', 'tag': 'AWS::CodeStarConnections::Connection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codestar-connections:(?P<Region>[\w-]*):(?P<Account>\d{12}):host/(?P<HostId>.+?)$"), 'names': ['host', 'Host'], 'sdk': 'codestar-connections', 'cfn': None, 'tag': 'AWS::CodeStarConnections::Host'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codestar-connections:(?P<Region>[\w-]*):(?P<Account>\d{12}):repository-link/(?P<RepositoryLinkId>.+?)$"), 'names': ['repository-link', 'RepositoryLink'], 'sdk': 'codestar-connections', 'cfn': 'AWS::CodeStarConnections::RepositoryLink', 'tag': 'AWS::CodeStarConnections::RepositoryLink'},
    ],
    'codestar-notifications': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codestar-notifications:(?P<Region>[\w-]*):(?P<Account>\d{12}):notificationrule/(?P<NotificationRuleId>.+?)$"), 'names': ['notification-rule', 'notificationrule'], 'sdk': 'codestar-notifications', 'cfn': 'AWS::CodeStarNotifications::NotificationRule', 'tag': 'AWS::CodeStarNotifications::NotificationRule'},
    ],
    'codewhisperer': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codewhisperer:(?P<Region>[\w-]*):(?P<Account>\d{12}):customization/(?P<Identifier>.+?)$"), 'names': ['customization'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):codewhisperer:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<Identifier>.+?)$"), 'names': ['profile'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'cognito-identity': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cognito-identity:(?P<Region>[\w-]*):(?P<Account>\d{12}):identitypool/(?P<IdentityPoolId>.+?)$"), 'names': ['identity-pool', 'identitypool'], 'sdk': 'cognito-identity', 'cfn': None, 'tag': None},
    ],
    'cognito-idp': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cognito-idp:(?P<Region>[\w-]*):(?P<Account>\d{12}):userpool/(?P<UserPoolId>.+?)$"), 'names': ['user-pool', 'userpool'], 'sdk': 'cognito-idp', 'cfn': 'AWS::Cognito::UserPool', 'tag': 'AWS::Cognito::UserPool'},
    ],
    'cognito-sync': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cognito-sync:(?P<Region>[\w-]*):(?P<Account>\d{12}):identitypool/(?P<IdentityPoolId>.+?)/identity/(?P<IdentityId>.+?)/dataset/(?P<DatasetName>.+?)$"), 'names': ['dataset'], 'sdk': 'cognito-sync', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cognito-sync:(?P<Region>[\w-]*):(?P<Account>\d{12}):identitypool/(?P<IdentityPoolId>.+?)/identity/(?P<IdentityId>.+?)$"), 'names': ['identity'], 'sdk': 'cognito-sync', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cognito-sync:(?P<Region>[\w-]*):(?P<Account>\d{12}):identitypool/(?P<IdentityPoolId>.+?)$"), 'names': ['identity-pool', 'identitypool'], 'sdk': 'cognito-sync', 'cfn': None, 'tag': None},
    ],
    'comprehend': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):flywheel/(?P<FlywheelName>.+?)/dataset/(?P<DatasetName>.+?)$"), 'names': ['flywheel-dataset'], 'sdk': 'comprehend', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):document-classification-job/(?P<JobId>.+?)$"), 'names': ['document-classification-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::DocumentClassificationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):document-classifier/(?P<DocumentClassifierName>.+?)$"), 'names': ['document-classifier'], 'sdk': 'comprehend', 'cfn': 'AWS::Comprehend::DocumentClassifier', 'tag': 'AWS::Comprehend::DocumentClassifier'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):document-classifier-endpoint/(?P<DocumentClassifierEndpointName>.+?)$"), 'names': ['document-classifier-endpoint'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::DocumentClassifierEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):dominant-language-detection-job/(?P<JobId>.+?)$"), 'names': ['dominant-language-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::DominantLanguageDetectionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):entities-detection-job/(?P<JobId>.+?)$"), 'names': ['entities-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::EntitiesDetectionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):entity-recognizer/(?P<EntityRecognizerName>.+?)$"), 'names': ['entity-recognizer'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::EntityRecognizer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):entity-recognizer-endpoint/(?P<EntityRecognizerEndpointName>.+?)$"), 'names': ['entity-recognizer-endpoint'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::EntityRecognizerEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):events-detection-job/(?P<JobId>.+?)$"), 'names': ['events-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::EventsDetectionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):flywheel/(?P<FlywheelName>.+?)$"), 'names': ['flywheel'], 'sdk': 'comprehend', 'cfn': 'AWS::Comprehend::Flywheel', 'tag': 'AWS::Comprehend::Flywheel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):key-phrases-detection-job/(?P<JobId>.+?)$"), 'names': ['key-phrases-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::KeyPhrasesDetectionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):pii-entities-detection-job/(?P<JobId>.+?)$"), 'names': ['pii-entities-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::PIIEntitiesDetectionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):sentiment-detection-job/(?P<JobId>.+?)$"), 'names': ['sentiment-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::SentimentDetectionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):targeted-sentiment-detection-job/(?P<JobId>.+?)$"), 'names': ['targeted-sentiment-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::TargetedSentimentDetectionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):comprehend:(?P<Region>[\w-]*):(?P<Account>\d{12}):topics-detection-job/(?P<JobId>.+?)$"), 'names': ['topics-detection-job'], 'sdk': 'comprehend', 'cfn': None, 'tag': 'AWS::Comprehend::TopicsDetectionJob'},
    ],
    'compute-optimizer': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):compute-optimizer::(?P<Account>\d{12}):automation-rule/(?P<RuleId>.+?)$"), 'names': ['automation-rule', 'AutomationRule'], 'sdk': 'compute-optimizer', 'cfn': None, 'tag': None},
    ],
    'config': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):aggregation-authorization/(?P<AggregatorAccount>.+?)/(?P<AggregatorRegion>.+?)$"), 'names': ['aggregation-authorization', 'AggregationAuthorization'], 'sdk': 'config', 'cfn': 'AWS::Config::AggregationAuthorization', 'tag': 'AWS::Config::AggregationAuthorization'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration-recorder/(?P<RecorderName>.+?)/(?P<RecorderId>.+?)$"), 'names': ['configuration-recorder', 'ConfigurationRecorder'], 'sdk': 'config', 'cfn': 'AWS::Config::ConfigurationRecorder', 'tag': 'AWS::Config::ConfigurationRecorder'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):conformance-pack/(?P<ConformancePackName>.+?)/(?P<ConformancePackId>.+?)$"), 'names': ['conformance-pack', 'ConformancePack'], 'sdk': 'config', 'cfn': 'AWS::Config::ConformancePack', 'tag': 'AWS::Config::ConformancePack'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):stored-query/(?P<StoredQueryName>.+?)/(?P<StoredQueryId>.+?)$"), 'names': ['stored-query', 'StoredQuery'], 'sdk': 'config', 'cfn': 'AWS::Config::StoredQuery', 'tag': 'AWS::Config::StoredQuery'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):config-aggregator/(?P<AggregatorId>.+?)$"), 'names': ['configuration-aggregator', 'ConfigurationAggregator'], 'sdk': 'config', 'cfn': 'AWS::Config::ConfigurationAggregator', 'tag': 'AWS::Config::ConfigurationAggregator'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):config-rule/(?P<ConfigRuleId>.+?)$"), 'names': ['config-rule', 'ConfigRule'], 'sdk': 'config', 'cfn': 'AWS::Config::ConfigRule', 'tag': 'AWS::Config::ConfigRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):organization-config-rule/(?P<OrganizationConfigRuleId>.+?)$"), 'names': ['organization-config-rule', 'OrganizationConfigRule'], 'sdk': 'config', 'cfn': 'AWS::Config::OrganizationConfigRule', 'tag': 'AWS::Config::OrganizationConfigRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):organization-conformance-pack/(?P<OrganizationConformancePackId>.+?)$"), 'names': ['organization-conformance-pack', 'OrganizationConformancePack'], 'sdk': 'config', 'cfn': 'AWS::Config::OrganizationConformancePack', 'tag': 'AWS::Config::OrganizationConformancePack'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):config:(?P<Region>[\w-]*):(?P<Account>\d{12}):remediation-configuration/(?P<RemediationConfigurationId>.+?)$"), 'names': ['remediation-configuration', 'RemediationConfiguration'], 'sdk': 'config', 'cfn': 'AWS::Config::RemediationConfiguration', 'tag': None},
    ],
    'connect': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):aws:view/(?P<ViewId>.+?):(?P<ViewQualifier>.+?)$"), 'names': ['qualified-aws-managed-view'], 'sdk': 'connect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):aws:view/(?P<ViewId>.+?)$"), 'names': ['aws-managed-view'], 'sdk': 'connect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/view/(?P<ViewId>.+?):(?P<ViewVersion>.+?)$"), 'names': ['customer-managed-view-version'], 'sdk': 'connect', 'cfn': 'AWS::Connect::ViewVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/view/(?P<ViewId>.+?):(?P<ViewQualifier>.+?)$"), 'names': ['qualified-customer-managed-view'], 'sdk': 'connect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/agent/(?P<UserId>.+?)$"), 'names': ['user'], 'sdk': 'connect', 'cfn': 'AWS::Connect::User', 'tag': 'AWS::Connect::User'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/agent-group/(?P<HierarchyGroupId>.+?)$"), 'names': ['hierarchy-group'], 'sdk': 'connect', 'cfn': 'AWS::Connect::UserHierarchyGroup', 'tag': 'AWS::Connect::UserHierarchyGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/agent-state/(?P<AgentStatusId>.+?)$"), 'names': ['agent-status'], 'sdk': 'connect', 'cfn': 'AWS::Connect::AgentStatus', 'tag': 'AWS::Connect::AgentStatus'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/authentication-profile/(?P<AuthenticationProfileId>.+?)$"), 'names': ['authentication-profile'], 'sdk': 'connect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/contact/(?P<ContactId>.+?)$"), 'names': ['contact'], 'sdk': 'connect', 'cfn': None, 'tag': 'AWS::Connect::Contact'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/contact-evaluation/(?P<EvaluationId>.+?)$"), 'names': ['contact-evaluation'], 'sdk': 'connect', 'cfn': None, 'tag': 'AWS::Connect::ContactEvaluation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/contact-flow/(?P<ContactFlowId>.+?)$"), 'names': ['contact-flow'], 'sdk': 'connect', 'cfn': 'AWS::Connect::ContactFlow', 'tag': 'AWS::Connect::ContactFlow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/data-table/(?P<DataTableId>.+?)$"), 'names': ['data-table'], 'sdk': 'connect', 'cfn': 'AWS::Connect::DataTable', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/email-address/(?P<EmailAddressId>.+?)$"), 'names': ['email-address'], 'sdk': 'connect', 'cfn': 'AWS::Connect::EmailAddress', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/evaluation-form/(?P<FormId>.+?)$"), 'names': ['evaluation-form'], 'sdk': 'connect', 'cfn': 'AWS::Connect::EvaluationForm', 'tag': 'AWS::Connect::EvaluationForm'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/file/(?P<FileId>.+?)$"), 'names': ['attached-file'], 'sdk': 'connect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/flow-module/(?P<ContactFlowModuleId>.+?)$"), 'names': ['contact-flow-module'], 'sdk': 'connect', 'cfn': 'AWS::Connect::ContactFlowModule', 'tag': 'AWS::Connect::ContactFlowModule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/integration-association/(?P<IntegrationAssociationId>.+?)$"), 'names': ['integration-association'], 'sdk': 'connect', 'cfn': 'AWS::Connect::IntegrationAssociation', 'tag': 'AWS::Connect::IntegrationAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/operating-hours/(?P<HoursOfOperationId>.+?)$"), 'names': ['hours-of-operation'], 'sdk': 'connect', 'cfn': 'AWS::Connect::HoursOfOperation', 'tag': 'AWS::Connect::HoursOfOperation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/phone-number/(?P<PhoneNumberId>.+?)$"), 'names': ['legacy-phone-number'], 'sdk': 'connect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/prompt/(?P<PromptId>.+?)$"), 'names': ['prompt'], 'sdk': 'connect', 'cfn': 'AWS::Connect::Prompt', 'tag': 'AWS::Connect::Prompt'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/queue/(?P<QueueId>.+?)$"), 'names': ['queue'], 'sdk': 'connect', 'cfn': 'AWS::Connect::Queue', 'tag': 'AWS::Connect::Queue'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/routing-profile/(?P<RoutingProfileId>.+?)$"), 'names': ['routing-profile'], 'sdk': 'connect', 'cfn': 'AWS::Connect::RoutingProfile', 'tag': 'AWS::Connect::RoutingProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/rule/(?P<RuleId>.+?)$"), 'names': ['rule'], 'sdk': 'connect', 'cfn': 'AWS::Connect::Rule', 'tag': 'AWS::Connect::Rule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/security-profile/(?P<SecurityProfileId>.+?)$"), 'names': ['security-profile'], 'sdk': 'connect', 'cfn': 'AWS::Connect::SecurityProfile', 'tag': 'AWS::Connect::SecurityProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/task-template/(?P<TaskTemplateId>.+?)$"), 'names': ['task-template'], 'sdk': 'connect', 'cfn': 'AWS::Connect::TaskTemplate', 'tag': 'AWS::Connect::TaskTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/transfer-destination/(?P<QuickConnectId>.+?)$"), 'names': ['quick-connect'], 'sdk': 'connect', 'cfn': 'AWS::Connect::QuickConnect', 'tag': 'AWS::Connect::QuickConnect'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/use-case/(?P<UseCaseId>.+?)$"), 'names': ['use-case'], 'sdk': 'connect', 'cfn': None, 'tag': 'AWS::Connect::UseCase'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/view/(?P<ViewId>.+?)$"), 'names': ['customer-managed-view'], 'sdk': 'connect', 'cfn': 'AWS::Connect::View', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/vocabulary/(?P<VocabularyId>.+?)$"), 'names': ['vocabulary'], 'sdk': 'connect', 'cfn': None, 'tag': 'AWS::Connect::Vocabulary'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/workspace/(?P<WorkspaceId>.+?)$"), 'names': ['workspace'], 'sdk': 'connect', 'cfn': 'AWS::Connect::Workspace', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)$"), 'names': ['instance'], 'sdk': 'connect', 'cfn': 'AWS::Connect::Instance', 'tag': 'AWS::Connect::Instance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):phone-number/(?P<PhoneNumberId>.+?)$"), 'names': ['phone-number'], 'sdk': 'connect', 'cfn': 'AWS::Connect::PhoneNumber', 'tag': 'AWS::Connect::PhoneNumber'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect:(?P<Region>[\w-]*):(?P<Account>\d{12}):traffic-distribution-group/(?P<TrafficDistributionGroupId>.+?)$"), 'names': ['traffic-distribution-group'], 'sdk': 'connect', 'cfn': 'AWS::Connect::TrafficDistributionGroup', 'tag': 'AWS::Connect::TrafficDistributionGroup'},
    ],
    'connect-campaigns': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):connect-campaigns:(?P<Region>[\w-]*):(?P<Account>\d{12}):campaign/(?P<CampaignId>.+?)$"), 'names': ['campaign'], 'sdk': 'connectcampaignsv2', 'cfn': 'AWS::ConnectCampaigns::Campaign', 'tag': 'AWS::ConnectCampaigns::Campaign'},
    ],
    'consoleapp': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):consoleapp::(?P<Account>\d{12}):device/(?P<DeviceId>.+?)/identity/(?P<IdentityId>.+?)$"), 'names': ['device-identity', 'DeviceIdentity'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'controlcatalog': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controlcatalog:::common-control/(?P<CommonControlId>.+?)$"), 'names': ['common-control'], 'sdk': 'controlcatalog', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controlcatalog:::control/(?P<ControlId>.+?)$"), 'names': ['control'], 'sdk': 'controlcatalog', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controlcatalog:::domain/(?P<DomainId>.+?)$"), 'names': ['domain'], 'sdk': 'controlcatalog', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controlcatalog:::objective/(?P<ObjectiveId>.+?)$"), 'names': ['objective'], 'sdk': 'controlcatalog', 'cfn': None, 'tag': None},
    ],
    'controltower': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controltower:(?P<Region>[\w-]*)::baseline/(?P<BaselineId>.+?)$"), 'names': ['baseline', 'Baseline'], 'sdk': 'controltower', 'cfn': 'AWS::ControlTower::EnabledBaseline', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controltower:(?P<Region>[\w-]*):(?P<Account>\d{12}):enabledbaseline/(?P<EnabledBaselineId>.+?)$"), 'names': ['enabled-baseline', 'EnabledBaseline'], 'sdk': 'controltower', 'cfn': 'AWS::ControlTower::EnabledBaseline', 'tag': 'AWS::ControlTower::EnabledBaseline'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controltower:(?P<Region>[\w-]*):(?P<Account>\d{12}):enabledcontrol/(?P<EnabledControlId>.+?)$"), 'names': ['enabled-control', 'EnabledControl'], 'sdk': 'controltower', 'cfn': 'AWS::ControlTower::EnabledControl', 'tag': 'AWS::ControlTower::EnabledControl'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):controltower:(?P<Region>[\w-]*):(?P<Account>\d{12}):landingzone/(?P<LandingZoneId>.+?)$"), 'names': ['landing-zone', 'LandingZone'], 'sdk': 'controltower', 'cfn': 'AWS::ControlTower::LandingZone', 'tag': 'AWS::ControlTower::LandingZone'},
    ],
    'cur': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):cur:(?P<Region>[\w-]*):(?P<Account>\d{12}):definition/(?P<ReportName>.+?)$"), 'names': ['cur'], 'sdk': 'cur', 'cfn': 'AWS::CUR::ReportDefinition', 'tag': None},
    ],
    'databrew': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):databrew:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<ResourceId>.+?)$"), 'names': ['dataset', 'Dataset'], 'sdk': 'databrew', 'cfn': 'AWS::DataBrew::Dataset', 'tag': 'AWS::DataBrew::Dataset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):databrew:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<ResourceId>.+?)$"), 'names': ['job', 'Job'], 'sdk': 'databrew', 'cfn': 'AWS::DataBrew::Job', 'tag': 'AWS::DataBrew::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):databrew:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ResourceId>.+?)$"), 'names': ['project', 'Project'], 'sdk': 'databrew', 'cfn': 'AWS::DataBrew::Project', 'tag': 'AWS::DataBrew::Project'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):databrew:(?P<Region>[\w-]*):(?P<Account>\d{12}):recipe/(?P<ResourceId>.+?)$"), 'names': ['recipe', 'Recipe'], 'sdk': 'databrew', 'cfn': 'AWS::DataBrew::Recipe', 'tag': 'AWS::DataBrew::Recipe'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):databrew:(?P<Region>[\w-]*):(?P<Account>\d{12}):ruleset/(?P<ResourceId>.+?)$"), 'names': ['ruleset', 'Ruleset'], 'sdk': 'databrew', 'cfn': 'AWS::DataBrew::Ruleset', 'tag': 'AWS::DataBrew::Ruleset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):databrew:(?P<Region>[\w-]*):(?P<Account>\d{12}):schedule/(?P<ResourceId>.+?)$"), 'names': ['schedule', 'Schedule'], 'sdk': 'databrew', 'cfn': 'AWS::DataBrew::Schedule', 'tag': 'AWS::DataBrew::Schedule'},
    ],
    'dataexchange': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*)::data-sets/(?P<DataSetId>.+?)/revisions/(?P<RevisionId>.+?)/assets/(?P<AssetId>.+?)$"), 'names': ['entitled-assets'], 'sdk': 'dataexchange', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*)::data-sets/(?P<DataSetId>.+?)/revisions/(?P<RevisionId>.+?)$"), 'names': ['entitled-revisions'], 'sdk': 'dataexchange', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*)::data-sets/(?P<DataSetId>.+?)$"), 'names': ['entitled-data-sets'], 'sdk': 'dataexchange', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-sets/(?P<DataSetId>.+?)/revisions/(?P<RevisionId>.+?)/assets/(?P<AssetId>.+?)$"), 'names': ['assets'], 'sdk': 'dataexchange', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-sets/(?P<DataSetId>.+?)/revisions/(?P<RevisionId>.+?)$"), 'names': ['revisions'], 'sdk': 'dataexchange', 'cfn': None, 'tag': 'AWS::DataExchange::Revision'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-grants/(?P<DataGrantId>.+?)$"), 'names': ['data-grants'], 'sdk': 'dataexchange', 'cfn': None, 'tag': 'AWS::DataExchange::DataGrants'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-sets/(?P<DataSetId>.+?)$"), 'names': ['data-sets'], 'sdk': 'dataexchange', 'cfn': None, 'tag': 'AWS::DataExchange::DataSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*):(?P<Account>\d{12}):event-actions/(?P<EventActionId>.+?)$"), 'names': ['event-actions'], 'sdk': 'dataexchange', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dataexchange:(?P<Region>[\w-]*):(?P<Account>\d{12}):jobs/(?P<JobId>.+?)$"), 'names': ['jobs'], 'sdk': 'dataexchange', 'cfn': None, 'tag': None},
    ],
    'datapipeline': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datapipeline:(?P<Region>[\w-]*):(?P<Account>\d{12}):pipeline/(?P<PipelineId>.+?)$"), 'names': ['pipeline'], 'sdk': 'datapipeline', 'cfn': 'AWS::DataPipeline::Pipeline', 'tag': 'AWS::DataPipeline::Pipeline'},
    ],
    'datasync': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datasync:(?P<Region>[\w-]*):(?P<AccountId>.+?):system/(?P<StorageSystemId>.+?)/job/(?P<DiscoveryJobId>.+?)$"), 'names': ['discovery-job', 'discoveryjob'], 'sdk': 'datasync', 'cfn': None, 'tag': 'AWS::DataSync::DiscoveryJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datasync:(?P<Region>[\w-]*):(?P<AccountId>.+?):task/(?P<TaskId>.+?)/execution/(?P<ExecutionId>.+?)$"), 'names': ['task-execution', 'taskexecution'], 'sdk': 'datasync', 'cfn': None, 'tag': 'AWS::DataSync::TaskExecution'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datasync:(?P<Region>[\w-]*):(?P<AccountId>.+?):agent/(?P<AgentId>.+?)$"), 'names': ['agent'], 'sdk': 'datasync', 'cfn': 'AWS::DataSync::Agent', 'tag': 'AWS::DataSync::Agent'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datasync:(?P<Region>[\w-]*):(?P<AccountId>.+?):location/(?P<LocationId>.+?)$"), 'names': ['location'], 'sdk': 'datasync', 'cfn': None, 'tag': 'AWS::DataSync::Location'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datasync:(?P<Region>[\w-]*):(?P<AccountId>.+?):system/(?P<StorageSystemId>.+?)$"), 'names': ['storage-system', 'storagesystem'], 'sdk': 'datasync', 'cfn': 'AWS::DataSync::StorageSystem', 'tag': 'AWS::DataSync::StorageSystem'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datasync:(?P<Region>[\w-]*):(?P<AccountId>.+?):task/(?P<TaskId>.+?)$"), 'names': ['task'], 'sdk': 'datasync', 'cfn': 'AWS::DataSync::Task', 'tag': 'AWS::DataSync::Task'},
    ],
    'datazone': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):datazone:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)$"), 'names': ['domain'], 'sdk': 'datazone', 'cfn': 'AWS::DataZone::Domain', 'tag': 'AWS::DataZone::Domain'},
    ],
    'dax': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dax:(?P<Region>[\w-]*):(?P<Account>\d{12}):cache/(?P<ClusterName>.+?)$"), 'names': ['application'], 'sdk': 'dax', 'cfn': None, 'tag': None},
    ],
    'deadline': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):farm/(?P<FarmId>.+?)/fleet/(?P<FleetId>.+?)/worker/(?P<WorkerId>.+?)$"), 'names': ['worker'], 'sdk': 'deadline', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):farm/(?P<FarmId>.+?)/queue/(?P<QueueId>.+?)/job/(?P<JobId>.+?)$"), 'names': ['job'], 'sdk': 'deadline', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):farm/(?P<FarmId>.+?)/budget/(?P<BudgetId>.+?)$"), 'names': ['budget'], 'sdk': 'deadline', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):farm/(?P<FarmId>.+?)/fleet/(?P<FleetId>.+?)$"), 'names': ['fleet'], 'sdk': 'deadline', 'cfn': 'AWS::Deadline::Fleet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):farm/(?P<FarmId>.+?)/queue/(?P<QueueId>.+?)$"), 'names': ['queue'], 'sdk': 'deadline', 'cfn': 'AWS::Deadline::Queue', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):farm/(?P<FarmId>.+?)$"), 'names': ['farm'], 'sdk': 'deadline', 'cfn': 'AWS::Deadline::Farm', 'tag': 'AWS::Deadline::Farm'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):license-endpoint/(?P<LicenseEndpointId>.+?)$"), 'names': ['license-endpoint'], 'sdk': 'deadline', 'cfn': 'AWS::Deadline::LicenseEndpoint', 'tag': 'AWS::Deadline::LicenseEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):deadline:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitor/(?P<MonitorId>.+?)$"), 'names': ['monitor'], 'sdk': 'deadline', 'cfn': 'AWS::Deadline::Monitor', 'tag': None},
    ],
    'detective': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):detective:(?P<Region>[\w-]*):(?P<Account>\d{12}):graph:(?P<ResourceId>.+?)$"), 'names': ['graph', 'Graph'], 'sdk': 'detective', 'cfn': 'AWS::Detective::Graph', 'tag': 'AWS::Detective::Graph'},
    ],
    'devicefarm': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*)::device:(?P<ResourceId>.+?)$"), 'names': ['device'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*)::deviceinstance:(?P<ResourceId>.+?)$"), 'names': ['device-instance', 'deviceinstance'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):artifact:(?P<ResourceId>.+?)$"), 'names': ['artifact'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):devicepool:(?P<ResourceId>.+?)$"), 'names': ['device-pool', 'devicepool'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):instanceprofile:(?P<ResourceId>.+?)$"), 'names': ['instance-profile', 'instanceprofile'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):job:(?P<ResourceId>.+?)$"), 'names': ['job'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):networkprofile:(?P<ResourceId>.+?)$"), 'names': ['network-profile', 'networkprofile'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):project:(?P<ResourceId>.+?)$"), 'names': ['project'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):run:(?P<ResourceId>.+?)$"), 'names': ['run'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):sample:(?P<ResourceId>.+?)$"), 'names': ['sample'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):session:(?P<ResourceId>.+?)$"), 'names': ['session'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):suite:(?P<ResourceId>.+?)$"), 'names': ['suite'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):test:(?P<ResourceId>.+?)$"), 'names': ['test'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):testgrid-project:(?P<ResourceId>.+?)$"), 'names': ['testgrid-project'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):testgrid-session:(?P<ResourceId>.+?)$"), 'names': ['testgrid-session'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):upload:(?P<ResourceId>.+?)$"), 'names': ['upload'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):devicefarm:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpceconfiguration:(?P<ResourceId>.+?)$"), 'names': ['vpce-configuration', 'vpceconfiguration'], 'sdk': 'devicefarm', 'cfn': None, 'tag': None},
    ],
    'directconnect': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):directconnect::(?P<Account>\d{12}):dx-gateway/(?P<DirectConnectGatewayId>.+?)$"), 'names': ['dx-gateway'], 'sdk': 'directconnect', 'cfn': None, 'tag': 'AWS::DirectConnect::Gateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):directconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):dxcon/(?P<ConnectionId>.+?)$"), 'names': ['dxcon'], 'sdk': 'directconnect', 'cfn': None, 'tag': 'AWS::DirectConnect::Connection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):directconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):dxlag/(?P<LagId>.+?)$"), 'names': ['dxlag'], 'sdk': 'directconnect', 'cfn': None, 'tag': 'AWS::DirectConnect::Lag'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):directconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):dxvif/(?P<VirtualInterfaceId>.+?)$"), 'names': ['dxvif'], 'sdk': 'directconnect', 'cfn': None, 'tag': 'AWS::DirectConnect::VirtualInterface'},
    ],
    'dlm': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dlm:(?P<Region>[\w-]*):(?P<Account>\d{12}):policy/(?P<ResourceName>.+?)$"), 'names': ['policy'], 'sdk': 'dlm', 'cfn': 'AWS::DLM::LifecyclePolicy', 'tag': 'AWS::DLM::LifecyclePolicy'},
    ],
    'dms': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):assessment-run:(?P<AssessmentRunId>.+?)$"), 'names': ['replication-task-assessment-run', 'ReplicationTaskAssessmentRun'], 'sdk': 'dms', 'cfn': None, 'tag': 'AWS::DMS::ReplicationTaskAssessmentRun'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):cert:(?P<CertificateId>.+?)$"), 'names': ['certificate', 'Certificate'], 'sdk': 'dms', 'cfn': 'AWS::DMS::Certificate', 'tag': 'AWS::DMS::Certificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-migration:(?P<DataMigrationId>.+?)$"), 'names': ['data-migration', 'DataMigration'], 'sdk': 'dms', 'cfn': 'AWS::DMS::DataMigration', 'tag': 'AWS::DMS::DataMigration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-provider:(?P<DataProviderId>.+?)$"), 'names': ['data-provider', 'DataProvider'], 'sdk': 'dms', 'cfn': 'AWS::DMS::DataProvider', 'tag': 'AWS::DMS::DataProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):endpoint:(?P<EndpointId>.+?)$"), 'names': ['endpoint', 'Endpoint'], 'sdk': 'dms', 'cfn': 'AWS::DMS::Endpoint', 'tag': 'AWS::DMS::Endpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):es:(?P<EventSubscriptionId>.+?)$"), 'names': ['event-subscription', 'EventSubscription'], 'sdk': 'dms', 'cfn': 'AWS::DMS::EventSubscription', 'tag': 'AWS::DMS::EventSubscription'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):individual-assessment:(?P<IndividualAssessmentId>.+?)$"), 'names': ['replication-task-individual-assessment', 'ReplicationTaskIndividualAssessment'], 'sdk': 'dms', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance-profile:(?P<InstanceProfileId>.+?)$"), 'names': ['instance-profile', 'InstanceProfile'], 'sdk': 'dms', 'cfn': 'AWS::DMS::InstanceProfile', 'tag': 'AWS::DMS::InstanceProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):migration-project:(?P<MigrationProjectId>.+?)$"), 'names': ['migration-project', 'MigrationProject'], 'sdk': 'dms', 'cfn': 'AWS::DMS::MigrationProject', 'tag': 'AWS::DMS::MigrationProject'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):rep:(?P<ReplicationInstanceId>.+?)$"), 'names': ['replication-instance', 'ReplicationInstance'], 'sdk': 'dms', 'cfn': 'AWS::DMS::ReplicationInstance', 'tag': 'AWS::DMS::ReplicationInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):replication-config:(?P<ReplicationConfigId>.+?)$"), 'names': ['replication-config', 'ReplicationConfig'], 'sdk': 'dms', 'cfn': 'AWS::DMS::ReplicationConfig', 'tag': 'AWS::DMS::ReplicationConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):subgrp:(?P<SubnetGroupName>.+?)$"), 'names': ['replication-subnet-group', 'ReplicationSubnetGroup', 'subgrp'], 'sdk': 'dms', 'cfn': 'AWS::DMS::ReplicationSubnetGroup', 'tag': 'AWS::DMS::ReplicationSubnetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dms:(?P<Region>[\w-]*):(?P<Account>\d{12}):task:(?P<TaskId>.+?)$"), 'names': ['replication-task', 'ReplicationTask'], 'sdk': 'dms', 'cfn': 'AWS::DMS::ReplicationTask', 'tag': 'AWS::DMS::ReplicationTask'},
    ],
    'docdb-elastic': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):docdb-elastic:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ResourceId>.+?)$"), 'names': ['cluster'], 'sdk': 'docdb-elastic', 'cfn': 'AWS::DocDBElastic::Cluster', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):docdb-elastic:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster-snapshot/(?P<ResourceId>.+?)$"), 'names': ['cluster-snapshot'], 'sdk': 'docdb-elastic', 'cfn': None, 'tag': 'AWS::DocDBElastic::ClusterSnapshot'},
    ],
    'drs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):drs:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobID>.+?)$"), 'names': ['job-resource', 'JobResource'], 'sdk': 'drs', 'cfn': None, 'tag': 'AWS::DRS::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):drs:(?P<Region>[\w-]*):(?P<Account>\d{12}):launch-configuration-template/(?P<LaunchConfigurationTemplateID>.+?)$"), 'names': ['launch-configuration-template-resource', 'LaunchConfigurationTemplateResource'], 'sdk': 'drs', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):drs:(?P<Region>[\w-]*):(?P<Account>\d{12}):recovery-instance/(?P<RecoveryInstanceID>.+?)$"), 'names': ['recovery-instance-resource', 'RecoveryInstanceResource'], 'sdk': 'drs', 'cfn': None, 'tag': 'AWS::DRS::RecoveryInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):drs:(?P<Region>[\w-]*):(?P<Account>\d{12}):replication-configuration-template/(?P<ReplicationConfigurationTemplateID>.+?)$"), 'names': ['replication-configuration-template-resource', 'ReplicationConfigurationTemplateResource'], 'sdk': 'drs', 'cfn': None, 'tag': 'AWS::DRS::ReplicationConfigurationTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):drs:(?P<Region>[\w-]*):(?P<Account>\d{12}):source-network/(?P<SourceNetworkID>.+?)$"), 'names': ['source-network-resource', 'SourceNetworkResource'], 'sdk': 'drs', 'cfn': None, 'tag': 'AWS::DRS::SourceNetwork'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):drs:(?P<Region>[\w-]*):(?P<Account>\d{12}):source-server/(?P<SourceServerID>.+?)$"), 'names': ['source-server-resource', 'SourceServerResource'], 'sdk': 'drs', 'cfn': None, 'tag': 'AWS::DRS::SourceServer'},
    ],
    'ds': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ds:(?P<Region>[\w-]*):(?P<Account>\d{12}):directory/(?P<DirectoryId>.+?)$"), 'names': ['directory'], 'sdk': 'ds', 'cfn': None, 'tag': 'AWS::DirectoryService::Directory'},
    ],
    'dsql': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dsql:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<Identifier>.+?)$"), 'names': ['cluster', 'Cluster'], 'sdk': 'dsql', 'cfn': 'AWS::DSQL::Cluster', 'tag': None},
    ],
    'dynamodb': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dynamodb::(?P<Account>\d{12}):global-table/(?P<GlobalTableName>.+?)$"), 'names': ['global-table'], 'sdk': 'dynamodb', 'cfn': 'AWS::DynamoDB::GlobalTable', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dynamodb:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<TableName>.+?)/backup/(?P<BackupName>.+?)$"), 'names': ['backup'], 'sdk': 'dynamodb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dynamodb:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<TableName>.+?)/export/(?P<ExportName>.+?)$"), 'names': ['export'], 'sdk': 'dynamodb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dynamodb:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<TableName>.+?)/import/(?P<ImportName>.+?)$"), 'names': ['import'], 'sdk': 'dynamodb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dynamodb:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<TableName>.+?)/index/(?P<IndexName>.+?)$"), 'names': ['index'], 'sdk': 'dynamodb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dynamodb:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<TableName>.+?)/stream/(?P<StreamLabel>.+?)$"), 'names': ['stream'], 'sdk': 'dynamodbstreams', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):dynamodb:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<TableName>.+?)$"), 'names': ['table'], 'sdk': 'dynamodb', 'cfn': 'AWS::DynamoDB::Table', 'tag': 'AWS::DynamoDB::Table'},
    ],
    'ec2': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam/(?P<IpamId>.+?)$"), 'names': ['ipam'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::IPAM', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-external-resource-verification-token/(?P<IpamExternalResourceVerificationTokenId>.+?)$"), 'names': ['ipam-external-resource-verification-token'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-policy/(?P<IpamPolicyId>.+?)$"), 'names': ['ipam-policy'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-pool/(?P<IpamPoolId>.+?)$"), 'names': ['ipam-pool'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::IPAMPool', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-prefix-list-resolver/(?P<IpamPrefixListResolverId>.+?)$"), 'names': ['ipam-prefix-list-resolver'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-prefix-list-resolver-target/(?P<IpamPrefixListResolverTargetId>.+?)$"), 'names': ['ipam-prefix-list-resolver-target'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-resource-discovery/(?P<IpamResourceDiscoveryId>.+?)$"), 'names': ['ipam-resource-discovery'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::IPAMResourceDiscovery', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-resource-discovery-association/(?P<IpamResourceDiscoveryAssociationId>.+?)$"), 'names': ['ipam-resource-discovery-association'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::IPAMResourceDiscoveryAssociation', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2::(?P<Account>\d{12}):ipam-scope/(?P<IpamScopeId>.+?)$"), 'names': ['ipam-scope'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::IPAMScope', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):capacity-block/(?P<CapacityBlockId>.+?)$"), 'names': ['capacity-block'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):capacity-manager-data-export/(?P<CapacityManagerDataExportId>.+?)$"), 'names': ['capacity-manager-data-export'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::CapacityManagerDataExport', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):capacity-reservation/(?P<CapacityReservationId>.+?)$"), 'names': ['capacity-reservation'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::CapacityReservation', 'tag': 'AWS::EC2::CapacityReservation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):capacity-reservation-fleet/(?P<CapacityReservationFleetId>.+?)$"), 'names': ['capacity-reservation-fleet'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::CapacityReservationFleet', 'tag': 'AWS::EC2::CapacityReservationFleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):carrier-gateway/(?P<CarrierGatewayId>.+?)$"), 'names': ['carrier-gateway'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::CarrierGateway', 'tag': 'AWS::EC2::CarrierGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):client-vpn-endpoint/(?P<ClientVpnEndpointId>.+?)$"), 'names': ['client-vpn-endpoint'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::ClientVpnEndpoint', 'tag': 'AWS::EC2::ClientVpnEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):coip-pool/(?P<Ipv4PoolCoipId>.+?)$"), 'names': ['coip-pool'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::CoipPool'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):customer-gateway/(?P<CustomerGatewayId>.+?)$"), 'names': ['customer-gateway'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::CustomerGateway', 'tag': 'AWS::EC2::CustomerGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):declarative-policies-report/(?P<DeclarativePoliciesReportId>.+?)$"), 'names': ['declarative-policies-report'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):dedicated-host/(?P<DedicatedHostId>.+?)$"), 'names': ['dedicated-host'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::Host', 'tag': 'AWS::EC2::Host'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):dhcp-options/(?P<DhcpOptionsId>.+?)$"), 'names': ['dhcp-options'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::DHCPOptions', 'tag': 'AWS::EC2::DHCPOptions'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):egress-only-internet-gateway/(?P<EgressOnlyInternetGatewayId>.+?)$"), 'names': ['egress-only-internet-gateway'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::EgressOnlyInternetGateway', 'tag': 'AWS::EC2::EgressOnlyInternetGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):elastic-gpu/(?P<ElasticGpuId>.+?)$"), 'names': ['elastic-gpu'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::ElasticGpu'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):elastic-ip/(?P<AllocationId>.+?)$"), 'names': ['elastic-ip'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::EIP', 'tag': 'AWS::EC2::EIP'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):export-image-task/(?P<ExportImageTaskId>.+?)$"), 'names': ['export-image-task'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::ExportImageTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):export-instance-task/(?P<ExportTaskId>.+?)$"), 'names': ['export-instance-task'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::ExportInstanceTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):fleet/(?P<FleetId>.+?)$"), 'names': ['fleet'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::EC2Fleet', 'tag': 'AWS::EC2::EC2Fleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):fpga-image/(?P<FpgaImageId>.+?)$"), 'names': ['fpga-image'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::FpgaImage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):host-reservation/(?P<HostReservationId>.+?)$"), 'names': ['host-reservation'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::HostReservation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):image/(?P<ImageId>.+?)$"), 'names': ['image'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::Image'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):image-usage-report/(?P<ImageUsageReportId>.+?)$"), 'names': ['image-usage-report'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):import-image-task/(?P<ImportImageTaskId>.+?)$"), 'names': ['import-image-task'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::ImportImageTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):import-snapshot-task/(?P<ImportSnapshotTaskId>.+?)$"), 'names': ['import-snapshot-task'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::ImportSnapshotTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)$"), 'names': ['instance'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::Instance', 'tag': 'AWS::EC2::Instance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance-connect-endpoint/(?P<InstanceConnectEndpointId>.+?)$"), 'names': ['instance-connect-endpoint'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::InstanceConnectEndpoint', 'tag': 'AWS::EC2::InstanceConnectEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance-event-window/(?P<InstanceEventWindowId>.+?)$"), 'names': ['instance-event-window'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::InstanceEventWindow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):internet-gateway/(?P<InternetGatewayId>.+?)$"), 'names': ['internet-gateway'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::InternetGateway', 'tag': 'AWS::EC2::InternetGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):ipv4pool-ec2/(?P<Ipv4PoolEc2Id>.+?)$"), 'names': ['ipv4pool-ec2'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::IPv4Pool'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):ipv6pool-ec2/(?P<Ipv6PoolEc2Id>.+?)$"), 'names': ['ipv6pool-ec2'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::IPv6Pool'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):key-pair/(?P<KeyPairName>.+?)$"), 'names': ['key-pair'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::KeyPair', 'tag': 'AWS::EC2::KeyPair'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):launch-template/(?P<LaunchTemplateId>.+?)$"), 'names': ['launch-template'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::LaunchTemplate', 'tag': 'AWS::EC2::LaunchTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):local-gateway/(?P<LocalGatewayId>.+?)$"), 'names': ['local-gateway'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::LocalGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):local-gateway-route-table/(?P<LocalGatewayRoutetableId>.+?)$"), 'names': ['local-gateway-route-table'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::LocalGatewayRouteTable', 'tag': 'AWS::EC2::LocalGatewayRouteTable'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):local-gateway-route-table-virtual-interface-group-association/(?P<LocalGatewayRouteTableVirtualInterfaceGroupAssociationId>.+?)$"), 'names': ['local-gateway-route-table-virtual-interface-group-association'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation', 'tag': 'AWS::EC2::LocalGatewayRouteTableVirtualInterfaceGroupAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):local-gateway-route-table-vpc-association/(?P<LocalGatewayRouteTableVpcAssociationId>.+?)$"), 'names': ['local-gateway-route-table-vpc-association'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::LocalGatewayRouteTableVPCAssociation', 'tag': 'AWS::EC2::LocalGatewayRouteTableVPCAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):local-gateway-virtual-interface/(?P<LocalGatewayVirtualInterfaceId>.+?)$"), 'names': ['local-gateway-virtual-interface'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::LocalGatewayVirtualInterface', 'tag': 'AWS::EC2::LocalGatewayVirtualInterface'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):local-gateway-virtual-interface-group/(?P<LocalGatewayVirtualInterfaceGroupId>.+?)$"), 'names': ['local-gateway-virtual-interface-group'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::LocalGatewayVirtualInterfaceGroup', 'tag': 'AWS::EC2::LocalGatewayVirtualInterfaceGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):mac-modification-task/(?P<MacModificationTaskId>.+?)$"), 'names': ['mac-modification-task'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):natgateway/(?P<NatGatewayId>.+?)$"), 'names': ['nat-gateway', 'natgateway'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::NatGateway', 'tag': 'AWS::EC2::NatGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-acl/(?P<NaclId>.+?)$"), 'names': ['network-acl'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::NetworkAcl', 'tag': 'AWS::EC2::NetworkAcl'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-insights-access-scope/(?P<NetworkInsightsAccessScopeId>.+?)$"), 'names': ['network-insights-access-scope'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::NetworkInsightsAccessScope', 'tag': 'AWS::EC2::NetworkInsightsAccessScope'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-insights-access-scope-analysis/(?P<NetworkInsightsAccessScopeAnalysisId>.+?)$"), 'names': ['network-insights-access-scope-analysis'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::NetworkInsightsAccessScopeAnalysis', 'tag': 'AWS::EC2::NetworkInsightsAccessScopeAnalysis'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-insights-analysis/(?P<NetworkInsightsAnalysisId>.+?)$"), 'names': ['network-insights-analysis'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::NetworkInsightsAnalysis', 'tag': 'AWS::EC2::NetworkInsightsAnalysis'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-insights-path/(?P<NetworkInsightsPathId>.+?)$"), 'names': ['network-insights-path'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::NetworkInsightsPath', 'tag': 'AWS::EC2::NetworkInsightsPath'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-interface/(?P<NetworkInterfaceId>.+?)$"), 'names': ['network-interface'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::NetworkInterface', 'tag': 'AWS::EC2::NetworkInterface'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):outpost-lag/(?P<OutpostLagId>.+?)$"), 'names': ['outpost-lag'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):placement-group/(?P<PlacementGroupName>.+?)$"), 'names': ['placement-group'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::PlacementGroup', 'tag': 'AWS::EC2::PlacementGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):prefix-list/(?P<PrefixListId>.+?)$"), 'names': ['prefix-list'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::PrefixList', 'tag': 'AWS::EC2::PrefixList'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):replace-root-volume-task/(?P<ReplaceRootVolumeTaskId>.+?)$"), 'names': ['replace-root-volume-task'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::ReplaceRootVolumeTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):reserved-instances/(?P<ReservationId>.+?)$"), 'names': ['reserved-instances'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::ReservedInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):route-server/(?P<RouteServerId>.+?)$"), 'names': ['route-server'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::RouteServer', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):route-server-endpoint/(?P<RouteServerEndpointId>.+?)$"), 'names': ['route-server-endpoint'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::RouteServerEndpoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):route-server-peer/(?P<RouteServerPeerId>.+?)$"), 'names': ['route-server-peer'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::RouteServerPeer', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):route-table/(?P<RouteTableId>.+?)$"), 'names': ['route-table'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::RouteTable', 'tag': 'AWS::EC2::RouteTable'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):security-group/(?P<SecurityGroupId>.+?)$"), 'names': ['security-group'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::SecurityGroup', 'tag': 'AWS::EC2::SecurityGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):security-group-rule/(?P<SecurityGroupRuleId>.+?)$"), 'names': ['security-group-rule'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::SecurityGroupRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot/(?P<SnapshotId>.+?)$"), 'names': ['snapshot'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::Snapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):spot-fleet-request/(?P<SpotFleetRequestId>.+?)$"), 'names': ['spot-fleet-request'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::SpotFleet', 'tag': 'AWS::EC2::SpotFleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):spot-instances-request/(?P<SpotInstanceRequestId>.+?)$"), 'names': ['spot-instances-request'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::SpotInstanceRequest'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):subnet/(?P<SubnetId>.+?)$"), 'names': ['subnet'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::Subnet', 'tag': 'AWS::EC2::Subnet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):subnet-cidr-reservation/(?P<SubnetCidrReservationId>.+?)$"), 'names': ['subnet-cidr-reservation'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::SubnetCidrReservation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):traffic-mirror-filter/(?P<TrafficMirrorFilterId>.+?)$"), 'names': ['traffic-mirror-filter'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TrafficMirrorFilter', 'tag': 'AWS::EC2::TrafficMirrorFilter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):traffic-mirror-filter-rule/(?P<TrafficMirrorFilterRuleId>.+?)$"), 'names': ['traffic-mirror-filter-rule'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TrafficMirrorFilterRule', 'tag': 'AWS::EC2::TrafficMirrorFilterRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):traffic-mirror-session/(?P<TrafficMirrorSessionId>.+?)$"), 'names': ['traffic-mirror-session'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TrafficMirrorSession', 'tag': 'AWS::EC2::TrafficMirrorSession'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):traffic-mirror-target/(?P<TrafficMirrorTargetId>.+?)$"), 'names': ['traffic-mirror-target'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TrafficMirrorTarget', 'tag': 'AWS::EC2::TrafficMirrorTarget'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway/(?P<TransitGatewayId>.+?)$"), 'names': ['transit-gateway'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TransitGateway', 'tag': 'AWS::EC2::TransitGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway-attachment/(?P<TransitGatewayAttachmentId>.+?)$"), 'names': ['transit-gateway-attachment'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TransitGatewayAttachment', 'tag': 'AWS::EC2::TransitGatewayAttachment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway-connect-peer/(?P<TransitGatewayConnectPeerId>.+?)$"), 'names': ['transit-gateway-connect-peer'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TransitGatewayConnectPeer', 'tag': 'AWS::EC2::TransitGatewayConnectPeer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway-metering-policy/(?P<TransitGatewayMeteringPolicyId>.+?)$"), 'names': ['transit-gateway-metering-policy'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TransitGatewayMeteringPolicy', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway-multicast-domain/(?P<TransitGatewayMulticastDomainId>.+?)$"), 'names': ['transit-gateway-multicast-domain'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TransitGatewayMulticastDomain', 'tag': 'AWS::EC2::TransitGatewayMulticastDomain'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway-policy-table/(?P<TransitGatewayPolicyTableId>.+?)$"), 'names': ['transit-gateway-policy-table'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::TransitGatewayPolicyTable'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway-route-table/(?P<TransitGatewayRouteTableId>.+?)$"), 'names': ['transit-gateway-route-table'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::TransitGatewayRouteTable', 'tag': 'AWS::EC2::TransitGatewayRouteTable'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):transit-gateway-route-table-announcement/(?P<TransitGatewayRouteTableAnnouncementId>.+?)$"), 'names': ['transit-gateway-route-table-announcement'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::TransitGatewayRouteTableAnnouncement'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):verified-access-endpoint/(?P<VerifiedAccessEndpointId>.+?)$"), 'names': ['verified-access-endpoint'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VerifiedAccessEndpoint', 'tag': 'AWS::EC2::VerifiedAccessEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):verified-access-endpoint-target/(?P<VerifiedAccessEndpointTargetId>.+?)$"), 'names': ['verified-access-endpoint-target'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):verified-access-group/(?P<VerifiedAccessGroupId>.+?)$"), 'names': ['verified-access-group'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VerifiedAccessGroup', 'tag': 'AWS::EC2::VerifiedAccessGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):verified-access-instance/(?P<VerifiedAccessInstanceId>.+?)$"), 'names': ['verified-access-instance'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VerifiedAccessInstance', 'tag': 'AWS::EC2::VerifiedAccessInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):verified-access-policy/(?P<VerifiedAccessPolicyId>.+?)$"), 'names': ['verified-access-policy'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):verified-access-trust-provider/(?P<VerifiedAccessTrustProviderId>.+?)$"), 'names': ['verified-access-trust-provider'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VerifiedAccessTrustProvider', 'tag': 'AWS::EC2::VerifiedAccessTrustProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):volume/(?P<VolumeId>.+?)$"), 'names': ['volume'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::Volume', 'tag': 'AWS::EC2::Volume'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc/(?P<VpcId>.+?)$"), 'names': ['vpc'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPC', 'tag': 'AWS::EC2::VPC'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-block-public-access-exclusion/(?P<VpcBlockPublicAccessExclusionId>.+?)$"), 'names': ['vpc-block-public-access-exclusion'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPCBlockPublicAccessExclusion', 'tag': 'AWS::EC2::VPCBlockPublicAccessExclusion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-encryption-control/(?P<VpcEncryptionControlId>.+?)$"), 'names': ['vpc-encryption-control'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPCEncryptionControl', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-endpoint/(?P<VpcEndpointId>.+?)$"), 'names': ['vpc-endpoint'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPCEndpoint', 'tag': 'AWS::EC2::VPCEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-endpoint-connection/(?P<VpcEndpointConnectionId>.+?)$"), 'names': ['vpc-endpoint-connection'], 'sdk': 'ec2', 'cfn': None, 'tag': 'AWS::EC2::VPCEndpointConnection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-endpoint-service/(?P<VpcEndpointServiceId>.+?)$"), 'names': ['vpc-endpoint-service'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPCEndpointService', 'tag': 'AWS::EC2::VPCEndpointService'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-endpoint-service-permission/(?P<VpcEndpointServicePermissionId>.+?)$"), 'names': ['vpc-endpoint-service-permission'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPCEndpointServicePermissions', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-flow-log/(?P<VpcFlowLogId>.+?)$"), 'names': ['vpc-flow-log'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::FlowLog', 'tag': 'AWS::EC2::FlowLog'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-peering-connection/(?P<VpcPeeringConnectionId>.+?)$"), 'names': ['vpc-peering-connection'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPCPeeringConnection', 'tag': 'AWS::EC2::VPCPeeringConnection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpn-concentrator/(?P<VpnConcentratorId>.+?)$"), 'names': ['vpn-concentrator'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPNConcentrator', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpn-connection/(?P<VpnConnectionId>.+?)$"), 'names': ['vpn-connection'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPNConnection', 'tag': 'AWS::EC2::VPNConnection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpn-connection-device-type/(?P<VpnConnectionDeviceTypeId>.+?)$"), 'names': ['vpn-connection-device-type'], 'sdk': 'ec2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ec2:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpn-gateway/(?P<VpnGatewayId>.+?)$"), 'names': ['vpn-gateway'], 'sdk': 'ec2', 'cfn': 'AWS::EC2::VPNGateway', 'tag': 'AWS::EC2::VPNGateway'},
    ],
    'ecr': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecr:(?P<Region>[\w-]*):(?P<Account>\d{12}):repository/(?P<RepositoryName>.+?)$"), 'names': ['repository'], 'sdk': 'ecr', 'cfn': 'AWS::ECR::Repository', 'tag': 'AWS::ECR::Repository'},
    ],
    'ecr-public': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecr-public::(?P<Account>\d{12}):registry/(?P<RegistryId>.+?)$"), 'names': ['registry'], 'sdk': 'ecr-public', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecr-public::(?P<Account>\d{12}):repository/(?P<RepositoryName>.+?)$"), 'names': ['repository'], 'sdk': 'ecr-public', 'cfn': None, 'tag': None},
    ],
    'ecs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-deployment/(?P<ClusterName>.+?)/(?P<ServiceName>.+?)/(?P<ServiceDeploymentId>.+?)$"), 'names': ['service-deployment'], 'sdk': 'ecs', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-revision/(?P<ClusterName>.+?)/(?P<ServiceName>.+?)/(?P<ServiceRevisionId>.+?)$"), 'names': ['service-revision'], 'sdk': 'ecs', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):task-set/(?P<ClusterName>.+?)/(?P<ServiceName>.+?)/(?P<TaskSetId>.+?)$"), 'names': ['task-set'], 'sdk': 'ecs', 'cfn': 'AWS::ECS::TaskSet', 'tag': 'AWS::ECS::TaskSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):container-instance/(?P<ClusterName>.+?)/(?P<ContainerInstanceId>.+?)$"), 'names': ['container-instance'], 'sdk': 'ecs', 'cfn': None, 'tag': 'AWS::ECS::ContainerInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ClusterName>.+?)/(?P<ServiceName>.+?)$"), 'names': ['service'], 'sdk': 'ecs', 'cfn': 'AWS::ECS::Service', 'tag': 'AWS::ECS::Service'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):task/(?P<ClusterName>.+?)/(?P<TaskId>.+?)$"), 'names': ['task'], 'sdk': 'ecs', 'cfn': None, 'tag': 'AWS::ECS::Task'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):task-definition/(?P<TaskDefinitionFamilyName>.+?):(?P<TaskDefinitionRevisionNumber>.+?)$"), 'names': ['task-definition'], 'sdk': 'ecs', 'cfn': 'AWS::ECS::TaskDefinition', 'tag': 'AWS::ECS::TaskDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):capacity-provider/(?P<CapacityProviderName>.+?)$"), 'names': ['capacity-provider'], 'sdk': 'ecs', 'cfn': 'AWS::ECS::CapacityProvider', 'tag': 'AWS::ECS::CapacityProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterName>.+?)$"), 'names': ['cluster'], 'sdk': 'ecs', 'cfn': 'AWS::ECS::Cluster', 'tag': 'AWS::ECS::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ecs:(?P<Region>[\w-]*):(?P<Account>\d{12}):task/(?P<TaskId>.+?)$"), 'names': ['task'], 'sdk': 'ecs', 'cfn': None, 'tag': 'AWS::ECS::Task'},
    ],
    'eks': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks::aws:cluster-access-policy/(?P<AccessPolicyName>.+?)$"), 'names': ['access-policy'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):access-entry/(?P<ClusterName>.+?)/(?P<IamIdentityType>.+?)/(?P<IamIdentityAccountID>.+?)/(?P<IamIdentityName>.+?)/(?P<UUID>.+?)$"), 'names': ['access-entry'], 'sdk': 'eks', 'cfn': 'AWS::EKS::AccessEntry', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):capability/(?P<ClusterName>.+?)/(?P<CapabilityType>.+?)/(?P<CapabilityName>.+?)/(?P<UUID>.+?)$"), 'names': ['capability'], 'sdk': 'eks', 'cfn': 'AWS::EKS::Capability', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):daemonset/(?P<ClusterName>.+?)/(?P<Namespace>.+?)/(?P<DaemonSetName>.+?)/(?P<UUID>.+?)$"), 'names': ['daemonset'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):deployment/(?P<ClusterName>.+?)/(?P<Namespace>.+?)/(?P<DeploymentName>.+?)/(?P<UUID>.+?)$"), 'names': ['deployment'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):endpointslice/(?P<ClusterName>.+?)/(?P<Namespace>.+?)/(?P<EndpointSliceName>.+?)/(?P<UUID>.+?)$"), 'names': ['endpoint-slice', 'endpointslice'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):identityproviderconfig/(?P<ClusterName>.+?)/(?P<IdentityProviderType>.+?)/(?P<IdentityProviderConfigName>.+?)/(?P<UUID>.+?)$"), 'names': ['identity-provider-config', 'identityproviderconfig'], 'sdk': 'eks', 'cfn': 'AWS::EKS::IdentityProviderConfig', 'tag': 'AWS::EKS::IdentityProviderConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):ingress/(?P<ClusterName>.+?)/(?P<Namespace>.+?)/(?P<IngressName>.+?)/(?P<UUID>.+?)$"), 'names': ['ingress'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):replicaset/(?P<ClusterName>.+?)/(?P<Namespace>.+?)/(?P<ReplicaSetName>.+?)/(?P<UUID>.+?)$"), 'names': ['replicaset'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ClusterName>.+?)/(?P<Namespace>.+?)/(?P<ServiceName>.+?)/(?P<UUID>.+?)$"), 'names': ['service'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):statefulset/(?P<ClusterName>.+?)/(?P<Namespace>.+?)/(?P<StatefulSetName>.+?)/(?P<UUID>.+?)$"), 'names': ['statefulset'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):addon/(?P<ClusterName>.+?)/(?P<AddonName>.+?)/(?P<UUID>.+?)$"), 'names': ['addon'], 'sdk': 'eks', 'cfn': 'AWS::EKS::Addon', 'tag': 'AWS::EKS::Addon'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):fargateprofile/(?P<ClusterName>.+?)/(?P<FargateProfileName>.+?)/(?P<UUID>.+?)$"), 'names': ['fargate-profile', 'fargateprofile'], 'sdk': 'eks', 'cfn': 'AWS::EKS::FargateProfile', 'tag': 'AWS::EKS::FargateProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):namespace/(?P<ClusterName>.+?)/(?P<NamespaceName>.+?)/(?P<UUID>.+?)$"), 'names': ['namespace'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):nodegroup/(?P<ClusterName>.+?)/(?P<NodegroupName>.+?)/(?P<UUID>.+?)$"), 'names': ['nodegroup'], 'sdk': 'eks', 'cfn': 'AWS::EKS::Nodegroup', 'tag': 'AWS::EKS::Nodegroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):persistentvolume/(?P<ClusterName>.+?)/(?P<PersistentVolumeName>.+?)/(?P<UUID>.+?)$"), 'names': ['persistent-volume', 'persistentvolume'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):podidentityassociation/(?P<ClusterName>.+?)/(?P<UUID>.+?)$"), 'names': ['pod-identity-association', 'podidentityassociation'], 'sdk': 'eks', 'cfn': 'AWS::EKS::PodIdentityAssociation', 'tag': 'AWS::EKS::PodIdentityAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterName>.+?)$"), 'names': ['cluster'], 'sdk': 'eks', 'cfn': 'AWS::EKS::Cluster', 'tag': 'AWS::EKS::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):dashboard/(?P<DashboardName>.+?)$"), 'names': ['dashboard'], 'sdk': 'eks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):eks:(?P<Region>[\w-]*):(?P<Account>\d{12}):eks-anywhere-subscription/(?P<UUID>.+?)$"), 'names': ['eks-anywhere-subscription'], 'sdk': 'eks', 'cfn': None, 'tag': 'AWS::EKS::EKSAnywhereSubscription'},
    ],
    'elastic-inference': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elastic-inference:(?P<Region>[\w-]*):(?P<Account>\d{12}):elastic-inference-accelerator/(?P<AcceleratorId>.+?)$"), 'names': ['elastic-inference'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'elasticache': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache::(?P<Account>\d{12}):globalreplicationgroup:(?P<GlobalReplicationGroupId>.+?)$"), 'names': ['global-replication-group', 'globalreplicationgroup'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::GlobalReplicationGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster:(?P<CacheClusterId>.+?)$"), 'names': ['cluster'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::CacheCluster', 'tag': 'AWS::ElastiCache::CacheCluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):parametergroup:(?P<CacheParameterGroupName>.+?)$"), 'names': ['parameter-group', 'parametergroup'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::ParameterGroup', 'tag': 'AWS::ElastiCache::ParameterGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):replicationgroup:(?P<ReplicationGroupId>.+?)$"), 'names': ['replication-group', 'replicationgroup'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::ReplicationGroup', 'tag': 'AWS::ElastiCache::ReplicationGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):reserved-instance:(?P<ReservedCacheNodeId>.+?)$"), 'names': ['reserved-instance'], 'sdk': 'elasticache', 'cfn': None, 'tag': 'AWS::ElastiCache::ReservedInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):securitygroup:(?P<CacheSecurityGroupName>.+?)$"), 'names': ['security-group', 'securitygroup'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::SecurityGroup', 'tag': 'AWS::ElastiCache::SecurityGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):serverlesscache:(?P<ServerlessCacheName>.+?)$"), 'names': ['serverless-cache', 'serverlesscache'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::ServerlessCache', 'tag': 'AWS::ElastiCache::ServerlessCache'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):serverlesscachesnapshot:(?P<ServerlessCacheSnapshotName>.+?)$"), 'names': ['serverless-cache-snapshot', 'serverlesscachesnapshot'], 'sdk': 'elasticache', 'cfn': None, 'tag': 'AWS::ElastiCache::ServerlessCacheSnapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot:(?P<SnapshotName>.+?)$"), 'names': ['snapshot'], 'sdk': 'elasticache', 'cfn': None, 'tag': 'AWS::ElastiCache::Snapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):subnetgroup:(?P<CacheSubnetGroupName>.+?)$"), 'names': ['subnet-group', 'subnetgroup'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::SubnetGroup', 'tag': 'AWS::ElastiCache::SubnetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):user:(?P<UserId>.+?)$"), 'names': ['user'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::User', 'tag': 'AWS::ElastiCache::User'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticache:(?P<Region>[\w-]*):(?P<Account>\d{12}):usergroup:(?P<UserGroupId>.+?)$"), 'names': ['user-group', 'usergroup'], 'sdk': 'elasticache', 'cfn': 'AWS::ElastiCache::UserGroup', 'tag': 'AWS::ElastiCache::UserGroup'},
    ],
    'elasticbeanstalk': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticbeanstalk:(?P<Region>[\w-]*)::platform/(?P<PlatformNameWithVersion>.+?)$"), 'names': ['platform'], 'sdk': 'elasticbeanstalk', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticbeanstalk:(?P<Region>[\w-]*)::solutionstack/(?P<SolutionStackName>.+?)$"), 'names': ['solution-stack', 'solutionstack'], 'sdk': 'elasticbeanstalk', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticbeanstalk:(?P<Region>[\w-]*):(?P<Account>\d{12}):applicationversion/(?P<ApplicationName>.+?)/(?P<VersionLabel>.+?)$"), 'names': ['application-version', 'applicationversion'], 'sdk': 'elasticbeanstalk', 'cfn': 'AWS::ElasticBeanstalk::ApplicationVersion', 'tag': 'AWS::ElasticBeanstalk::ApplicationVersion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticbeanstalk:(?P<Region>[\w-]*):(?P<Account>\d{12}):configurationtemplate/(?P<ApplicationName>.+?)/(?P<TemplateName>.+?)$"), 'names': ['configuration-template', 'configurationtemplate'], 'sdk': 'elasticbeanstalk', 'cfn': 'AWS::ElasticBeanstalk::ConfigurationTemplate', 'tag': 'AWS::ElasticBeanstalk::ConfigurationTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticbeanstalk:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<ApplicationName>.+?)/(?P<EnvironmentName>.+?)$"), 'names': ['environment'], 'sdk': 'elasticbeanstalk', 'cfn': 'AWS::ElasticBeanstalk::Environment', 'tag': 'AWS::ElasticBeanstalk::Environment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticbeanstalk:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationName>.+?)$"), 'names': ['application'], 'sdk': 'elasticbeanstalk', 'cfn': 'AWS::ElasticBeanstalk::Application', 'tag': 'AWS::ElasticBeanstalk::Application'},
    ],
    'elasticfilesystem': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticfilesystem:(?P<Region>[\w-]*):(?P<Account>\d{12}):access-point/(?P<AccessPointId>.+?)$"), 'names': ['access-point'], 'sdk': 'efs', 'cfn': 'AWS::EFS::AccessPoint', 'tag': 'AWS::EFS::AccessPoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticfilesystem:(?P<Region>[\w-]*):(?P<Account>\d{12}):file-system/(?P<FileSystemId>.+?)$"), 'names': ['file-system'], 'sdk': 'efs', 'cfn': 'AWS::EFS::FileSystem', 'tag': 'AWS::EFS::FileSystem'},
    ],
    'elasticloadbalancing': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):listener-rule/app/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)/(?P<ListenerId>.+?)/(?P<ListenerRuleId>.+?)$"), 'names': ['listener-rule-app', 'listener-rule/app'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::ListenerRule', 'tag': 'AWS::ElasticLoadBalancingV2::ListenerRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):listener-rule/net/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)/(?P<ListenerId>.+?)/(?P<ListenerRuleId>.+?)$"), 'names': ['listener-rule-net', 'listener-rule/net'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::ListenerRule', 'tag': 'AWS::ElasticLoadBalancingV2::ListenerRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):listener/app/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)/(?P<ListenerId>.+?)$"), 'names': ['listener-app', 'listener/app'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::Listener', 'tag': 'AWS::ElasticLoadBalancingV2::Listener'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):listener/gwy/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)/(?P<ListenerId>.+?)$"), 'names': ['listener-gwy', 'listener/gwy'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::Listener', 'tag': 'AWS::ElasticLoadBalancingV2::Listener'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):listener/net/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)/(?P<ListenerId>.+?)$"), 'names': ['listener-net', 'listener/net'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::Listener', 'tag': 'AWS::ElasticLoadBalancingV2::Listener'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):loadbalancer/app/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)$"), 'names': ['loadbalancer-app', 'loadbalancer/app/', 'loadbalancer/app'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::LoadBalancer', 'tag': 'AWS::ElasticLoadBalancingV2::LoadBalancer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):loadbalancer/gwy/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)$"), 'names': ['loadbalancer-gwy', 'loadbalancer/gwy/', 'loadbalancer/gwy'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::LoadBalancer', 'tag': 'AWS::ElasticLoadBalancingV2::LoadBalancer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):loadbalancer/net/(?P<LoadBalancerName>.+?)/(?P<LoadBalancerId>.+?)$"), 'names': ['loadbalancer-net', 'loadbalancer/net/', 'loadbalancer/net'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::LoadBalancer', 'tag': 'AWS::ElasticLoadBalancingV2::LoadBalancer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):targetgroup/(?P<TargetGroupName>.+?)/(?P<TargetGroupId>.+?)$"), 'names': ['target-group', 'targetgroup'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::TargetGroup', 'tag': 'AWS::ElasticLoadBalancingV2::TargetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):truststore/(?P<TrustStoreName>.+?)/(?P<TrustStoreId>.+?)$"), 'names': ['truststore'], 'sdk': 'elbv2', 'cfn': 'AWS::ElasticLoadBalancingV2::TrustStore', 'tag': 'AWS::ElasticLoadBalancingV2::TrustStore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticloadbalancing:(?P<Region>[\w-]*):(?P<Account>\d{12}):loadbalancer/(?P<LoadBalancerName>.+?)$"), 'names': ['loadbalancer'], 'sdk': 'elb', 'cfn': 'AWS::ElasticLoadBalancing::LoadBalancer', 'tag': 'AWS::ElasticLoadBalancing::LoadBalancer'},
    ],
    'elasticmapreduce': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticmapreduce:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterId>.+?)$"), 'names': ['cluster'], 'sdk': 'emr', 'cfn': 'AWS::EMR::Cluster', 'tag': 'AWS::EMR::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticmapreduce:(?P<Region>[\w-]*):(?P<Account>\d{12}):editor/(?P<EditorId>.+?)$"), 'names': ['editor'], 'sdk': 'emr', 'cfn': None, 'tag': 'AWS::EMR::Editor'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticmapreduce:(?P<Region>[\w-]*):(?P<Account>\d{12}):notebook-execution/(?P<NotebookExecutionId>.+?)$"), 'names': ['notebook-execution'], 'sdk': 'emr', 'cfn': None, 'tag': 'AWS::EMR::NotebookExecution'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elasticmapreduce:(?P<Region>[\w-]*):(?P<Account>\d{12}):studio/(?P<StudioId>.+?)$"), 'names': ['studio'], 'sdk': 'emr', 'cfn': 'AWS::EMR::Studio', 'tag': 'AWS::EMR::Studio'},
    ],
    'elastictranscoder': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elastictranscoder:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobId>.+?)$"), 'names': ['job'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elastictranscoder:(?P<Region>[\w-]*):(?P<Account>\d{12}):pipeline/(?P<PipelineId>.+?)$"), 'names': ['pipeline'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elastictranscoder:(?P<Region>[\w-]*):(?P<Account>\d{12}):preset/(?P<PresetId>.+?)$"), 'names': ['preset'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'elemental-appliances-software': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elemental-appliances-software:(?P<Region>[\w-]*):(?P<Account>\d{12}):quote/(?P<ResourceId>.+?)$"), 'names': ['quote'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'elemental-support-cases': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):elemental-support-cases::(?P<Account>\d{12}):case/(?P<ResourceId>.+?)$"), 'names': ['case'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'emr-containers': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):emr-containers:(?P<Region>[\w-]*):(?P<Account>\d{12}):/virtualclusters/(?P<VirtualClusterId>.+?)/endpoints/(?P<EndpointId>.+?)$"), 'names': ['managed-endpoint', 'managedEndpoint'], 'sdk': 'emr-containers', 'cfn': 'AWS::EMRContainers::Endpoint', 'tag': 'AWS::EMRContainers::ManagedEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):emr-containers:(?P<Region>[\w-]*):(?P<Account>\d{12}):/virtualclusters/(?P<VirtualClusterId>.+?)/jobruns/(?P<JobRunId>.+?)$"), 'names': ['job-run', 'jobRun'], 'sdk': 'emr-containers', 'cfn': None, 'tag': 'AWS::EMRContainers::JobRun'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):emr-containers:(?P<Region>[\w-]*):(?P<Account>\d{12}):/jobtemplates/(?P<JobTemplateId>.+?)$"), 'names': ['job-template', 'jobTemplate'], 'sdk': 'emr-containers', 'cfn': None, 'tag': 'AWS::EMRContainers::JobTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):emr-containers:(?P<Region>[\w-]*):(?P<Account>\d{12}):/securityconfigurations/(?P<SecurityConfigurationId>.+?)$"), 'names': ['security-configuration', 'securityConfiguration'], 'sdk': 'emr-containers', 'cfn': 'AWS::EMRContainers::SecurityConfiguration', 'tag': 'AWS::EMRContainers::SecurityConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):emr-containers:(?P<Region>[\w-]*):(?P<Account>\d{12}):/virtualclusters/(?P<VirtualClusterId>.+?)$"), 'names': ['virtual-cluster', 'virtualCluster'], 'sdk': 'emr-containers', 'cfn': 'AWS::EMRContainers::VirtualCluster', 'tag': 'AWS::EMRContainers::VirtualCluster'},
    ],
    'emr-serverless': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):emr-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):/applications/(?P<ApplicationId>.+?)/jobruns/(?P<JobRunId>.+?)$"), 'names': ['job-run', 'jobRun'], 'sdk': 'emr-serverless', 'cfn': None, 'tag': 'AWS::EMRServerless::JobRun'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):emr-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):/applications/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': 'emr-serverless', 'cfn': 'AWS::EMRServerless::Application', 'tag': 'AWS::EMRServerless::Application'},
    ],
    'entityresolution': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):entityresolution:(?P<Region>[\w-]*):(?P<Account>\d{12}):providerservice/(?P<ProviderName>.+?)/(?P<ProviderServiceName>.+?)$"), 'names': ['provider-service', 'ProviderService'], 'sdk': 'entityresolution', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):entityresolution:(?P<Region>[\w-]*):(?P<Account>\d{12}):idmappingworkflow/(?P<WorkflowName>.+?)$"), 'names': ['id-mapping-workflow', 'IdMappingWorkflow'], 'sdk': 'entityresolution', 'cfn': 'AWS::EntityResolution::IdMappingWorkflow', 'tag': 'AWS::EntityResolution::IdMappingWorkflow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):entityresolution:(?P<Region>[\w-]*):(?P<Account>\d{12}):idnamespace/(?P<IdNamespaceName>.+?)$"), 'names': ['id-namespace', 'IdNamespace'], 'sdk': 'entityresolution', 'cfn': 'AWS::EntityResolution::IdNamespace', 'tag': 'AWS::EntityResolution::IdNamespace'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):entityresolution:(?P<Region>[\w-]*):(?P<Account>\d{12}):matchingworkflow/(?P<WorkflowName>.+?)$"), 'names': ['matching-workflow', 'MatchingWorkflow'], 'sdk': 'entityresolution', 'cfn': 'AWS::EntityResolution::MatchingWorkflow', 'tag': 'AWS::EntityResolution::MatchingWorkflow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):entityresolution:(?P<Region>[\w-]*):(?P<Account>\d{12}):schemamapping/(?P<SchemaName>.+?)$"), 'names': ['schema-mapping', 'SchemaMapping'], 'sdk': 'entityresolution', 'cfn': 'AWS::EntityResolution::SchemaMapping', 'tag': 'AWS::EntityResolution::SchemaMapping'},
    ],
    'es': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):es:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainName>.+?)$"), 'names': ['domain'], 'sdk': 'opensearch', 'cfn': 'AWS::OpenSearchService::Domain', 'tag': 'AWS::OpenSearchService::Domain'},
    ],
    'events': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*)::event-source/(?P<EventSourceName>.+?)$"), 'names': ['event-source'], 'sdk': 'events', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):rule/(?P<EventBusName>.+?)/(?P<RuleName>.+?)$"), 'names': ['rule-on-custom-event-bus'], 'sdk': 'events', 'cfn': None, 'tag': 'AWS::Events::Rule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):api-destination/(?P<ApiDestinationName>.+?)$"), 'names': ['api-destination'], 'sdk': 'events', 'cfn': 'AWS::Events::ApiDestination', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):archive/(?P<ArchiveName>.+?)$"), 'names': ['archive'], 'sdk': 'events', 'cfn': 'AWS::Events::Archive', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):connection/(?P<ConnectionName>.+?)$"), 'names': ['connection'], 'sdk': 'events', 'cfn': 'AWS::Events::Connection', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):endpoint/(?P<EndpointName>.+?)$"), 'names': ['endpoint'], 'sdk': 'events', 'cfn': 'AWS::Events::Endpoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):event-bus/(?P<EventBusName>.+?)$"), 'names': ['event-bus'], 'sdk': 'events', 'cfn': 'AWS::Events::EventBus', 'tag': 'AWS::Events::EventBus'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):replay/(?P<ReplayName>.+?)$"), 'names': ['replay'], 'sdk': 'events', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):rule/(?P<RuleName>.+?)$"), 'names': ['rule-on-default-event-bus', 'rule'], 'sdk': 'events', 'cfn': None, 'tag': 'AWS::Events::Rule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):target/create-snapshot$"), 'names': ['create-snapshot'], 'sdk': 'events', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):target/reboot-instance$"), 'names': ['reboot-instance'], 'sdk': 'events', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):target/stop-instance$"), 'names': ['stop-instance'], 'sdk': 'events', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):events:(?P<Region>[\w-]*):(?P<Account>\d{12}):target/terminate-instance$"), 'names': ['terminate-instance'], 'sdk': 'events', 'cfn': None, 'tag': None},
    ],
    'evidently': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):evidently:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)/experiment/(?P<ExperimentName>.+?)$"), 'names': ['experiment', 'Experiment'], 'sdk': 'evidently', 'cfn': 'AWS::Evidently::Experiment', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):evidently:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)/feature/(?P<FeatureName>.+?)$"), 'names': ['feature', 'Feature'], 'sdk': 'evidently', 'cfn': 'AWS::Evidently::Feature', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):evidently:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)/launch/(?P<LaunchName>.+?)$"), 'names': ['launch', 'Launch'], 'sdk': 'evidently', 'cfn': 'AWS::Evidently::Launch', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):evidently:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)$"), 'names': ['project', 'Project'], 'sdk': 'evidently', 'cfn': 'AWS::Evidently::Project', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):evidently:(?P<Region>[\w-]*):(?P<Account>\d{12}):segment/(?P<SegmentName>.+?)$"), 'names': ['segment', 'Segment'], 'sdk': 'evidently', 'cfn': 'AWS::Evidently::Segment', 'tag': None},
    ],
    'evs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):evs:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentIdentifier>.+?)$"), 'names': ['environment'], 'sdk': 'evs', 'cfn': 'AWS::EVS::Environment', 'tag': None},
    ],
    'execute-api': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):execute-api:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<ApiId>.+?)/(?P<Stage>.+?)/(?P<Method>.+?)/(?P<ApiSpecificResourcePath>.+?)$"), 'names': ['execute-api-general'], 'sdk': 'apigatewaymanagementapi', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):execute-api:(?P<Region>[\w-]*):(?P<Account>\d{12}):/domainnames/(?P<DomainName>.+?)\+(?P<DomainIdentifier>.+?)$"), 'names': ['execute-api-domain'], 'sdk': 'apigatewaymanagementapi', 'cfn': None, 'tag': None},
    ],
    'finspace': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):kxEnvironment/(?P<EnvironmentId>.+?)/kxDatabase/(?P<KxDatabase>.+?)/kxDataview/(?P<KxDataview>.+?)$"), 'names': ['kx-dataview', 'kxDataview'], 'sdk': 'finspace', 'cfn': None, 'tag': 'AWS::FinSpace::KxDataview'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):kxEnvironment/(?P<EnvironmentId>.+?)/kxCluster/(?P<KxCluster>.+?)$"), 'names': ['kx-cluster', 'kxCluster'], 'sdk': 'finspace', 'cfn': None, 'tag': 'AWS::FinSpace::KxCluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):kxEnvironment/(?P<EnvironmentId>.+?)/kxDatabase/(?P<KxDatabase>.+?)$"), 'names': ['kx-database', 'kxDatabase'], 'sdk': 'finspace', 'cfn': None, 'tag': 'AWS::FinSpace::KxDatabase'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):kxEnvironment/(?P<EnvironmentId>.+?)/kxScalingGroup/(?P<KxScalingGroup>.+?)$"), 'names': ['kx-scaling-group', 'kxScalingGroup'], 'sdk': 'finspace', 'cfn': None, 'tag': 'AWS::FinSpace::KxScalingGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):kxEnvironment/(?P<EnvironmentId>.+?)/kxUser/(?P<UserName>.+?)$"), 'names': ['kx-user', 'kxUser'], 'sdk': 'finspace', 'cfn': None, 'tag': 'AWS::FinSpace::KxUser'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):kxEnvironment/(?P<EnvironmentId>.+?)/kxVolume/(?P<KxVolume>.+?)$"), 'names': ['kx-volume', 'kxVolume'], 'sdk': 'finspace', 'cfn': None, 'tag': 'AWS::FinSpace::KxVolume'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentId>.+?)$"), 'names': ['environment'], 'sdk': 'finspace', 'cfn': 'AWS::FinSpace::Environment', 'tag': 'AWS::FinSpace::Environment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):kxEnvironment/(?P<EnvironmentId>.+?)$"), 'names': ['kx-environment', 'kxEnvironment'], 'sdk': 'finspace', 'cfn': None, 'tag': 'AWS::FinSpace::KxEnvironment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):user/(?P<UserId>.+?)$"), 'names': ['user'], 'sdk': 'finspace', 'cfn': None, 'tag': None},
    ],
    'finspace-api': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):finspace-api:(?P<Region>[\w-]*):(?P<Account>\d{12}):/credentials/programmatic$"), 'names': ['credential'], 'sdk': 'finspace-data', 'cfn': None, 'tag': None},
    ],
    'firehose': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):firehose:(?P<Region>[\w-]*):(?P<Account>\d{12}):deliverystream/(?P<DeliveryStreamName>.+?)$"), 'names': ['delivery-stream', 'deliverystream'], 'sdk': 'firehose', 'cfn': 'AWS::KinesisFirehose::DeliveryStream', 'tag': 'AWS::KinesisFirehose::DeliveryStream'},
    ],
    'fis': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fis:(?P<Region>[\w-]*):(?P<Account>\d{12}):action/(?P<Id>.+?)$"), 'names': ['action'], 'sdk': 'fis', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fis:(?P<Region>[\w-]*):(?P<Account>\d{12}):experiment/(?P<Id>.+?)$"), 'names': ['experiment'], 'sdk': 'fis', 'cfn': None, 'tag': 'AWS::FIS::Experiment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fis:(?P<Region>[\w-]*):(?P<Account>\d{12}):experiment-template/(?P<Id>.+?)$"), 'names': ['experiment-template'], 'sdk': 'fis', 'cfn': 'AWS::FIS::ExperimentTemplate', 'tag': 'AWS::FIS::ExperimentTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fis:(?P<Region>[\w-]*):(?P<Account>\d{12}):safety-lever/(?P<Id>.+?)$"), 'names': ['safety-lever'], 'sdk': 'fis', 'cfn': None, 'tag': None},
    ],
    'fms': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fms:(?P<Region>[\w-]*):(?P<Account>\d{12}):applications-list/(?P<Id>.+?)$"), 'names': ['applications-list'], 'sdk': 'fms', 'cfn': None, 'tag': 'AWS::FMS::Applicationslist'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fms:(?P<Region>[\w-]*):(?P<Account>\d{12}):policy/(?P<Id>.+?)$"), 'names': ['policy'], 'sdk': 'fms', 'cfn': 'AWS::FMS::Policy', 'tag': 'AWS::FMS::Policy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fms:(?P<Region>[\w-]*):(?P<Account>\d{12}):protocols-list/(?P<Id>.+?)$"), 'names': ['protocols-list'], 'sdk': 'fms', 'cfn': None, 'tag': 'AWS::FMS::ProtocolsList'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fms:(?P<Region>[\w-]*):(?P<Account>\d{12}):resource-set/(?P<Id>.+?)$"), 'names': ['resource-set'], 'sdk': 'fms', 'cfn': 'AWS::FMS::ResourceSet', 'tag': 'AWS::FMS::ResourceSet'},
    ],
    'forecast': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:::algorithm/(?P<ResourceId>.+?)$"), 'names': ['algorithm'], 'sdk': 'forecast', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<ResourceId>.+?)$"), 'names': ['dataset'], 'sdk': 'forecast', 'cfn': 'AWS::Forecast::Dataset', 'tag': 'AWS::Forecast::Dataset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset-group/(?P<ResourceId>.+?)$"), 'names': ['dataset-group', 'datasetGroup'], 'sdk': 'forecast', 'cfn': 'AWS::Forecast::DatasetGroup', 'tag': 'AWS::Forecast::DatasetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset-import-job/(?P<ResourceId>.+?)$"), 'names': ['dataset-import-job', 'datasetImportJob'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::DatasetImportJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):explainability/(?P<ResourceId>.+?)$"), 'names': ['explainability'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::Explainability'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):explainability-export/(?P<ResourceId>.+?)$"), 'names': ['explainability-export', 'explainabilityExport'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::ExplainabilityExport'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):forecast/(?P<ResourceId>.+?)$"), 'names': ['forecast'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::Forecast'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):forecast-endpoint/(?P<ResourceId>.+?)$"), 'names': ['endpoint'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::ForecastEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):forecast-export-job/(?P<ResourceId>.+?)$"), 'names': ['forecast-export', 'forecastExport'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::ForecastExportJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitor/(?P<ResourceId>.+?)$"), 'names': ['monitor'], 'sdk': 'forecast', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):predictor/(?P<ResourceId>.+?)$"), 'names': ['predictor'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::Predictor'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):predictor-backtest-export-job/(?P<ResourceId>.+?)$"), 'names': ['predictor-backtest-export-job', 'predictorBacktestExportJob'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::PredictorBacktestExportJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):what-if-analysis/(?P<ResourceId>.+?)$"), 'names': ['what-if-analysis', 'whatIfAnalysis'], 'sdk': 'forecast', 'cfn': None, 'tag': 'AWS::Forecast::WhatIfAnalysis'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):what-if-forecast/(?P<ResourceId>.+?)$"), 'names': ['what-if-forecast', 'whatIfForecast'], 'sdk': 'forecast', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):forecast:(?P<Region>[\w-]*):(?P<Account>\d{12}):what-if-forecast-export/(?P<ResourceId>.+?)$"), 'names': ['what-if-forecast-export', 'whatIfForecastExport'], 'sdk': 'forecast', 'cfn': None, 'tag': None},
    ],
    'frauddetector': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):batch-import/(?P<ResourcePath>.+?)$"), 'names': ['batch-import'], 'sdk': 'frauddetector', 'cfn': None, 'tag': 'AWS::FraudDetector::BatchImport'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):batch-prediction/(?P<ResourcePath>.+?)$"), 'names': ['batch-prediction'], 'sdk': 'frauddetector', 'cfn': None, 'tag': 'AWS::FraudDetector::BatchPrediction'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<ResourcePath>.+?)$"), 'names': ['detector'], 'sdk': 'frauddetector', 'cfn': 'AWS::FraudDetector::Detector', 'tag': 'AWS::FraudDetector::Detector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector-version/(?P<ResourcePath>.+?)$"), 'names': ['detector-version'], 'sdk': 'frauddetector', 'cfn': None, 'tag': 'AWS::FraudDetector::DetectorVersion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):entity-type/(?P<ResourcePath>.+?)$"), 'names': ['entity-type'], 'sdk': 'frauddetector', 'cfn': 'AWS::FraudDetector::EntityType', 'tag': 'AWS::FraudDetector::EntityType'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):event-type/(?P<ResourcePath>.+?)$"), 'names': ['event-type'], 'sdk': 'frauddetector', 'cfn': 'AWS::FraudDetector::EventType', 'tag': 'AWS::FraudDetector::EventType'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):external-model/(?P<ResourcePath>.+?)$"), 'names': ['external-model'], 'sdk': 'frauddetector', 'cfn': None, 'tag': 'AWS::FraudDetector::ExternalModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):label/(?P<ResourcePath>.+?)$"), 'names': ['label'], 'sdk': 'frauddetector', 'cfn': 'AWS::FraudDetector::Label', 'tag': 'AWS::FraudDetector::Label'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):list/(?P<ResourcePath>.+?)$"), 'names': ['list'], 'sdk': 'frauddetector', 'cfn': 'AWS::FraudDetector::List', 'tag': 'AWS::FraudDetector::List'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):model/(?P<ResourcePath>.+?)$"), 'names': ['model'], 'sdk': 'frauddetector', 'cfn': None, 'tag': 'AWS::FraudDetector::Model'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-version/(?P<ResourcePath>.+?)$"), 'names': ['model-version'], 'sdk': 'frauddetector', 'cfn': None, 'tag': 'AWS::FraudDetector::ModelVersion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):outcome/(?P<ResourcePath>.+?)$"), 'names': ['outcome'], 'sdk': 'frauddetector', 'cfn': 'AWS::FraudDetector::Outcome', 'tag': 'AWS::FraudDetector::Outcome'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):rule/(?P<ResourcePath>.+?)$"), 'names': ['rule'], 'sdk': 'frauddetector', 'cfn': None, 'tag': 'AWS::FraudDetector::Rule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):frauddetector:(?P<Region>[\w-]*):(?P<Account>\d{12}):variable/(?P<ResourcePath>.+?)$"), 'names': ['variable'], 'sdk': 'frauddetector', 'cfn': 'AWS::FraudDetector::Variable', 'tag': 'AWS::FraudDetector::Variable'},
    ],
    'freertos': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):freertos:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration/(?P<ConfigurationName>.+?)$"), 'names': ['configuration'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):freertos:(?P<Region>[\w-]*):(?P<Account>\d{12}):subscription/(?P<SubscriptionID>.+?)$"), 'names': ['subscription'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'fsx': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):association/(?P<FileSystemIdOrFileCacheId>.+?)/(?P<DataRepositoryAssociationId>.+?)$"), 'names': ['association'], 'sdk': 'fsx', 'cfn': 'AWS::FSx::DataRepositoryAssociation', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot/(?P<VolumeId>.+?)/(?P<SnapshotId>.+?)$"), 'names': ['snapshot'], 'sdk': 'fsx', 'cfn': 'AWS::FSx::Snapshot', 'tag': 'AWS::FSx::Snapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):storage-virtual-machine/(?P<FileSystemId>.+?)/(?P<StorageVirtualMachineId>.+?)$"), 'names': ['storage-virtual-machine'], 'sdk': 'fsx', 'cfn': 'AWS::FSx::StorageVirtualMachine', 'tag': 'AWS::FSx::StorageVirtualMachine'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):volume/(?P<FileSystemId>.+?)/(?P<VolumeId>.+?)$"), 'names': ['volume'], 'sdk': 'fsx', 'cfn': 'AWS::FSx::Volume', 'tag': 'AWS::FSx::Volume'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):backup/(?P<BackupId>.+?)$"), 'names': ['backup'], 'sdk': 'fsx', 'cfn': None, 'tag': 'AWS::FSx::Backup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):file-cache/(?P<FileCacheId>.+?)$"), 'names': ['file-cache'], 'sdk': 'fsx', 'cfn': None, 'tag': 'AWS::FSx::FileCache'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):file-system/(?P<FileSystemId>.+?)$"), 'names': ['file-system'], 'sdk': 'fsx', 'cfn': 'AWS::FSx::FileSystem', 'tag': 'AWS::FSx::FileSystem'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):fsx:(?P<Region>[\w-]*):(?P<Account>\d{12}):task/(?P<TaskId>.+?)$"), 'names': ['task'], 'sdk': 'fsx', 'cfn': None, 'tag': None},
    ],
    'gamelift': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*)::alias/(?P<AliasId>.+?)$"), 'names': ['alias'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::Alias', 'tag': 'AWS::GameLift::Alias'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):build/(?P<BuildId>.+?)$"), 'names': ['build'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::Build', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):containerfleet/(?P<FleetId>.+?)$"), 'names': ['container-fleet', 'containerFleet'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::ContainerFleet', 'tag': 'AWS::GameLift::ContainerFleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):containergroupdefinition/(?P<Name>.+?)$"), 'names': ['container-group-definition', 'containerGroupDefinition'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::ContainerGroupDefinition', 'tag': 'AWS::GameLift::ContainerGroupDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):fleet/(?P<FleetId>.+?)$"), 'names': ['fleet'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::Fleet', 'tag': 'AWS::GameLift::Fleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):gameservergroup/(?P<GameServerGroupName>.+?)$"), 'names': ['game-server-group', 'gameServerGroup'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::GameServerGroup', 'tag': 'AWS::GameLift::GameServerGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):gamesessionqueue/(?P<GameSessionQueueName>.+?)$"), 'names': ['game-session-queue', 'gameSessionQueue'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::GameSessionQueue', 'tag': 'AWS::GameLift::GameSessionQueue'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):location/(?P<LocationId>.+?)$"), 'names': ['location'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::Location', 'tag': 'AWS::GameLift::Location'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):matchmakingconfiguration/(?P<MatchmakingConfigurationName>.+?)$"), 'names': ['matchmaking-configuration', 'matchmakingConfiguration'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::MatchmakingConfiguration', 'tag': 'AWS::GameLift::MatchmakingConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):matchmakingruleset/(?P<MatchmakingRuleSetName>.+?)$"), 'names': ['matchmaking-rule-set', 'matchmakingRuleSet'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::MatchmakingRuleSet', 'tag': 'AWS::GameLift::MatchmakingRuleSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gamelift:(?P<Region>[\w-]*):(?P<Account>\d{12}):script/(?P<ScriptId>.+?)$"), 'names': ['script'], 'sdk': 'gamelift', 'cfn': 'AWS::GameLift::Script', 'tag': 'AWS::GameLift::Script'},
    ],
    'gameliftstreams': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gameliftstreams:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': 'gameliftstreams', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):gameliftstreams:(?P<Region>[\w-]*):(?P<Account>\d{12}):streamgroup/(?P<StreamGroupId>.+?)$"), 'names': ['stream-group', 'stream group'], 'sdk': 'gameliftstreams', 'cfn': None, 'tag': None},
    ],
    'geo': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo:(?P<Region>[\w-]*):(?P<Account>\d{12}):api-key/(?P<KeyName>.+?)$"), 'names': ['api-key'], 'sdk': 'location', 'cfn': 'AWS::Location::APIKey', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo:(?P<Region>[\w-]*):(?P<Account>\d{12}):geofence-collection/(?P<GeofenceCollectionName>.+?)$"), 'names': ['geofence-collection'], 'sdk': 'location', 'cfn': 'AWS::Location::GeofenceCollection', 'tag': 'AWS::Location::GeofenceCollection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo:(?P<Region>[\w-]*):(?P<Account>\d{12}):map/(?P<MapName>.+?)$"), 'names': ['map'], 'sdk': 'location', 'cfn': 'AWS::Location::Map', 'tag': 'AWS::Location::Map'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo:(?P<Region>[\w-]*):(?P<Account>\d{12}):place-index/(?P<IndexName>.+?)$"), 'names': ['place-index'], 'sdk': 'location', 'cfn': 'AWS::Location::PlaceIndex', 'tag': 'AWS::Location::PlaceIndex'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo:(?P<Region>[\w-]*):(?P<Account>\d{12}):route-calculator/(?P<CalculatorName>.+?)$"), 'names': ['route-calculator'], 'sdk': 'location', 'cfn': 'AWS::Location::RouteCalculator', 'tag': 'AWS::Location::RouteCalculator'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo:(?P<Region>[\w-]*):(?P<Account>\d{12}):tracker/(?P<TrackerName>.+?)$"), 'names': ['tracker'], 'sdk': 'location', 'cfn': 'AWS::Location::Tracker', 'tag': 'AWS::Location::Tracker'},
    ],
    'geo-maps': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo-maps:(?P<Region>[\w-]*)::provider/default$"), 'names': ['provider'], 'sdk': 'geo-maps', 'cfn': None, 'tag': None},
    ],
    'geo-places': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo-places:(?P<Region>[\w-]*)::provider/default$"), 'names': ['provider'], 'sdk': 'geo-places', 'cfn': None, 'tag': None},
    ],
    'geo-routes': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):geo-routes:(?P<Region>[\w-]*)::provider/default$"), 'names': ['provider'], 'sdk': 'geo-routes', 'cfn': None, 'tag': None},
    ],
    'glacier': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glacier:(?P<Region>[\w-]*):(?P<Account>\d{12}):vaults/(?P<VaultName>.+?)$"), 'names': ['vault'], 'sdk': 'glacier', 'cfn': None, 'tag': 'AWS::Glacier::Vault'},
    ],
    'globalaccelerator': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):globalaccelerator::(?P<Account>\d{12}):accelerator/(?P<ResourceId>.+?)/listener/(?P<ListenerId>.+?)/endpoint-group/(?P<EndpointGroupId>.+?)$"), 'names': ['endpoint-group', 'endpointgroup'], 'sdk': 'globalaccelerator', 'cfn': 'AWS::GlobalAccelerator::EndpointGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):globalaccelerator::(?P<Account>\d{12}):accelerator/(?P<ResourceId>.+?)/listener/(?P<ListenerId>.+?)$"), 'names': ['listener'], 'sdk': 'globalaccelerator', 'cfn': 'AWS::GlobalAccelerator::Listener', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):globalaccelerator::(?P<Account>\d{12}):accelerator/(?P<ResourceId>.+?)$"), 'names': ['accelerator'], 'sdk': 'globalaccelerator', 'cfn': 'AWS::GlobalAccelerator::Accelerator', 'tag': 'AWS::GlobalAccelerator::Accelerator'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):globalaccelerator::(?P<Account>\d{12}):attachment/(?P<ResourceId>.+?)$"), 'names': ['attachment'], 'sdk': 'globalaccelerator', 'cfn': 'AWS::GlobalAccelerator::CrossAccountAttachment', 'tag': None},
    ],
    'glue': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):tableVersion/(?P<DatabaseName>.+?)/(?P<TableName>.+?)/(?P<TableVersionName>.+?)$"), 'names': ['table-version', 'tableversion'], 'sdk': 'glue', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):table/(?P<DatabaseName>.+?)/(?P<TableName>.+?)$"), 'names': ['table'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Table', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):userDefinedFunction/(?P<DatabaseName>.+?)/(?P<UserDefinedFunctionName>.+?)$"), 'names': ['user-defined-function', 'userdefinedfunction'], 'sdk': 'glue', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):blueprint/(?P<BlueprintName>.+?)$"), 'names': ['blueprint'], 'sdk': 'glue', 'cfn': None, 'tag': 'AWS::Glue::Blueprint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<CatalogName>.+?)$"), 'names': ['catalog'], 'sdk': 'glue', 'cfn': None, 'tag': 'AWS::Glue::Catalog'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):completion/(?P<CompletionId>.+?)$"), 'names': ['completion'], 'sdk': 'glue', 'cfn': None, 'tag': 'AWS::Glue::Completion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):connection/(?P<ConnectionName>.+?)$"), 'names': ['connection'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Connection', 'tag': 'AWS::Glue::Connection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):crawler/(?P<CrawlerName>.+?)$"), 'names': ['crawler'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Crawler', 'tag': 'AWS::Glue::Crawler'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):customEntityType/(?P<CustomEntityTypeId>.+?)$"), 'names': ['custom-entity-type', 'customEntityType'], 'sdk': 'glue', 'cfn': 'AWS::Glue::CustomEntityType', 'tag': 'AWS::Glue::CustomEntityType'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataQualityRuleset/(?P<RulesetName>.+?)$"), 'names': ['data-quality-ruleset', 'dataQualityRuleset'], 'sdk': 'glue', 'cfn': 'AWS::Glue::DataQualityRuleset', 'tag': 'AWS::Glue::DataQualityRuleset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):database/(?P<DatabaseName>.+?)$"), 'names': ['database'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Database', 'tag': 'AWS::Glue::Database'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):devEndpoint/(?P<DevEndpointName>.+?)$"), 'names': ['dev-endpoint', 'devendpoint'], 'sdk': 'glue', 'cfn': 'AWS::Glue::DevEndpoint', 'tag': 'AWS::Glue::DevEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):integration:(?P<IntegrationId>.+?)$"), 'names': ['integration'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Integration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobName>.+?)$"), 'names': ['job'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Job', 'tag': 'AWS::Glue::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):mlTransform/(?P<TransformId>.+?)$"), 'names': ['ml-transform', 'mlTransform'], 'sdk': 'glue', 'cfn': 'AWS::Glue::MLTransform', 'tag': 'AWS::Glue::MLTransform'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):registry/(?P<RegistryName>.+?)$"), 'names': ['registry'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Registry', 'tag': 'AWS::Glue::Registry'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):schema/(?P<SchemaName>.+?)$"), 'names': ['schema'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Schema', 'tag': 'AWS::Glue::Schema'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):session/(?P<SessionId>.+?)$"), 'names': ['session'], 'sdk': 'glue', 'cfn': None, 'tag': 'AWS::Glue::Session'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):trigger/(?P<TriggerName>.+?)$"), 'names': ['trigger'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Trigger', 'tag': 'AWS::Glue::Trigger'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):usageProfile/(?P<UsageProfileId>.+?)$"), 'names': ['usage-profile', 'usageProfile'], 'sdk': 'glue', 'cfn': 'AWS::Glue::UsageProfile', 'tag': 'AWS::Glue::UsageProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow/(?P<WorkflowName>.+?)$"), 'names': ['workflow'], 'sdk': 'glue', 'cfn': 'AWS::Glue::Workflow', 'tag': 'AWS::Glue::Workflow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):glue:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog$"), 'names': ['root-catalog', 'rootcatalog'], 'sdk': 'glue', 'cfn': None, 'tag': None},
    ],
    'grafana': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):grafana:(?P<Region>[\w-]*):(?P<Account>\d{12}):/workspaces/(?P<ResourceId>.+?)$"), 'names': ['workspace'], 'sdk': 'grafana', 'cfn': 'AWS::Grafana::Workspace', 'tag': 'AWS::Grafana::Workspace'},
    ],
    'greengrass': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/connectors/(?P<ConnectorDefinitionId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['connector-definition-version', 'connectorDefinitionVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::ConnectorDefinitionVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/cores/(?P<CoreDefinitionId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['core-definition-version', 'coreDefinitionVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::CoreDefinitionVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/devices/(?P<DeviceDefinitionId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['device-definition-version', 'deviceDefinitionVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::DeviceDefinitionVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/functions/(?P<FunctionDefinitionId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['function-definition-version', 'functionDefinitionVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::FunctionDefinitionVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/loggers/(?P<LoggerDefinitionId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['logger-definition-version', 'loggerDefinitionVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::LoggerDefinitionVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/resources/(?P<ResourceDefinitionId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['resource-definition-version', 'resourceDefinitionVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::ResourceDefinitionVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/subscriptions/(?P<SubscriptionDefinitionId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['subscription-definition-version', 'subscriptionDefinitionVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::SubscriptionDefinitionVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/groups/(?P<GroupId>.+?)/certificateauthorities/(?P<CertificateAuthorityId>.+?)$"), 'names': ['certificate-authority', 'certificateAuthority'], 'sdk': 'greengrass', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/groups/(?P<GroupId>.+?)/deployments/(?P<DeploymentId>.+?)$"), 'names': ['deployment'], 'sdk': 'greengrassv2', 'cfn': 'AWS::GreengrassV2::Deployment', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/groups/(?P<GroupId>.+?)/versions/(?P<VersionId>.+?)$"), 'names': ['group-version', 'groupVersion'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::GroupVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/bulk/deployments/(?P<BulkDeploymentId>.+?)$"), 'names': ['bulk-deployment', 'bulkDeployment'], 'sdk': 'greengrass', 'cfn': None, 'tag': 'AWS::Greengrass::BulkDeployment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/connectors/(?P<ConnectorDefinitionId>.+?)$"), 'names': ['connector-definition', 'connectorDefinition'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::ConnectorDefinition', 'tag': 'AWS::Greengrass::ConnectorDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/cores/(?P<CoreDefinitionId>.+?)$"), 'names': ['core-definition', 'coreDefinition'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::CoreDefinition', 'tag': 'AWS::Greengrass::CoreDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/devices/(?P<DeviceDefinitionId>.+?)$"), 'names': ['device-definition', 'deviceDefinition'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::DeviceDefinition', 'tag': 'AWS::Greengrass::DeviceDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/functions/(?P<FunctionDefinitionId>.+?)$"), 'names': ['function-definition', 'functionDefinition'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::FunctionDefinition', 'tag': 'AWS::Greengrass::FunctionDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/loggers/(?P<LoggerDefinitionId>.+?)$"), 'names': ['logger-definition', 'loggerDefinition'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::LoggerDefinition', 'tag': 'AWS::Greengrass::LoggerDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/resources/(?P<ResourceDefinitionId>.+?)$"), 'names': ['resource-definition', 'resourceDefinition'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::ResourceDefinition', 'tag': 'AWS::Greengrass::ResourceDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/definition/subscriptions/(?P<SubscriptionDefinitionId>.+?)$"), 'names': ['subscription-definition', 'subscriptionDefinition'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::SubscriptionDefinition', 'tag': 'AWS::Greengrass::SubscriptionDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/things/(?P<ThingName>.+?)/connectivityInfo$"), 'names': ['connectivity-info', 'connectivityInfo'], 'sdk': 'greengrass', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/things/(?P<ThingName>.+?)/runtimeconfig$"), 'names': ['thing-runtime-config', 'thingRuntimeConfig'], 'sdk': 'greengrass', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):/greengrass/groups/(?P<GroupId>.+?)$"), 'names': ['group'], 'sdk': 'greengrass', 'cfn': 'AWS::Greengrass::Group', 'tag': 'AWS::Greengrass::Group'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):components:(?P<ComponentName>.+?):versions:(?P<ComponentVersion>.+?)$"), 'names': ['component-version', 'componentVersion'], 'sdk': 'greengrassv2', 'cfn': 'AWS::GreengrassV2::ComponentVersion', 'tag': 'AWS::GreengrassV2::ComponentVersion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):components:(?P<ComponentName>.+?)$"), 'names': ['component'], 'sdk': 'greengrassv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):coreDevices:(?P<CoreDeviceThingName>.+?)$"), 'names': ['core-device', 'coreDevice'], 'sdk': 'greengrassv2', 'cfn': None, 'tag': 'AWS::GreengrassV2::CoreDevice'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):greengrass:(?P<Region>[\w-]*):(?P<Account>\d{12}):deployments:(?P<DeploymentId>.+?)$"), 'names': ['deployment'], 'sdk': 'greengrassv2', 'cfn': 'AWS::GreengrassV2::Deployment', 'tag': None},
    ],
    'groundstation': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):config/(?P<ConfigType>.+?)/(?P<ConfigId>.+?)$"), 'names': ['config', 'Config'], 'sdk': 'groundstation', 'cfn': 'AWS::GroundStation::Config', 'tag': 'AWS::GroundStation::Config'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent/(?P<AgentId>.+?)$"), 'names': ['agent', 'Agent'], 'sdk': 'groundstation', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):contact/(?P<ContactId>.+?)$"), 'names': ['contact', 'Contact'], 'sdk': 'groundstation', 'cfn': None, 'tag': 'AWS::GroundStation::Contact'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataflow-endpoint-group/(?P<DataflowEndpointGroupId>.+?)$"), 'names': ['dataflow-endpoint-group', 'DataflowEndpointGroup'], 'sdk': 'groundstation', 'cfn': 'AWS::GroundStation::DataflowEndpointGroup', 'tag': 'AWS::GroundStation::DataflowEndpointGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):ephemeris/(?P<EphemerisId>.+?)$"), 'names': ['ephemeris-item', 'EphemerisItem'], 'sdk': 'groundstation', 'cfn': None, 'tag': 'AWS::GroundStation::Ephemeris'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):groundstation:(?P<GroundStationId>.+?)$"), 'names': ['ground-station-resource', 'GroundStationResource'], 'sdk': 'groundstation', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):mission-profile/(?P<MissionProfileId>.+?)$"), 'names': ['mission-profile', 'MissionProfile'], 'sdk': 'groundstation', 'cfn': 'AWS::GroundStation::MissionProfile', 'tag': 'AWS::GroundStation::MissionProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):groundstation:(?P<Region>[\w-]*):(?P<Account>\d{12}):satellite/(?P<SatelliteId>.+?)$"), 'names': ['satellite', 'Satellite'], 'sdk': 'groundstation', 'cfn': None, 'tag': 'AWS::GroundStation::Satellite'},
    ],
    'guardduty': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<DetectorId>.+?)/filter/(?P<FilterName>.+?)$"), 'names': ['filter'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::Filter', 'tag': 'AWS::GuardDuty::Filter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<DetectorId>.+?)/ipset/(?P<IPSetId>.+?)$"), 'names': ['ipset'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::IPSet', 'tag': 'AWS::GuardDuty::IPSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<DetectorId>.+?)/publishingdestination/(?P<PublishingDestinationId>.+?)$"), 'names': ['publishing-destination', 'publishingDestination'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::PublishingDestination', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<DetectorId>.+?)/threatentityset/(?P<ThreatEntitySetId>.+?)$"), 'names': ['threat-entity-set', 'threatentityset'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::ThreatEntitySet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<DetectorId>.+?)/threatintelset/(?P<ThreatIntelSetId>.+?)$"), 'names': ['threat-intel-set', 'threatintelset'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::ThreatIntelSet', 'tag': 'AWS::GuardDuty::ThreatIntelSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<DetectorId>.+?)/trustedentityset/(?P<TrustedEntitySetId>.+?)$"), 'names': ['trusted-entity-set', 'trustedentityset'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::TrustedEntitySet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):detector/(?P<DetectorId>.+?)$"), 'names': ['detector'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::Detector', 'tag': 'AWS::GuardDuty::Detector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):guardduty:(?P<Region>[\w-]*):(?P<Account>\d{12}):malware-protection-plan/(?P<MalwareProtectionPlanId>.+?)$"), 'names': ['malware-protection-plan', 'malwareprotectionplan'], 'sdk': 'guardduty', 'cfn': 'AWS::GuardDuty::MalwareProtectionPlan', 'tag': 'AWS::GuardDuty::MalwareProtectionPlan'},
    ],
    'health': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):health:(?P<Region>[\w-]*):(?P<Account>\d{12}):event/(?P<Service>.+?)/(?P<EventTypeCode>.+?)/(?P<EventId>.+?)$"), 'names': ['event'], 'sdk': 'health', 'cfn': None, 'tag': None},
    ],
    'healthlake': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):healthlake:(?P<Region>[\w-]*):(?P<Account>\d{12}):datastore/fhir/(?P<DatastoreId>.+?)$"), 'names': ['datastore'], 'sdk': 'healthlake', 'cfn': 'AWS::HealthLake::FHIRDatastore', 'tag': 'AWS::HealthLake::FHIRDatastore'},
    ],
    'honeycode': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):honeycode:(?P<Region>[\w-]*):(?P<Account>\d{12}):screen-automation:workbook/(?P<WorkbookId>.+?)/app/(?P<AppId>.+?)/screen/(?P<ScreenId>.+?)/automation/(?P<AutomationId>.+?)$"), 'names': ['screen-automation'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):honeycode:(?P<Region>[\w-]*):(?P<Account>\d{12}):screen:workbook/(?P<WorkbookId>.+?)/app/(?P<AppId>.+?)/screen/(?P<ScreenId>.+?)$"), 'names': ['screen'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):honeycode:(?P<Region>[\w-]*):(?P<Account>\d{12}):table:workbook/(?P<WorkbookId>.+?)/table/(?P<TableId>.+?)$"), 'names': ['table'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):honeycode:(?P<Region>[\w-]*):(?P<Account>\d{12}):workbook:workbook/(?P<WorkbookId>.+?)$"), 'names': ['workbook'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'iam': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::aws:contextProvider/(?P<ContextProviderName>.+?)$"), 'names': ['context-provider'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):role/aws-service-role/es\.amazonaws\.com/AWSServiceRoleForAmazonOpenSearchService$"), 'names': ['es-role', 'es_role'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):role/aws-service-role/opensearchservice\.amazonaws\.com/AWSServiceRoleForAmazonOpenSearchService$"), 'names': ['opensearchservice-role', 'opensearchservice_role'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):assumed-role/(?P<RoleName>.+?)/(?P<RoleSessionName>.+?)$"), 'names': ['assumed-role'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):access-report/(?P<EntityPath>.+?)$"), 'names': ['access-report'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):delegation-request/(?P<DelegationRequestId>.+?)$"), 'names': ['delegation-request'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):federated-user/(?P<UserName>.+?)$"), 'names': ['federated-user'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):group/(?P<GroupNameWithPath>.+?)$"), 'names': ['group'], 'sdk': 'iam', 'cfn': 'AWS::IAM::Group', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):instance-profile/(?P<InstanceProfileNameWithPath>.+?)$"), 'names': ['instance-profile'], 'sdk': 'iam', 'cfn': 'AWS::IAM::InstanceProfile', 'tag': 'AWS::IAM::InstanceProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):mfa/(?P<MfaTokenIdWithPath>.+?)$"), 'names': ['mfa'], 'sdk': 'iam', 'cfn': 'AWS::IAM::VirtualMFADevice', 'tag': 'AWS::IAM::VirtualMFADevice'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):oidc-provider/(?P<OidcProviderName>.+?)$"), 'names': ['oidc-provider'], 'sdk': 'iam', 'cfn': 'AWS::IAM::OIDCProvider', 'tag': 'AWS::IAM::OpenIDConnectProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):policy/(?P<PolicyNameWithPath>.+?)$"), 'names': ['policy'], 'sdk': 'iam', 'cfn': 'AWS::IAM::Policy', 'tag': 'AWS::IAM::ManagedPolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):role/(?P<RoleName>.+?)$"), 'names': ['iam-role'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):role/(?P<RoleNameWithPath>.+?)$"), 'names': ['role'], 'sdk': 'iam', 'cfn': 'AWS::IAM::Role', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):saml-provider/(?P<SamlProviderName>.+?)$"), 'names': ['saml-provider'], 'sdk': 'iam', 'cfn': 'AWS::IAM::SAMLProvider', 'tag': 'AWS::IAM::SAMLProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):server-certificate/(?P<CertificateNameWithPath>.+?)$"), 'names': ['server-certificate'], 'sdk': 'iam', 'cfn': 'AWS::IAM::ServerCertificate', 'tag': 'AWS::IAM::ServerCertificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):sms-mfa/(?P<MfaTokenIdWithPath>.+?)$"), 'names': ['sms-mfa'], 'sdk': 'iam', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):user/(?P<AwsUserName>.+?)$"), 'names': ['user'], 'sdk': 'iam', 'cfn': 'AWS::IAM::User', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):user/(?P<UserNameWithPath>.+?)$"), 'names': ['user'], 'sdk': 'iam', 'cfn': 'AWS::IAM::User', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iam::(?P<Account>\d{12}):root$"), 'names': ['root-user'], 'sdk': 'iam', 'cfn': None, 'tag': None},
    ],
    'identity-sync': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):identity-sync:(?P<Region>[\w-]*):(?P<Account>\d{12}):target/(?P<SyncProfileName>.+?)/(?P<SyncTargetName>.+?)$"), 'names': ['sync-target-resource', 'SyncTargetResource'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):identity-sync:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<SyncProfileName>.+?)$"), 'names': ['sync-profile-resource', 'SyncProfileResource'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'identitystore': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):identitystore:::group/(?P<GroupId>.+?)$"), 'names': ['group', 'Group'], 'sdk': 'identitystore', 'cfn': 'AWS::IdentityStore::Group', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):identitystore:::membership/(?P<MembershipId>.+?)$"), 'names': ['group-membership', 'GroupMembership'], 'sdk': 'identitystore', 'cfn': 'AWS::IdentityStore::GroupMembership', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):identitystore:::user/(?P<UserId>.+?)$"), 'names': ['user', 'User'], 'sdk': 'identitystore', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):identitystore::(?P<Account>\d{12}):identitystore/(?P<IdentityStoreId>.+?)$"), 'names': ['identity-store', 'Identitystore'], 'sdk': 'identitystore', 'cfn': None, 'tag': None},
    ],
    'imagebuilder': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow/(?P<WorkflowType>.+?)/(?P<WorkflowName>.+?)/(?P<WorkflowVersion>.+?)/(?P<WorkflowBuildVersion>.+?)$"), 'names': ['workflow'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::Workflow', 'tag': 'AWS::ImageBuilder::Workflow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):component/(?P<ComponentName>.+?)/(?P<ComponentVersion>.+?)/(?P<ComponentBuildVersion>.+?)$"), 'names': ['component'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::Component', 'tag': 'AWS::ImageBuilder::Component'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):image/(?P<ImageName>.+?)/(?P<ImageVersion>.+?)/(?P<ImageBuildVersion>.+?)$"), 'names': ['image'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::Image', 'tag': 'AWS::ImageBuilder::Image'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):container-recipe/(?P<ContainerRecipeName>.+?)/(?P<ContainerRecipeVersion>.+?)$"), 'names': ['container-recipe', 'containerRecipe'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::ContainerRecipe', 'tag': 'AWS::ImageBuilder::ContainerRecipe'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):image/(?P<ImageName>.+?)/(?P<ImageVersion>.+?)$"), 'names': ['image-version', 'imageVersion'], 'sdk': 'imagebuilder', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):image-recipe/(?P<ImageRecipeName>.+?)/(?P<ImageRecipeVersion>.+?)$"), 'names': ['image-recipe', 'imageRecipe'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::ImageRecipe', 'tag': 'AWS::ImageBuilder::ImageRecipe'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):distribution-configuration/(?P<DistributionConfigurationName>.+?)$"), 'names': ['distribution-configuration', 'distributionConfiguration'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::DistributionConfiguration', 'tag': 'AWS::ImageBuilder::DistributionConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):image-pipeline/(?P<ImagePipelineName>.+?)$"), 'names': ['image-pipeline', 'imagePipeline'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::ImagePipeline', 'tag': 'AWS::ImageBuilder::ImagePipeline'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):infrastructure-configuration/(?P<ResourceId>.+?)$"), 'names': ['infrastructure-configuration', 'infrastructureConfiguration'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::InfrastructureConfiguration', 'tag': 'AWS::ImageBuilder::InfrastructureConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):lifecycle-execution/(?P<LifecycleExecutionId>.+?)$"), 'names': ['lifecycle-execution', 'lifecycleExecution'], 'sdk': 'imagebuilder', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):lifecycle-policy/(?P<LifecyclePolicyName>.+?)$"), 'names': ['lifecycle-policy', 'lifecyclePolicy'], 'sdk': 'imagebuilder', 'cfn': 'AWS::ImageBuilder::LifecyclePolicy', 'tag': 'AWS::ImageBuilder::LifecyclePolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow-execution/(?P<WorkflowExecutionId>.+?)$"), 'names': ['workflow-execution', 'workflowExecution'], 'sdk': 'imagebuilder', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):imagebuilder:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow-step-execution/(?P<WorkflowStepExecutionId>.+?)$"), 'names': ['workflow-step-execution', 'workflowStepExecution'], 'sdk': 'imagebuilder', 'cfn': None, 'tag': None},
    ],
    'inspector': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):inspector:(?P<Region>[\w-]*):(?P<Account>\d{12}):target/(?P<TargetId>.+?)/template/(?P<TemplateId>.+?)$"), 'names': ['target-template', 'target/template'], 'sdk': 'inspector', 'cfn': None, 'tag': None},
    ],
    'inspector2': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):inspector2:(?P<Region>[\w-]*):(?P<Account>\d{12}):owner/(?P<OwnerId>.+?)/cis-configuration/(?P<CISScanConfigurationId>.+?)$"), 'names': ['cis-scan-configuration', 'CIS Scan Configuration'], 'sdk': 'inspector2', 'cfn': 'AWS::InspectorV2::CisScanConfiguration', 'tag': 'AWS::InspectorV2::CisScanConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):inspector2:(?P<Region>[\w-]*):(?P<Account>\d{12}):owner/(?P<OwnerId>.+?)/codesecurity-configuration/(?P<CodeSecurityScanConfigurationId>.+?)$"), 'names': ['code-security-scan-configuration', 'Code Security Scan Configuration'], 'sdk': 'inspector2', 'cfn': 'AWS::InspectorV2::CodeSecurityScanConfiguration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):inspector2:(?P<Region>[\w-]*):(?P<Account>\d{12}):owner/(?P<OwnerId>.+?)/filter/(?P<FilterId>.+?)$"), 'names': ['filter', 'Filter'], 'sdk': 'inspector2', 'cfn': 'AWS::InspectorV2::Filter', 'tag': 'AWS::InspectorV2::Filter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):inspector2:(?P<Region>[\w-]*):(?P<Account>\d{12}):codesecurity-integration/(?P<CodeSecurityIntegrationId>.+?)$"), 'names': ['code-security-integration', 'Code Security Integration'], 'sdk': 'inspector2', 'cfn': 'AWS::InspectorV2::CodeSecurityIntegration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):inspector2:(?P<Region>[\w-]*):(?P<Account>\d{12}):finding/(?P<FindingId>.+?)$"), 'names': ['finding', 'Finding'], 'sdk': 'inspector2', 'cfn': None, 'tag': None},
    ],
    'internetmonitor': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):internetmonitor::(?P<Account>\d{12}):internet-event/(?P<InternetEventId>.+?)$"), 'names': ['internet-event', 'InternetEvent'], 'sdk': 'internetmonitor', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):internetmonitor:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitor/(?P<MonitorName>.+?)/health-event/(?P<EventId>.+?)$"), 'names': ['health-event', 'HealthEvent'], 'sdk': 'internetmonitor', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):internetmonitor:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitor/(?P<MonitorName>.+?)$"), 'names': ['monitor', 'Monitor'], 'sdk': 'internetmonitor', 'cfn': 'AWS::InternetMonitor::Monitor', 'tag': 'AWS::InternetMonitor::Monitor'},
    ],
    'invoicing': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):invoicing::(?P<Account>\d{12}):invoice-unit/(?P<Identifier>.+?)$"), 'names': ['invoice-unit'], 'sdk': 'invoicing', 'cfn': 'AWS::Invoicing::InvoiceUnit', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):invoicing::(?P<Account>\d{12}):procurement-portal-preference/(?P<Identifier>.+?)$"), 'names': ['procurement-portal-preference'], 'sdk': 'invoicing', 'cfn': None, 'tag': None},
    ],
    'iot': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):package/(?P<PackageName>.+?)/version/(?P<VersionName>.+?)$"), 'names': ['package-version', 'packageversion'], 'sdk': 'iot', 'cfn': 'AWS::IoT::SoftwarePackageVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):domainconfiguration/(?P<DomainConfigurationName>.+?)/(?P<Id>.+?)$"), 'names': ['domain-configuration', 'domainconfiguration'], 'sdk': 'iot', 'cfn': 'AWS::IoT::DomainConfiguration', 'tag': 'AWS::IoT::DomainConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):ruledestination/(?P<DestinationType>.+?)/(?P<Uuid>.+?)$"), 'names': ['destination'], 'sdk': 'iot', 'cfn': 'AWS::IoT::TopicRuleDestination', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):authorizer/(?P<AuthorizerName>.+?)$"), 'names': ['authorizer'], 'sdk': 'iot', 'cfn': 'AWS::IoT::Authorizer', 'tag': 'AWS::IoT::Authorizer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):billinggroup/(?P<BillingGroupName>.+?)$"), 'names': ['billing-group', 'billinggroup'], 'sdk': 'iot', 'cfn': 'AWS::IoT::BillingGroup', 'tag': 'AWS::IoT::BillingGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):cacert/(?P<CACertificate>.+?)$"), 'names': ['cacert'], 'sdk': 'iot', 'cfn': 'AWS::IoT::CACertificate', 'tag': 'AWS::IoT::CACertificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):cert/(?P<Certificate>.+?)$"), 'names': ['cert'], 'sdk': 'iot', 'cfn': 'AWS::IoT::Certificate', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):certificateprovider/(?P<CertificateProviderName>.+?)$"), 'names': ['certificate-provider', 'certificateprovider'], 'sdk': 'iot', 'cfn': 'AWS::IoT::CertificateProvider', 'tag': 'AWS::IoT::CertificateProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):client/(?P<ClientId>.+?)$"), 'names': ['client'], 'sdk': 'iot', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):command/(?P<CommandId>.+?)$"), 'names': ['command'], 'sdk': 'iot', 'cfn': 'AWS::IoT::Command', 'tag': 'AWS::IoT::Command'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):custommetric/(?P<MetricName>.+?)$"), 'names': ['custom-metric', 'custommetric'], 'sdk': 'iot', 'cfn': 'AWS::IoT::CustomMetric', 'tag': 'AWS::IoT::CustomMetric'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):dimension/(?P<DimensionName>.+?)$"), 'names': ['dimension'], 'sdk': 'iot', 'cfn': 'AWS::IoT::Dimension', 'tag': 'AWS::IoT::Dimension'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):fleetmetric/(?P<FleetMetricName>.+?)$"), 'names': ['fleet-metric', 'fleetmetric'], 'sdk': 'iot', 'cfn': 'AWS::IoT::FleetMetric', 'tag': 'AWS::IoT::FleetMetric'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexName>.+?)$"), 'names': ['index'], 'sdk': 'iot', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobId>.+?)$"), 'names': ['job'], 'sdk': 'iot', 'cfn': None, 'tag': 'AWS::IoT::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):jobtemplate/(?P<JobTemplateId>.+?)$"), 'names': ['job-template', 'jobtemplate'], 'sdk': 'iot', 'cfn': 'AWS::IoT::JobTemplate', 'tag': 'AWS::IoT::JobTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):mitigationaction/(?P<MitigationActionName>.+?)$"), 'names': ['mitigation-action', 'mitigationaction'], 'sdk': 'iot', 'cfn': 'AWS::IoT::MitigationAction', 'tag': 'AWS::IoT::MitigationAction'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):otaupdate/(?P<OtaUpdateId>.+?)$"), 'names': ['ota-update', 'otaupdate'], 'sdk': 'iot', 'cfn': None, 'tag': 'AWS::IoT::OTAUpdate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):package/(?P<PackageName>.+?)$"), 'names': ['package'], 'sdk': 'iot', 'cfn': 'AWS::IoT::SoftwarePackage', 'tag': 'AWS::IoT::SoftwarePackage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):policy/(?P<PolicyName>.+?)$"), 'names': ['policy'], 'sdk': 'iot', 'cfn': 'AWS::IoT::Policy', 'tag': 'AWS::IoT::Policy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):provisioningtemplate/(?P<ProvisioningTemplate>.+?)$"), 'names': ['provisioning-template', 'provisioningtemplate'], 'sdk': 'iot', 'cfn': 'AWS::IoT::ProvisioningTemplate', 'tag': 'AWS::IoT::ProvisioningTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):rolealias/(?P<RoleAlias>.+?)$"), 'names': ['role-alias', 'rolealias'], 'sdk': 'iot', 'cfn': 'AWS::IoT::RoleAlias', 'tag': 'AWS::IoT::RoleAlias'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):rule/(?P<RuleName>.+?)$"), 'names': ['rule'], 'sdk': 'iot', 'cfn': 'AWS::IoT::TopicRule', 'tag': 'AWS::IoT::TopicRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):scheduledaudit/(?P<ScheduleName>.+?)$"), 'names': ['scheduled-audit', 'scheduledaudit'], 'sdk': 'iot', 'cfn': 'AWS::IoT::ScheduledAudit', 'tag': 'AWS::IoT::ScheduledAudit'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):securityprofile/(?P<SecurityProfileName>.+?)$"), 'names': ['security-profile', 'securityprofile'], 'sdk': 'iot', 'cfn': 'AWS::IoT::SecurityProfile', 'tag': 'AWS::IoT::SecurityProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):stream/(?P<StreamId>.+?)$"), 'names': ['stream'], 'sdk': 'iot', 'cfn': None, 'tag': 'AWS::IoT::Stream'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):thing/(?P<ThingName>.+?)$"), 'names': ['thing'], 'sdk': 'iot', 'cfn': 'AWS::IoT::Thing', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):thingtype/(?P<ThingTypeName>.+?)$"), 'names': ['thing-type', 'thingtype'], 'sdk': 'iot', 'cfn': 'AWS::IoT::ThingType', 'tag': 'AWS::IoT::ThingType'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):topic/(?P<TopicName>.+?)$"), 'names': ['topic'], 'sdk': 'iot', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):topicfilter/(?P<TopicFilter>.+?)$"), 'names': ['topic-filter', 'topicfilter'], 'sdk': 'iot', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iot:(?P<Region>[\w-]*):(?P<Account>\d{12}):tunnel/(?P<TunnelId>.+?)$"), 'names': ['tunnel'], 'sdk': 'iot', 'cfn': None, 'tag': 'AWS::IoT::Tunnel'},
    ],
    'iotanalytics': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotanalytics:(?P<Region>[\w-]*):(?P<Account>\d{12}):channel/(?P<ChannelName>.+?)$"), 'names': ['channel'], 'sdk': 'iotanalytics', 'cfn': 'AWS::IoTAnalytics::Channel', 'tag': 'AWS::IoTAnalytics::Channel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotanalytics:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<DatasetName>.+?)$"), 'names': ['dataset'], 'sdk': 'iotanalytics', 'cfn': 'AWS::IoTAnalytics::Dataset', 'tag': 'AWS::IoTAnalytics::Dataset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotanalytics:(?P<Region>[\w-]*):(?P<Account>\d{12}):datastore/(?P<DatastoreName>.+?)$"), 'names': ['datastore'], 'sdk': 'iotanalytics', 'cfn': 'AWS::IoTAnalytics::Datastore', 'tag': 'AWS::IoTAnalytics::Datastore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotanalytics:(?P<Region>[\w-]*):(?P<Account>\d{12}):pipeline/(?P<PipelineName>.+?)$"), 'names': ['pipeline'], 'sdk': 'iotanalytics', 'cfn': 'AWS::IoTAnalytics::Pipeline', 'tag': 'AWS::IoTAnalytics::Pipeline'},
    ],
    'iotdeviceadvisor': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotdeviceadvisor:(?P<Region>[\w-]*):(?P<Account>\d{12}):suiterun/(?P<SuiteDefinitionId>.+?)/(?P<SuiteRunId>.+?)$"), 'names': ['suite-run', 'Suiterun'], 'sdk': 'iotdeviceadvisor', 'cfn': None, 'tag': 'AWS::IoTCoreDeviceAdvisor::SuiteRun'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotdeviceadvisor:(?P<Region>[\w-]*):(?P<Account>\d{12}):suitedefinition/(?P<SuiteDefinitionId>.+?)$"), 'names': ['suite-definition', 'Suitedefinition'], 'sdk': 'iotdeviceadvisor', 'cfn': 'AWS::IoTCoreDeviceAdvisor::SuiteDefinition', 'tag': 'AWS::IoTCoreDeviceAdvisor::SuiteDefinition'},
    ],
    'iotevents': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotevents:(?P<Region>[\w-]*):(?P<Account>\d{12}):alarmModel/(?P<AlarmModelName>.+?)$"), 'names': ['alarm-model', 'alarmModel'], 'sdk': 'iotevents', 'cfn': 'AWS::IoTEvents::AlarmModel', 'tag': 'AWS::IoTEvents::AlarmModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotevents:(?P<Region>[\w-]*):(?P<Account>\d{12}):detectorModel/(?P<DetectorModelName>.+?)$"), 'names': ['detector-model', 'detectorModel'], 'sdk': 'iotevents', 'cfn': 'AWS::IoTEvents::DetectorModel', 'tag': 'AWS::IoTEvents::DetectorModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotevents:(?P<Region>[\w-]*):(?P<Account>\d{12}):input/(?P<InputName>.+?)$"), 'names': ['input'], 'sdk': 'iotevents', 'cfn': 'AWS::IoTEvents::Input', 'tag': 'AWS::IoTEvents::Input'},
    ],
    'iotfleethub': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleethub:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'iotfleetwise': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleetwise:(?P<Region>[\w-]*):(?P<Account>\d{12}):campaign/(?P<CampaignName>.+?)$"), 'names': ['campaign'], 'sdk': 'iotfleetwise', 'cfn': 'AWS::IoTFleetWise::Campaign', 'tag': 'AWS::IoTFleetWise::Campaign'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleetwise:(?P<Region>[\w-]*):(?P<Account>\d{12}):decoder-manifest/(?P<Name>.+?)$"), 'names': ['decoder-manifest', 'decodermanifest'], 'sdk': 'iotfleetwise', 'cfn': 'AWS::IoTFleetWise::DecoderManifest', 'tag': 'AWS::IoTFleetWise::DecoderManifest'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleetwise:(?P<Region>[\w-]*):(?P<Account>\d{12}):fleet/(?P<FleetId>.+?)$"), 'names': ['fleet'], 'sdk': 'iotfleetwise', 'cfn': 'AWS::IoTFleetWise::Fleet', 'tag': 'AWS::IoTFleetWise::Fleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleetwise:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-manifest/(?P<Name>.+?)$"), 'names': ['model-manifest', 'modelmanifest'], 'sdk': 'iotfleetwise', 'cfn': 'AWS::IoTFleetWise::ModelManifest', 'tag': 'AWS::IoTFleetWise::ModelManifest'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleetwise:(?P<Region>[\w-]*):(?P<Account>\d{12}):signal-catalog/(?P<Name>.+?)$"), 'names': ['signal-catalog', 'signalcatalog'], 'sdk': 'iotfleetwise', 'cfn': 'AWS::IoTFleetWise::SignalCatalog', 'tag': 'AWS::IoTFleetWise::SignalCatalog'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleetwise:(?P<Region>[\w-]*):(?P<Account>\d{12}):state-template/(?P<StateTemplateId>.+?)$"), 'names': ['state-template', 'statetemplate'], 'sdk': 'iotfleetwise', 'cfn': 'AWS::IoTFleetWise::StateTemplate', 'tag': 'AWS::IoTFleetWise::StateTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotfleetwise:(?P<Region>[\w-]*):(?P<Account>\d{12}):vehicle/(?P<VehicleId>.+?)$"), 'names': ['vehicle'], 'sdk': 'iotfleetwise', 'cfn': 'AWS::IoTFleetWise::Vehicle', 'tag': 'AWS::IoTFleetWise::Vehicle'},
    ],
    'iotmanagedintegrations': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotmanagedintegrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):account-association/(?P<AccountAssociationId>.+?)$"), 'names': ['account-association'], 'sdk': 'iot-managed-integrations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotmanagedintegrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):credential-locker/(?P<Identifier>.+?)$"), 'names': ['credential-locker'], 'sdk': 'iot-managed-integrations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotmanagedintegrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):managed-thing/(?P<Identifier>.+?)$"), 'names': ['managed-thing'], 'sdk': 'iot-managed-integrations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotmanagedintegrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):ota-task/(?P<Identifier>.+?)$"), 'names': ['ota-task'], 'sdk': 'iot-managed-integrations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotmanagedintegrations:(?P<Region>[\w-]*):(?P<Account>\d{12}):provisioning-profile/(?P<Identifier>.+?)$"), 'names': ['provisioning-profile'], 'sdk': 'iot-managed-integrations', 'cfn': None, 'tag': None},
    ],
    'iotsitewise': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):access-policy/(?P<AccessPolicyId>.+?)$"), 'names': ['access-policy'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::AccessPolicy', 'tag': 'AWS::IoTSiteWise::AccessPolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):asset/(?P<AssetId>.+?)$"), 'names': ['asset'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::Asset', 'tag': 'AWS::IoTSiteWise::Asset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):asset-model/(?P<AssetModelId>.+?)$"), 'names': ['asset-model'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::AssetModel', 'tag': 'AWS::IoTSiteWise::AssetModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):computation-model/(?P<ComputationModelId>.+?)$"), 'names': ['computation-model'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::ComputationModel', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):dashboard/(?P<DashboardId>.+?)$"), 'names': ['dashboard'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::Dashboard', 'tag': 'AWS::IoTSiteWise::Dashboard'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<DatasetId>.+?)$"), 'names': ['dataset'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::Dataset', 'tag': 'AWS::IoTSiteWise::Dataset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<GatewayId>.+?)$"), 'names': ['gateway'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::Gateway', 'tag': 'AWS::IoTSiteWise::Gateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):portal/(?P<PortalId>.+?)$"), 'names': ['portal'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::Portal', 'tag': 'AWS::IoTSiteWise::Portal'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectId>.+?)$"), 'names': ['project'], 'sdk': 'iotsitewise', 'cfn': 'AWS::IoTSiteWise::Project', 'tag': 'AWS::IoTSiteWise::Project'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotsitewise:(?P<Region>[\w-]*):(?P<Account>\d{12}):time-series/(?P<TimeSeriesId>.+?)$"), 'names': ['time-series'], 'sdk': 'iotsitewise', 'cfn': None, 'tag': 'AWS::IoTSiteWise::TimeSeries'},
    ],
    'iottwinmaker': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iottwinmaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspace/(?P<WorkspaceId>.+?)/component-type/(?P<ComponentTypeId>.+?)$"), 'names': ['component-type', 'componentType'], 'sdk': 'iottwinmaker', 'cfn': 'AWS::IoTTwinMaker::ComponentType', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iottwinmaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspace/(?P<WorkspaceId>.+?)/entity/(?P<EntityId>.+?)$"), 'names': ['entity'], 'sdk': 'iottwinmaker', 'cfn': 'AWS::IoTTwinMaker::Entity', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iottwinmaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspace/(?P<WorkspaceId>.+?)/scene/(?P<SceneId>.+?)$"), 'names': ['scene'], 'sdk': 'iottwinmaker', 'cfn': 'AWS::IoTTwinMaker::Scene', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iottwinmaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspace/(?P<WorkspaceId>.+?)/sync-job/(?P<SyncJobId>.+?)$"), 'names': ['sync-job', 'syncJob'], 'sdk': 'iottwinmaker', 'cfn': 'AWS::IoTTwinMaker::SyncJob', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iottwinmaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):metadata-transfer-job/(?P<MetadataTransferJobId>.+?)$"), 'names': ['metadata-transfer-job', 'metadataTransferJob'], 'sdk': 'iottwinmaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iottwinmaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspace/(?P<WorkspaceId>.+?)$"), 'names': ['workspace'], 'sdk': 'iottwinmaker', 'cfn': 'AWS::IoTTwinMaker::Workspace', 'tag': None},
    ],
    'iotwireless': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):Destination/(?P<DestinationName>.+?)$"), 'names': ['destination', 'Destination'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::Destination', 'tag': 'AWS::IoTWireless::Destination'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):DeviceProfile/(?P<DeviceProfileId>.+?)$"), 'names': ['device-profile', 'DeviceProfile'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::DeviceProfile', 'tag': 'AWS::IoTWireless::DeviceProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):FuotaTask/(?P<FuotaTaskId>.+?)$"), 'names': ['fuota-task', 'FuotaTask'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::FuotaTask', 'tag': 'AWS::IoTWireless::FuotaTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):ImportTask/(?P<ImportTaskId>.+?)$"), 'names': ['import-task', 'ImportTask'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::WirelessDeviceImportTask', 'tag': 'AWS::IoTWireless::ImportTask'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):MulticastGroup/(?P<MulticastGroupId>.+?)$"), 'names': ['multicast-group', 'MulticastGroup'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::MulticastGroup', 'tag': 'AWS::IoTWireless::MulticastGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):NetworkAnalyzerConfiguration/(?P<NetworkAnalyzerConfigurationName>.+?)$"), 'names': ['network-analyzer-configuration', 'NetworkAnalyzerConfiguration'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::NetworkAnalyzerConfiguration', 'tag': 'AWS::IoTWireless::NetworkAnalyzerConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):ServiceProfile/(?P<ServiceProfileId>.+?)$"), 'names': ['service-profile', 'ServiceProfile'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::ServiceProfile', 'tag': 'AWS::IoTWireless::ServiceProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):SidewalkAccount/(?P<SidewalkAccountId>.+?)$"), 'names': ['sidewalk-account', 'SidewalkAccount'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::PartnerAccount', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):WirelessDevice/(?P<WirelessDeviceId>.+?)$"), 'names': ['wireless-device', 'WirelessDevice'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::WirelessDevice', 'tag': 'AWS::IoTWireless::WirelessDevice'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):WirelessGateway/(?P<WirelessGatewayId>.+?)$"), 'names': ['wireless-gateway', 'WirelessGateway'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::WirelessGateway', 'tag': 'AWS::IoTWireless::WirelessGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iotwireless:(?P<Region>[\w-]*):(?P<Account>\d{12}):WirelessGatewayTaskDefinition/(?P<WirelessGatewayTaskDefinitionId>.+?)$"), 'names': ['wireless-gateway-task-definition', 'WirelessGatewayTaskDefinition'], 'sdk': 'iotwireless', 'cfn': 'AWS::IoTWireless::TaskDefinition', 'tag': 'AWS::IoTWireless::TaskDefinition'},
    ],
    'iq': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::paymentRequest/(?P<ConversationId>.+?)/(?P<ProposalId>.+?)/(?P<PaymentRequestId>.+?)$"), 'names': ['payment-request', 'paymentRequest'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::paymentSchedule/(?P<ConversationId>.+?)/(?P<ProposalId>.+?)/(?P<VersionId>.+?)$"), 'names': ['payment-schedule', 'paymentSchedule'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::proposal/(?P<ConversationId>.+?)/(?P<ProposalId>.+?)$"), 'names': ['proposal'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::attachment/(?P<AttachmentId>.+?)$"), 'names': ['attachment'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::buyer/(?P<BuyerId>.+?)$"), 'names': ['buyer'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::call/(?P<CallId>.+?)$"), 'names': ['call'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::company/(?P<CompanyId>.+?)$"), 'names': ['company'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::conversation/(?P<ConversationId>.+?)$"), 'names': ['conversation'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::expert/(?P<ExpertId>.+?)$"), 'names': ['expert'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::listing/(?P<ListingId>.+?)$"), 'names': ['listing'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::request/(?P<RequestId>.+?)$"), 'names': ['request'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::seller/(?P<SellerAwsAccountId>.+?)$"), 'names': ['seller'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq:(?P<Region>[\w-]*)::token/(?P<TokenId>.+?)$"), 'names': ['token'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'iq-permission': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):iq-permission:(?P<Region>[\w-]*)::permission/(?P<PermissionRequestId>.+?)$"), 'names': ['permission'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'ivs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):channel/(?P<ResourceId>.+?)$"), 'names': ['channel', 'Channel'], 'sdk': 'ivs', 'cfn': 'AWS::IVS::Channel', 'tag': 'AWS::IVS::Channel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):composition/(?P<ResourceId>.+?)$"), 'names': ['composition', 'Composition'], 'sdk': 'ivs-realtime', 'cfn': None, 'tag': 'AWS::IVS::Composition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):encoder-configuration/(?P<ResourceId>.+?)$"), 'names': ['encoder-configuration', 'Encoder-Configuration'], 'sdk': 'ivs-realtime', 'cfn': 'AWS::IVS::EncoderConfiguration', 'tag': 'AWS::IVS::EncoderConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):ingest-configuration/(?P<ResourceId>.+?)$"), 'names': ['ingest-configuration', 'Ingest-Configuration'], 'sdk': 'ivs-realtime', 'cfn': 'AWS::IVS::IngestConfiguration', 'tag': 'AWS::IVS::IngestConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):playback-key/(?P<ResourceId>.+?)$"), 'names': ['playback-key-pair', 'Playback-Key-Pair'], 'sdk': 'ivs', 'cfn': 'AWS::IVS::PlaybackKeyPair', 'tag': 'AWS::IVS::PlaybackKeyPair'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):playback-restriction-policy/(?P<ResourceId>.+?)$"), 'names': ['playback-restriction-policy', 'Playback-Restriction-Policy'], 'sdk': 'ivs', 'cfn': 'AWS::IVS::PlaybackRestrictionPolicy', 'tag': 'AWS::IVS::PlaybackRestrictionPolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):public-key/(?P<ResourceId>.+?)$"), 'names': ['public-key', 'Public-Key'], 'sdk': 'ivs-realtime', 'cfn': 'AWS::IVS::PublicKey', 'tag': 'AWS::IVS::PublicKey'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):recording-configuration/(?P<ResourceId>.+?)$"), 'names': ['recording-configuration', 'Recording-Configuration'], 'sdk': 'ivs', 'cfn': 'AWS::IVS::RecordingConfiguration', 'tag': 'AWS::IVS::RecordingConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):stage/(?P<ResourceId>.+?)$"), 'names': ['stage', 'Stage'], 'sdk': 'ivs-realtime', 'cfn': 'AWS::IVS::Stage', 'tag': 'AWS::IVS::Stage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):storage-configuration/(?P<ResourceId>.+?)$"), 'names': ['storage-configuration', 'Storage-Configuration'], 'sdk': 'ivs-realtime', 'cfn': 'AWS::IVS::StorageConfiguration', 'tag': 'AWS::IVS::StorageConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivs:(?P<Region>[\w-]*):(?P<Account>\d{12}):stream-key/(?P<ResourceId>.+?)$"), 'names': ['stream-key', 'Stream-Key'], 'sdk': 'ivs', 'cfn': 'AWS::IVS::StreamKey', 'tag': 'AWS::IVS::StreamKey'},
    ],
    'ivschat': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivschat:(?P<Region>[\w-]*):(?P<Account>\d{12}):logging-configuration/(?P<ResourceId>.+?)$"), 'names': ['logging-configuration', 'Logging-Configuration'], 'sdk': 'ivschat', 'cfn': 'AWS::IVSChat::LoggingConfiguration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ivschat:(?P<Region>[\w-]*):(?P<Account>\d{12}):room/(?P<ResourceId>.+?)$"), 'names': ['room', 'Room'], 'sdk': 'ivschat', 'cfn': 'AWS::IVSChat::Room', 'tag': None},
    ],
    'kafka': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<Account>\d{12}):group/(?P<ClusterName>.+?)/(?P<ClusterUuid>.+?)/(?P<GroupName>.+?)$"), 'names': ['group'], 'sdk': 'kafka', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<Account>\d{12}):topic/(?P<ClusterName>.+?)/(?P<ClusterUuid>.+?)/(?P<TopicName>.+?)$"), 'names': ['topic'], 'sdk': 'kafka', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<Account>\d{12}):transactional-id/(?P<ClusterName>.+?)/(?P<ClusterUuid>.+?)/(?P<TransactionalId>.+?)$"), 'names': ['transactional-id'], 'sdk': 'kafka', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<VpcOwnerAccount>.+?):vpc-connection/(?P<ClusterOwnerAccount>.+?)/(?P<ClusterName>.+?)/(?P<Uuid>.+?)$"), 'names': ['vpc-connection'], 'sdk': 'kafka', 'cfn': 'AWS::MSK::VpcConnection', 'tag': 'AWS::MSK::VpcConnection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterName>.+?)/(?P<ClusterUuid>.+?)$"), 'names': ['cluster'], 'sdk': 'kafka', 'cfn': 'AWS::MSK::Cluster', 'tag': 'AWS::Kafka::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterName>.+?)/(?P<Uuid>.+?)$"), 'names': ['cluster'], 'sdk': 'kafka', 'cfn': 'AWS::MSK::Cluster', 'tag': 'AWS::Kafka::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration/(?P<ConfigurationName>.+?)/(?P<Uuid>.+?)$"), 'names': ['configuration'], 'sdk': 'kafka', 'cfn': 'AWS::MSK::Configuration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafka:(?P<Region>[\w-]*):(?P<Account>\d{12}):replicator/(?P<ReplicatorName>.+?)/(?P<Uuid>.+?)$"), 'names': ['replicator'], 'sdk': 'kafka', 'cfn': 'AWS::MSK::Replicator', 'tag': 'AWS::MSK::Replicator'},
    ],
    'kafkaconnect': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafkaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector-operation/(?P<ConnectorName>.+?)/(?P<ConnectorUUID>.+?)/(?P<UUID>.+?)$"), 'names': ['connector-operation', 'connector operation'], 'sdk': 'kafkaconnect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafkaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorName>.+?)/(?P<UUID>.+?)$"), 'names': ['connector'], 'sdk': 'kafkaconnect', 'cfn': 'AWS::KafkaConnect::Connector', 'tag': 'AWS::KafkaConnect::Connector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafkaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):custom-plugin/(?P<CustomPluginName>.+?)/(?P<UUID>.+?)$"), 'names': ['custom-plugin', 'custom plugin'], 'sdk': 'kafkaconnect', 'cfn': 'AWS::KafkaConnect::CustomPlugin', 'tag': 'AWS::KafkaConnect::CustomPlugin'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kafkaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):worker-configuration/(?P<WorkerConfigurationName>.+?)/(?P<UUID>.+?)$"), 'names': ['worker-configuration', 'worker configuration'], 'sdk': 'kafkaconnect', 'cfn': 'AWS::KafkaConnect::WorkerConfiguration', 'tag': 'AWS::KafkaConnect::WorkerConfiguration'},
    ],
    'kendra': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)/access-control-configuration/(?P<AccessControlConfigurationId>.+?)$"), 'names': ['access-control-configuration'], 'sdk': 'kendra', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)/data-source/(?P<DataSourceId>.+?)$"), 'names': ['data-source'], 'sdk': 'kendra', 'cfn': 'AWS::Kendra::DataSource', 'tag': 'AWS::Kendra::DataSource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)/experience/(?P<ExperienceId>.+?)$"), 'names': ['experience'], 'sdk': 'kendra', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)/faq/(?P<FaqId>.+?)$"), 'names': ['faq'], 'sdk': 'kendra', 'cfn': 'AWS::Kendra::Faq', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)/featured-results-set/(?P<FeaturedResultsSetId>.+?)$"), 'names': ['featured-results-set'], 'sdk': 'kendra', 'cfn': None, 'tag': 'AWS::Kendra::FeaturedResultsSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)/query-suggestions-block-list/(?P<QuerySuggestionsBlockListId>.+?)$"), 'names': ['query-suggestions-block-list'], 'sdk': 'kendra', 'cfn': None, 'tag': 'AWS::Kendra::QuerySuggestionsBlockList'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)/thesaurus/(?P<ThesaurusId>.+?)$"), 'names': ['thesaurus'], 'sdk': 'kendra', 'cfn': None, 'tag': 'AWS::Kendra::Thesaurus'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexId>.+?)$"), 'names': ['index'], 'sdk': 'kendra', 'cfn': 'AWS::Kendra::Index', 'tag': 'AWS::Kendra::Index'},
    ],
    'kendra-ranking': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kendra-ranking:(?P<Region>[\w-]*):(?P<Account>\d{12}):rescore-execution-plan/(?P<RescoreExecutionPlanId>.+?)$"), 'names': ['rescore-execution-plan'], 'sdk': 'kendra-ranking', 'cfn': 'AWS::KendraRanking::ExecutionPlan', 'tag': 'AWS::KendraRanking::ExecutionPlan'},
    ],
    'kinesis': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kinesis:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<StreamType>.+?)/(?P<StreamName>.+?)/consumer/(?P<ConsumerName>.+?):(?P<ConsumerCreationTimpstamp>.+?)$"), 'names': ['consumer'], 'sdk': 'kinesis', 'cfn': 'AWS::Kinesis::StreamConsumer', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kinesis:(?P<Region>[\w-]*):(?P<Account>\d{12}):stream/(?P<StreamName>.+?)$"), 'names': ['stream'], 'sdk': 'kinesis', 'cfn': 'AWS::Kinesis::Stream', 'tag': 'AWS::Kinesis::Stream'},
    ],
    'kinesisanalytics': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kinesisanalytics:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationName>.+?)$"), 'names': ['application'], 'sdk': 'kinesisanalyticsv2', 'cfn': 'AWS::KinesisAnalytics::Application', 'tag': 'AWS::KinesisAnalytics::Application'},
    ],
    'kinesisvideo': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kinesisvideo:(?P<Region>[\w-]*):(?P<Account>\d{12}):channel/(?P<ChannelName>.+?)/(?P<CreationTime>.+?)$"), 'names': ['channel'], 'sdk': 'kinesisvideo', 'cfn': 'AWS::KinesisVideo::SignalingChannel', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kinesisvideo:(?P<Region>[\w-]*):(?P<Account>\d{12}):stream/(?P<StreamName>.+?)/(?P<CreationTime>.+?)$"), 'names': ['stream'], 'sdk': 'kinesisvideo', 'cfn': 'AWS::KinesisVideo::Stream', 'tag': 'AWS::KinesisVideo::Stream'},
    ],
    'kms': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kms:(?P<Region>[\w-]*):(?P<Account>\d{12}):alias/(?P<Alias>.+?)$"), 'names': ['alias'], 'sdk': 'kms', 'cfn': 'AWS::KMS::Alias', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):kms:(?P<Region>[\w-]*):(?P<Account>\d{12}):key/(?P<KeyId>.+?)$"), 'names': ['key'], 'sdk': 'kms', 'cfn': 'AWS::KMS::Key', 'tag': 'AWS::KMS::Key'},
    ],
    'lambda': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):function:(?P<FunctionName>.+?):(?P<Version>.+?)/durable-execution/(?P<ExecutionName>.+?)/(?P<ExecutionId>.+?)$"), 'names': ['durable-execution', 'durable execution'], 'sdk': 'lambda', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):function:(?P<FunctionName>.+?):(?P<Alias>.+?)$"), 'names': ['function-alias', 'function alias'], 'sdk': 'lambda', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):function:(?P<FunctionName>.+?):(?P<Version>.+?)$"), 'names': ['function-version', 'function version'], 'sdk': 'lambda', 'cfn': 'AWS::Lambda::Version', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):layer:(?P<LayerName>.+?):(?P<LayerVersion>.+?)$"), 'names': ['layer-version', 'layerVersion'], 'sdk': 'lambda', 'cfn': 'AWS::Lambda::LayerVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):capacity-provider:(?P<CapacityProviderName>.+?)$"), 'names': ['capacity-provider', 'capacityProvider'], 'sdk': 'lambda', 'cfn': 'AWS::Lambda::CapacityProvider', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):code-signing-config:(?P<CodeSigningConfigId>.+?)$"), 'names': ['code-signing-config', 'code signing config'], 'sdk': 'lambda', 'cfn': 'AWS::Lambda::CodeSigningConfig', 'tag': 'AWS::Lambda::CodeSigningConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):event-source-mapping:(?P<UUID>.+?)$"), 'names': ['event-source-mapping', 'eventSourceMapping'], 'sdk': 'lambda', 'cfn': 'AWS::Lambda::EventSourceMapping', 'tag': 'AWS::Lambda::EventSourceMapping'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):function:(?P<FunctionName>.+?)$"), 'names': ['function'], 'sdk': 'lambda', 'cfn': 'AWS::Lambda::Function', 'tag': 'AWS::Lambda::Function'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):layer:(?P<LayerName>.+?)$"), 'names': ['layer'], 'sdk': 'lambda', 'cfn': None, 'tag': None},
    ],
    'launchwizard': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):launchwizard:(?P<Region>[\w-]*):(?P<Account>\d{12}):deployment/(?P<DeploymentId>.+?)$"), 'names': ['deployment'], 'sdk': 'launch-wizard', 'cfn': 'AWS::LaunchWizard::Deployment', 'tag': 'AWS::LaunchWizard::Deployment'},
    ],
    'lex': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):bot-channel:(?P<BotName>.+?):(?P<BotAlias>.+?):(?P<ChannelName>.+?)$"), 'names': ['channel'], 'sdk': 'lex-models', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):bot:(?P<BotName>.+?):(?P<BotAlias>.+?)$"), 'names': ['bot-alias', 'bot alias'], 'sdk': 'lexv2-models', 'cfn': 'AWS::Lex::BotAlias', 'tag': 'AWS::Lex::BotAlias'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):bot:(?P<BotName>.+?):(?P<BotVersion>.+?)$"), 'names': ['bot-version', 'bot version'], 'sdk': 'lexv2-models', 'cfn': 'AWS::Lex::BotVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):bot-alias/(?P<BotId>.+?)/(?P<BotAliasId>.+?)$"), 'names': ['bot-alias', 'bot alias'], 'sdk': 'lexv2-models', 'cfn': 'AWS::Lex::BotAlias', 'tag': 'AWS::Lex::BotAlias'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):intent:(?P<IntentName>.+?):(?P<IntentVersion>.+?)$"), 'names': ['intent-version', 'intent version'], 'sdk': 'lex-models', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):slottype:(?P<SlotName>.+?):(?P<SlotVersion>.+?)$"), 'names': ['slottype-version', 'slottype version'], 'sdk': 'lex-models', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):bot:(?P<BotName>.+?)$"), 'names': ['bot'], 'sdk': 'lexv2-models', 'cfn': 'AWS::Lex::Bot', 'tag': 'AWS::Lex::Bot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):bot/(?P<BotId>.+?)$"), 'names': ['bot'], 'sdk': 'lexv2-models', 'cfn': 'AWS::Lex::Bot', 'tag': 'AWS::Lex::Bot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lex:(?P<Region>[\w-]*):(?P<Account>\d{12}):test-set/(?P<TestSetId>.+?)$"), 'names': ['test-set', 'test set'], 'sdk': 'lexv2-models', 'cfn': None, 'tag': 'AWS::LexV2::TestSet'},
    ],
    'license-manager': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager::(?P<Account>\d{12}):grant:(?P<GrantId>.+?)$"), 'names': ['grant'], 'sdk': 'license-manager', 'cfn': 'AWS::LicenseManager::Grant', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager::(?P<Account>\d{12}):license:(?P<LicenseId>.+?)$"), 'names': ['license'], 'sdk': 'license-manager', 'cfn': 'AWS::LicenseManager::License', 'tag': 'AWS::LicenseManager::License'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager:(?P<Region>[\w-]*):(?P<Account>\d{12}):license-asset-group:(?P<LicenseAssetGroupId>.+?)$"), 'names': ['license-asset-group'], 'sdk': 'license-manager', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager:(?P<Region>[\w-]*):(?P<Account>\d{12}):license-asset-ruleset:(?P<LicenseAssetRulesetId>.+?)$"), 'names': ['license-asset-ruleset'], 'sdk': 'license-manager', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager:(?P<Region>[\w-]*):(?P<Account>\d{12}):license-configuration:(?P<LicenseConfigurationId>.+?)$"), 'names': ['license-configuration'], 'sdk': 'license-manager', 'cfn': None, 'tag': 'AWS::LicenseManager::LicenseConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager:(?P<Region>[\w-]*):(?P<Account>\d{12}):report-generator:(?P<ReportGeneratorId>.+?)$"), 'names': ['report-generator'], 'sdk': 'license-manager', 'cfn': None, 'tag': 'AWS::LicenseManager::ReportGenerator'},
    ],
    'license-manager-linux-subscriptions': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager-linux-subscriptions:(?P<Region>[\w-]*):(?P<Account>\d{12}):subscription-provider/(?P<SubscriptionProviderId>.+?)$"), 'names': ['subscription-provider'], 'sdk': 'license-manager-linux-subscriptions', 'cfn': None, 'tag': 'AWS::LicenseManagerLinuxSubscriptions::SubscriptionProvider'},
    ],
    'license-manager-user-subscriptions': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager-user-subscriptions:(?P<Region>[\w-]*):(?P<Account>\d{12}):identity-provider/(?P<IdentityProviderId>.+?)$"), 'names': ['identity-provider'], 'sdk': 'license-manager-user-subscriptions', 'cfn': None, 'tag': 'AWS::LicenseManagerUserSubscriptions::IdentityProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager-user-subscriptions:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance-user/(?P<InstanceUserId>.+?)$"), 'names': ['instance-user'], 'sdk': 'license-manager-user-subscriptions', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager-user-subscriptions:(?P<Region>[\w-]*):(?P<Account>\d{12}):license-server-endpoint/(?P<LicenseServerEndpointId>.+?)$"), 'names': ['license-server-endpoint'], 'sdk': 'license-manager-user-subscriptions', 'cfn': None, 'tag': 'AWS::LicenseManagerUserSubscriptions::LicenseServerEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):license-manager-user-subscriptions:(?P<Region>[\w-]*):(?P<Account>\d{12}):product-subscription/(?P<ProductSubscriptionId>.+?)$"), 'names': ['product-subscription'], 'sdk': 'license-manager-user-subscriptions', 'cfn': None, 'tag': 'AWS::LicenseManagerUserSubscriptions::ProductSubscription'},
    ],
    'lightsail': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):Alarm/(?P<Id>.+?)$"), 'names': ['alarm', 'Alarm'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Alarm', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):Bucket/(?P<Id>.+?)$"), 'names': ['bucket', 'Bucket'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Bucket', 'tag': 'AWS::Lightsail::Bucket'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):Certificate/(?P<Id>.+?)$"), 'names': ['certificate', 'Certificate'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Certificate', 'tag': 'AWS::Lightsail::Certificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):CloudFormationStackRecord/(?P<Id>.+?)$"), 'names': ['cloud-formation-stack-record', 'CloudFormationStackRecord'], 'sdk': 'lightsail', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):ContactMethod/(?P<Id>.+?)$"), 'names': ['contact-method', 'ContactMethod'], 'sdk': 'lightsail', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):ContainerService/(?P<Id>.+?)$"), 'names': ['container-service', 'ContainerService'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Container', 'tag': 'AWS::Lightsail::Container'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):Disk/(?P<Id>.+?)$"), 'names': ['disk', 'Disk'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Disk', 'tag': 'AWS::Lightsail::Disk'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):DiskSnapshot/(?P<Id>.+?)$"), 'names': ['disk-snapshot', 'DiskSnapshot'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::DiskSnapshot', 'tag': 'AWS::Lightsail::DiskSnapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):Distribution/(?P<Id>.+?)$"), 'names': ['distribution', 'Distribution'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Distribution', 'tag': 'AWS::Lightsail::Distribution'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):Domain/(?P<Id>.+?)$"), 'names': ['domain', 'Domain'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Domain', 'tag': 'AWS::Lightsail::Domain'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):ExportSnapshotRecord/(?P<Id>.+?)$"), 'names': ['export-snapshot-record', 'ExportSnapshotRecord'], 'sdk': 'lightsail', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):Instance/(?P<Id>.+?)$"), 'names': ['instance', 'Instance'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Instance', 'tag': 'AWS::Lightsail::Instance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):InstanceSnapshot/(?P<Id>.+?)$"), 'names': ['instance-snapshot', 'InstanceSnapshot'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::InstanceSnapshot', 'tag': 'AWS::Lightsail::InstanceSnapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):KeyPair/(?P<Id>.+?)$"), 'names': ['key-pair', 'KeyPair'], 'sdk': 'lightsail', 'cfn': None, 'tag': 'AWS::Lightsail::KeyPair'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):LoadBalancer/(?P<Id>.+?)$"), 'names': ['load-balancer', 'LoadBalancer'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::LoadBalancer', 'tag': 'AWS::Lightsail::LoadBalancer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):LoadBalancerTlsCertificate/(?P<Id>.+?)$"), 'names': ['load-balancer-tls-certificate', 'LoadBalancerTlsCertificate'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::LoadBalancerTlsCertificate', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):RelationalDatabase/(?P<Id>.+?)$"), 'names': ['relational-database', 'RelationalDatabase'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::Database', 'tag': 'AWS::Lightsail::Database'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):RelationalDatabaseSnapshot/(?P<Id>.+?)$"), 'names': ['relational-database-snapshot', 'RelationalDatabaseSnapshot'], 'sdk': 'lightsail', 'cfn': None, 'tag': 'AWS::Lightsail::RelationalDatabaseSnapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lightsail:(?P<Region>[\w-]*):(?P<Account>\d{12}):StaticIp/(?P<Id>.+?)$"), 'names': ['static-ip', 'StaticIp'], 'sdk': 'lightsail', 'cfn': 'AWS::Lightsail::StaticIp', 'tag': 'AWS::Lightsail::StaticIp'},
    ],
    'logs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):log-group:(?P<LogGroupName>.+?):log-stream:(?P<LogStreamName>.+?)$"), 'names': ['log-stream'], 'sdk': 'logs', 'cfn': 'AWS::Logs::LogStream', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):anomaly-detector:(?P<DetectorId>.+?)$"), 'names': ['anomaly-detector'], 'sdk': 'logs', 'cfn': 'AWS::Logs::LogAnomalyDetector', 'tag': 'AWS::Logs::AnomalyDetector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):delivery:(?P<DeliveryName>.+?)$"), 'names': ['delivery'], 'sdk': 'logs', 'cfn': 'AWS::Logs::Delivery', 'tag': 'AWS::Logs::Delivery'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):delivery-destination:(?P<DeliveryDestinationName>.+?)$"), 'names': ['delivery-destination'], 'sdk': 'logs', 'cfn': 'AWS::Logs::DeliveryDestination', 'tag': 'AWS::Logs::DeliveryDestination'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):delivery-source:(?P<DeliverySourceName>.+?)$"), 'names': ['delivery-source'], 'sdk': 'logs', 'cfn': 'AWS::Logs::DeliverySource', 'tag': 'AWS::Logs::DeliverySource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):destination:(?P<DestinationName>.+?)$"), 'names': ['destination'], 'sdk': 'logs', 'cfn': 'AWS::Logs::Destination', 'tag': 'AWS::Logs::Destination'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):log-group:(?P<LogGroupName>.+?)$"), 'names': ['log-group'], 'sdk': 'logs', 'cfn': 'AWS::Logs::LogGroup', 'tag': 'AWS::Logs::LogGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):logs:(?P<Region>[\w-]*):(?P<Account>\d{12}):scheduled-query:(?P<ScheduledQueryId>.+?)$"), 'names': ['scheduled-query'], 'sdk': 'logs', 'cfn': None, 'tag': None},
    ],
    'lookoutequipment': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutequipment:(?P<Region>[\w-]*):(?P<Account>\d{12}):model/(?P<ModelName>.+?)/(?P<ModelId>.+?)/model-version/(?P<ModelVersionNumber>.+?)$"), 'names': ['model-version'], 'sdk': 'lookoutequipment', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutequipment:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<DatasetName>.+?)/(?P<DatasetId>.+?)$"), 'names': ['dataset'], 'sdk': 'lookoutequipment', 'cfn': None, 'tag': 'AWS::LookoutEquipment::Dataset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutequipment:(?P<Region>[\w-]*):(?P<Account>\d{12}):inference-scheduler/(?P<InferenceSchedulerName>.+?)/(?P<InferenceSchedulerId>.+?)$"), 'names': ['inference-scheduler'], 'sdk': 'lookoutequipment', 'cfn': 'AWS::LookoutEquipment::InferenceScheduler', 'tag': 'AWS::LookoutEquipment::InferenceScheduler'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutequipment:(?P<Region>[\w-]*):(?P<Account>\d{12}):label-group/(?P<LabelGroupName>.+?)/(?P<LabelGroupId>.+?)$"), 'names': ['label-group'], 'sdk': 'lookoutequipment', 'cfn': None, 'tag': 'AWS::LookoutEquipment::LabelGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutequipment:(?P<Region>[\w-]*):(?P<Account>\d{12}):model/(?P<ModelName>.+?)/(?P<ModelId>.+?)$"), 'names': ['model'], 'sdk': 'lookoutequipment', 'cfn': None, 'tag': 'AWS::LookoutEquipment::Model'},
    ],
    'lookoutmetrics': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutmetrics:(?P<Region>[\w-]*):(?P<Account>\d{12}):MetricSet/(?P<AnomalyDetectorName>.+?)/(?P<MetricSetName>.+?)$"), 'names': ['metric-set', 'MetricSet'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutmetrics:(?P<Region>[\w-]*):(?P<Account>\d{12}):Alert:(?P<AlertName>.+?)$"), 'names': ['alert', 'Alert'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutmetrics:(?P<Region>[\w-]*):(?P<Account>\d{12}):AnomalyDetector:(?P<AnomalyDetectorName>.+?)$"), 'names': ['anomaly-detector', 'AnomalyDetector'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'lookoutvision': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutvision:(?P<Region>[\w-]*):(?P<Account>\d{12}):model/(?P<ProjectName>.+?)/(?P<ModelVersion>.+?)$"), 'names': ['model'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):lookoutvision:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)$"), 'names': ['project'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'm2': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):m2:(?P<Region>[\w-]*):(?P<Account>\d{12}):app/(?P<ApplicationId>.+?)$"), 'names': ['application', 'Application'], 'sdk': 'm2', 'cfn': 'AWS::M2::Application', 'tag': 'AWS::M2::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):m2:(?P<Region>[\w-]*):(?P<Account>\d{12}):env/(?P<EnvironmentId>.+?)$"), 'names': ['environment', 'Environment'], 'sdk': 'm2', 'cfn': 'AWS::M2::Environment', 'tag': 'AWS::M2::Environment'},
    ],
    'machinelearning': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):machinelearning:(?P<Region>[\w-]*):(?P<Account>\d{12}):batchprediction/(?P<BatchPredictionId>.+?)$"), 'names': ['batch-prediction', 'batchprediction'], 'sdk': 'machinelearning', 'cfn': None, 'tag': 'AWS::MachineLearning::BatchPrediction'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):machinelearning:(?P<Region>[\w-]*):(?P<Account>\d{12}):datasource/(?P<DatasourceId>.+?)$"), 'names': ['datasource'], 'sdk': 'machinelearning', 'cfn': None, 'tag': 'AWS::MachineLearning::DataSource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):machinelearning:(?P<Region>[\w-]*):(?P<Account>\d{12}):evaluation/(?P<EvaluationId>.+?)$"), 'names': ['evaluation'], 'sdk': 'machinelearning', 'cfn': None, 'tag': 'AWS::MachineLearning::Evaluation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):machinelearning:(?P<Region>[\w-]*):(?P<Account>\d{12}):mlmodel/(?P<MlModelId>.+?)$"), 'names': ['mlmodel'], 'sdk': 'machinelearning', 'cfn': None, 'tag': 'AWS::MachineLearning::MLModel'},
    ],
    'macie2': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):macie2:(?P<Region>[\w-]*):(?P<Account>\d{12}):allow-list/(?P<ResourceId>.+?)$"), 'names': ['allow-list', 'AllowList'], 'sdk': 'macie2', 'cfn': 'AWS::Macie::AllowList', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):macie2:(?P<Region>[\w-]*):(?P<Account>\d{12}):classification-job/(?P<ResourceId>.+?)$"), 'names': ['classification-job', 'ClassificationJob'], 'sdk': 'macie2', 'cfn': None, 'tag': 'AWS::Macie::ClassificationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):macie2:(?P<Region>[\w-]*):(?P<Account>\d{12}):custom-data-identifier/(?P<ResourceId>.+?)$"), 'names': ['custom-data-identifier', 'CustomDataIdentifier'], 'sdk': 'macie2', 'cfn': 'AWS::Macie::CustomDataIdentifier', 'tag': 'AWS::Macie::CustomDataIdentifier'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):macie2:(?P<Region>[\w-]*):(?P<Account>\d{12}):findings-filter/(?P<ResourceId>.+?)$"), 'names': ['findings-filter', 'FindingsFilter'], 'sdk': 'macie2', 'cfn': 'AWS::Macie::FindingsFilter', 'tag': 'AWS::Macie::FindingsFilter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):macie2:(?P<Region>[\w-]*):(?P<Account>\d{12}):member/(?P<ResourceId>.+?)$"), 'names': ['member', 'Member'], 'sdk': 'macie2', 'cfn': None, 'tag': 'AWS::Macie::Member'},
    ],
    'managedblockchain': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):managedblockchain:(?P<Region>[\w-]*)::networks/(?P<NetworkId>.+?)$"), 'names': ['network'], 'sdk': 'managedblockchain', 'cfn': None, 'tag': 'AWS::ManagedBlockchain::Network'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):managedblockchain:(?P<Region>[\w-]*)::proposals/(?P<ProposalId>.+?)$"), 'names': ['proposal'], 'sdk': 'managedblockchain', 'cfn': None, 'tag': 'AWS::ManagedBlockchain::Proposal'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):managedblockchain:(?P<Region>[\w-]*):(?P<Account>\d{12}):accessors/(?P<AccessorId>.+?)$"), 'names': ['accessor'], 'sdk': 'managedblockchain', 'cfn': 'AWS::ManagedBlockchain::Accessor', 'tag': 'AWS::ManagedBlockchain::Accessor'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):managedblockchain:(?P<Region>[\w-]*):(?P<Account>\d{12}):invitations/(?P<InvitationId>.+?)$"), 'names': ['invitation'], 'sdk': 'managedblockchain', 'cfn': None, 'tag': 'AWS::ManagedBlockchain::Invitation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):managedblockchain:(?P<Region>[\w-]*):(?P<Account>\d{12}):members/(?P<MemberId>.+?)$"), 'names': ['member'], 'sdk': 'managedblockchain', 'cfn': 'AWS::ManagedBlockchain::Member', 'tag': 'AWS::ManagedBlockchain::Member'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):managedblockchain:(?P<Region>[\w-]*):(?P<Account>\d{12}):nodes/(?P<NodeId>.+?)$"), 'names': ['node'], 'sdk': 'managedblockchain', 'cfn': 'AWS::ManagedBlockchain::Node', 'tag': 'AWS::ManagedBlockchain::Node'},
    ],
    'mapcredits': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mapcredits:::(?P<Agreement>.+?)/(?P<AgreementId>.+?)$"), 'names': ['agreement'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'mediaconnect': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):offering:(?P<OfferingId>.+?)$"), 'names': ['offering', 'Offering'], 'sdk': 'mediaconnect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway:(?P<GatewayId>.+?):(?P<GatewayName>.+?):instance:(?P<InstanceId>.+?)$"), 'names': ['gateway-instance', 'GatewayInstance'], 'sdk': 'mediaconnect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):bridge:(?P<BridgeId>.+?):(?P<BridgeName>.+?)$"), 'names': ['bridge', 'Bridge'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::Bridge', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):entitlement:(?P<FlowId>.+?):(?P<EntitlementName>.+?)$"), 'names': ['entitlement', 'Entitlement'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::FlowEntitlement', 'tag': 'AWS::MediaConnect::FlowEntitlement'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):flow:(?P<FlowId>.+?):(?P<FlowName>.+?)$"), 'names': ['flow', 'Flow'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::Flow', 'tag': 'AWS::MediaConnect::Flow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway:(?P<GatewayId>.+?):(?P<GatewayName>.+?)$"), 'names': ['gateway', 'Gateway'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::Gateway', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):output:(?P<OutputId>.+?):(?P<OutputName>.+?)$"), 'names': ['output', 'Output'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::FlowOutput', 'tag': 'AWS::MediaConnect::FlowOutput'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):reservation:(?P<ReservationId>.+?):(?P<ReservationName>.+?)$"), 'names': ['reservation', 'Reservation'], 'sdk': 'mediaconnect', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):source:(?P<SourceId>.+?):(?P<SourceName>.+?)$"), 'names': ['source', 'Source'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::FlowSource', 'tag': 'AWS::MediaConnect::FlowSource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):routerInput:(?P<RouterInputId>.+?)$"), 'names': ['router-input', 'RouterInput'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::RouterInput', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):routerNetworkInterface:(?P<RouterNetworkInterfaceId>.+?)$"), 'names': ['router-network-interface', 'RouterNetworkInterface'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::RouterNetworkInterface', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconnect:(?P<Region>[\w-]*):(?P<Account>\d{12}):routerOutput:(?P<RouterOutputId>.+?)$"), 'names': ['router-output', 'RouterOutput'], 'sdk': 'mediaconnect', 'cfn': 'AWS::MediaConnect::RouterOutput', 'tag': None},
    ],
    'mediaconvert': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconvert:(?P<Region>[\w-]*):(?P<Account>\d{12}):certificates/(?P<CertificateArn>.+?)$"), 'names': ['certificate-association', 'CertificateAssociation'], 'sdk': 'mediaconvert', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconvert:(?P<Region>[\w-]*):(?P<Account>\d{12}):jobTemplates/(?P<JobTemplateName>.+?)$"), 'names': ['job-template', 'JobTemplate'], 'sdk': 'mediaconvert', 'cfn': 'AWS::MediaConvert::JobTemplate', 'tag': 'AWS::MediaConvert::JobTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconvert:(?P<Region>[\w-]*):(?P<Account>\d{12}):jobs/(?P<JobId>.+?)$"), 'names': ['job', 'Job'], 'sdk': 'mediaconvert', 'cfn': None, 'tag': 'AWS::MediaConvert::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconvert:(?P<Region>[\w-]*):(?P<Account>\d{12}):presets/(?P<PresetName>.+?)$"), 'names': ['preset', 'Preset'], 'sdk': 'mediaconvert', 'cfn': 'AWS::MediaConvert::Preset', 'tag': 'AWS::MediaConvert::Preset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediaconvert:(?P<Region>[\w-]*):(?P<Account>\d{12}):queues/(?P<QueueName>.+?)$"), 'names': ['queue', 'Queue'], 'sdk': 'mediaconvert', 'cfn': 'AWS::MediaConvert::Queue', 'tag': 'AWS::MediaConvert::Queue'},
    ],
    'medialive': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):channelPlacementGroup:(?P<ClusterId>.+?)/(?P<ChannelPlacementGroupId>.+?)$"), 'names': ['channel-placement-group'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::ChannelPlacementGroup', 'tag': 'AWS::MediaLive::ChannelPlacementGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):node:(?P<ClusterId>.+?)/(?P<NodeId>.+?)$"), 'names': ['node'], 'sdk': 'medialive', 'cfn': None, 'tag': 'AWS::MediaLive::Node'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):channel:(?P<ChannelId>.+?)$"), 'names': ['channel'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::Channel', 'tag': 'AWS::MediaLive::Channel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):cloudwatch-alarm-template:(?P<CloudWatchAlarmTemplateId>.+?)$"), 'names': ['cloudwatch-alarm-template'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::CloudWatchAlarmTemplate', 'tag': 'AWS::MediaLive::CloudWatchAlarmTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):cloudwatch-alarm-template-group:(?P<CloudWatchAlarmTemplateGroupId>.+?)$"), 'names': ['cloudwatch-alarm-template-group'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::CloudWatchAlarmTemplateGroup', 'tag': 'AWS::MediaLive::CloudWatchAlarmTemplateGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster:(?P<ClusterId>.+?)$"), 'names': ['cluster'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::Cluster', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):eventbridge-rule-template:(?P<EventBridgeRuleTemplateId>.+?)$"), 'names': ['eventbridge-rule-template'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::EventBridgeRuleTemplate', 'tag': 'AWS::MediaLive::EventBridgeRuleTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):eventbridge-rule-template-group:(?P<EventBridgeRuleTemplateGroupId>.+?)$"), 'names': ['eventbridge-rule-template-group'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::EventBridgeRuleTemplateGroup', 'tag': 'AWS::MediaLive::EventBridgeRuleTemplateGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):input:(?P<InputId>.+?)$"), 'names': ['input'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::Input', 'tag': 'AWS::MediaLive::Input'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):inputDevice:(?P<DeviceId>.+?)$"), 'names': ['input-device'], 'sdk': 'medialive', 'cfn': None, 'tag': 'AWS::MediaLive::InputDevice'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):inputSecurityGroup:(?P<InputSecurityGroupId>.+?)$"), 'names': ['input-security-group'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::InputSecurityGroup', 'tag': 'AWS::MediaLive::InputSecurityGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):multiplex:(?P<MultiplexId>.+?)$"), 'names': ['multiplex'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::Multiplex', 'tag': 'AWS::MediaLive::Multiplex'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):network:(?P<NetworkId>.+?)$"), 'names': ['network'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::Network', 'tag': 'AWS::MediaLive::Network'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):offering:(?P<OfferingId>.+?)$"), 'names': ['offering'], 'sdk': 'medialive', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):reservation:(?P<ReservationId>.+?)$"), 'names': ['reservation'], 'sdk': 'medialive', 'cfn': None, 'tag': 'AWS::MediaLive::Reservation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):sdiSource:(?P<SdiSourceId>.+?)$"), 'names': ['sdi-source'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::SdiSource', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medialive:(?P<Region>[\w-]*):(?P<Account>\d{12}):signal-map:(?P<SignalMapId>.+?)$"), 'names': ['signal-map'], 'sdk': 'medialive', 'cfn': 'AWS::MediaLive::SignalMap', 'tag': 'AWS::MediaLive::SignalMap'},
    ],
    'mediapackage': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackage:(?P<Region>[\w-]*):(?P<Account>\d{12}):channels/(?P<ChannelIdentifier>.+?)$"), 'names': ['channels'], 'sdk': 'mediapackage', 'cfn': 'AWS::MediaPackage::Channel', 'tag': 'AWS::MediaPackage::Channel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackage:(?P<Region>[\w-]*):(?P<Account>\d{12}):harvest_jobs/(?P<HarvestJobIdentifier>.+?)$"), 'names': ['harvest-jobs', 'harvest_jobs'], 'sdk': 'mediapackage', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackage:(?P<Region>[\w-]*):(?P<Account>\d{12}):origin_endpoints/(?P<OriginEndpointIdentifier>.+?)$"), 'names': ['origin-endpoints', 'origin_endpoints'], 'sdk': 'mediapackage', 'cfn': 'AWS::MediaPackage::OriginEndpoint', 'tag': 'AWS::MediaPackage::OriginEndpoint'},
    ],
    'mediapackage-vod': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackage-vod:(?P<Region>[\w-]*):(?P<Account>\d{12}):assets/(?P<AssetIdentifier>.+?)$"), 'names': ['assets'], 'sdk': 'mediapackage-vod', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackage-vod:(?P<Region>[\w-]*):(?P<Account>\d{12}):packaging-configurations/(?P<PackagingConfigurationIdentifier>.+?)$"), 'names': ['packaging-configurations'], 'sdk': 'mediapackage-vod', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackage-vod:(?P<Region>[\w-]*):(?P<Account>\d{12}):packaging-groups/(?P<PackagingGroupIdentifier>.+?)$"), 'names': ['packaging-groups'], 'sdk': 'mediapackage-vod', 'cfn': None, 'tag': None},
    ],
    'mediapackagev2': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackagev2:(?P<Region>[\w-]*):(?P<Account>\d{12}):channelGroup/(?P<ChannelGroupName>.+?)/channel/(?P<ChannelName>.+?)/originEndpoint/(?P<OriginEndpointName>.+?)/harvestJob/(?P<HarvestJobName>.+?)$"), 'names': ['harvest-job', 'HarvestJob'], 'sdk': 'mediapackagev2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediapackagev2:(?P<Region>[\w-]*):(?P<Account>\d{12}):channelGroup/(?P<ChannelGroupName>.+?)$"), 'names': ['channel-group', 'ChannelGroup'], 'sdk': 'mediapackagev2', 'cfn': 'AWS::MediaPackageV2::ChannelGroup', 'tag': 'AWS::MediaPackageV2::ChannelGroup'},
    ],
    'mediastore': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediastore:(?P<Region>[\w-]*):(?P<Account>\d{12}):container/(?P<ContainerName>.+?)/(?P<FolderPath>.+?)$"), 'names': ['folder'], 'sdk': 'mediastore-data', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediastore:(?P<Region>[\w-]*):(?P<Account>\d{12}):container/(?P<ContainerName>.+?)/(?P<ObjectPath>.+?)$"), 'names': ['object'], 'sdk': 'mediastore-data', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediastore:(?P<Region>[\w-]*):(?P<Account>\d{12}):container/(?P<ContainerName>.+?)$"), 'names': ['container'], 'sdk': 'mediastore', 'cfn': 'AWS::MediaStore::Container', 'tag': 'AWS::MediaStore::Container'},
    ],
    'mediatailor': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediatailor:(?P<Region>[\w-]*):(?P<Account>\d{12}):liveSource/(?P<SourceLocationName>.+?)/(?P<LiveSourceName>.+?)$"), 'names': ['live-source', 'liveSource'], 'sdk': 'mediatailor', 'cfn': 'AWS::MediaTailor::LiveSource', 'tag': 'AWS::MediaTailor::LiveSource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediatailor:(?P<Region>[\w-]*):(?P<Account>\d{12}):program/(?P<ChannelName>.+?)/(?P<ProgramName>.+?)$"), 'names': ['program'], 'sdk': 'mediatailor', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediatailor:(?P<Region>[\w-]*):(?P<Account>\d{12}):vodSource/(?P<SourceLocationName>.+?)/(?P<VodSourceName>.+?)$"), 'names': ['vod-source', 'vodSource'], 'sdk': 'mediatailor', 'cfn': 'AWS::MediaTailor::VodSource', 'tag': 'AWS::MediaTailor::VodSource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediatailor:(?P<Region>[\w-]*):(?P<Account>\d{12}):channel/(?P<ChannelName>.+?)$"), 'names': ['channel'], 'sdk': 'mediatailor', 'cfn': 'AWS::MediaTailor::Channel', 'tag': 'AWS::MediaTailor::Channel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediatailor:(?P<Region>[\w-]*):(?P<Account>\d{12}):playbackConfiguration/(?P<ResourceId>.+?)$"), 'names': ['playback-configuration', 'playbackConfiguration'], 'sdk': 'mediatailor', 'cfn': 'AWS::MediaTailor::PlaybackConfiguration', 'tag': 'AWS::MediaTailor::PlaybackConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediatailor:(?P<Region>[\w-]*):(?P<Account>\d{12}):prefetchSchedule/(?P<ResourceId>.+?)$"), 'names': ['prefetch-schedule', 'prefetchSchedule'], 'sdk': 'mediatailor', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mediatailor:(?P<Region>[\w-]*):(?P<Account>\d{12}):sourceLocation/(?P<SourceLocationName>.+?)$"), 'names': ['source-location', 'sourceLocation'], 'sdk': 'mediatailor', 'cfn': 'AWS::MediaTailor::SourceLocation', 'tag': 'AWS::MediaTailor::SourceLocation'},
    ],
    'medical-imaging': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medical-imaging:(?P<Region>[\w-]*):(?P<Account>\d{12}):datastore/(?P<DatastoreId>.+?)/imageset/(?P<ImageSetId>.+?)$"), 'names': ['imageset'], 'sdk': 'medical-imaging', 'cfn': None, 'tag': 'AWS::HealthImaging::ImageSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):medical-imaging:(?P<Region>[\w-]*):(?P<Account>\d{12}):datastore/(?P<DatastoreId>.+?)$"), 'names': ['datastore'], 'sdk': 'medical-imaging', 'cfn': 'AWS::HealthImaging::Datastore', 'tag': 'AWS::HealthImaging::Datastore'},
    ],
    'memorydb': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb::(?P<Account>\d{12}):multiregioncluster/(?P<ClusterName>.+?)$"), 'names': ['multi-region-cluster', 'multiregioncluster'], 'sdk': 'memorydb', 'cfn': 'AWS::MemoryDB::MultiRegionCluster', 'tag': 'AWS::MemoryDB::MultiRegionCluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb::(?P<Account>\d{12}):multiregionparametergroup/(?P<MultiRegionParameterGroupName>.+?)$"), 'names': ['multi-region-parameter-group', 'multiregionparametergroup'], 'sdk': 'memorydb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb:(?P<Region>[\w-]*):(?P<Account>\d{12}):acl/(?P<AclName>.+?)$"), 'names': ['acl'], 'sdk': 'memorydb', 'cfn': 'AWS::MemoryDB::ACL', 'tag': 'AWS::MemoryDB::ACL'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterName>.+?)$"), 'names': ['cluster'], 'sdk': 'memorydb', 'cfn': 'AWS::MemoryDB::Cluster', 'tag': 'AWS::MemoryDB::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb:(?P<Region>[\w-]*):(?P<Account>\d{12}):parametergroup/(?P<ParameterGroupName>.+?)$"), 'names': ['parameter-group', 'parametergroup'], 'sdk': 'memorydb', 'cfn': 'AWS::MemoryDB::ParameterGroup', 'tag': 'AWS::MemoryDB::ParameterGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb:(?P<Region>[\w-]*):(?P<Account>\d{12}):reservednode/(?P<ReservationID>.+?)$"), 'names': ['reserved-node', 'reservednode'], 'sdk': 'memorydb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot/(?P<SnapshotName>.+?)$"), 'names': ['snapshot'], 'sdk': 'memorydb', 'cfn': None, 'tag': 'AWS::MemoryDB::Snapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb:(?P<Region>[\w-]*):(?P<Account>\d{12}):subnetgroup/(?P<SubnetGroupName>.+?)$"), 'names': ['subnet-group', 'subnetgroup'], 'sdk': 'memorydb', 'cfn': 'AWS::MemoryDB::SubnetGroup', 'tag': 'AWS::MemoryDB::SubnetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):memorydb:(?P<Region>[\w-]*):(?P<Account>\d{12}):user/(?P<UserName>.+?)$"), 'names': ['user'], 'sdk': 'memorydb', 'cfn': 'AWS::MemoryDB::User', 'tag': 'AWS::MemoryDB::User'},
    ],
    'mgh': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgh:(?P<Region>[\w-]*):(?P<Account>\d{12}):progressUpdateStream/(?P<Stream>.+?)/migrationTask/(?P<Task>.+?)$"), 'names': ['migration-task', 'migrationTask'], 'sdk': 'mgh', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgh:(?P<Region>[\w-]*):(?P<Account>\d{12}):automation-run/(?P<RunID>.+?)$"), 'names': ['automation-run-resource', 'AutomationRunResource'], 'sdk': 'mgh', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgh:(?P<Region>[\w-]*):(?P<Account>\d{12}):automation-unit/(?P<AutomationUnitId>.+?)$"), 'names': ['automation-unit-resource', 'AutomationUnitResource'], 'sdk': 'mgh', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgh:(?P<Region>[\w-]*):(?P<Account>\d{12}):progressUpdateStream/(?P<Stream>.+?)$"), 'names': ['progress-update-stream', 'progressUpdateStream'], 'sdk': 'mgh', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgh:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<ConnectionArn>.+?)$"), 'names': ['connection-resource', 'ConnectionResource'], 'sdk': 'mgh', 'cfn': None, 'tag': None},
    ],
    'mgn': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationID>.+?)$"), 'names': ['application-resource', 'ApplicationResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorID>.+?)$"), 'names': ['connector-resource', 'ConnectorResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::Connector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):export/(?P<ExportID>.+?)$"), 'names': ['export-resource', 'ExportResource'], 'sdk': 'mgn', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):import/(?P<ImportID>.+?)$"), 'names': ['import-resource', 'ImportResource'], 'sdk': 'mgn', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobID>.+?)$"), 'names': ['job-resource', 'JobResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):launch-configuration-template/(?P<LaunchConfigurationTemplateID>.+?)$"), 'names': ['launch-configuration-template-resource', 'LaunchConfigurationTemplateResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::LaunchConfigurationTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-migration-definition/(?P<NetworkMigrationDefinitionID>.+?)$"), 'names': ['network-migration-definition-resource', 'NetworkMigrationDefinitionResource'], 'sdk': 'mgn', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):replication-configuration-template/(?P<ReplicationConfigurationTemplateID>.+?)$"), 'names': ['replication-configuration-template-resource', 'ReplicationConfigurationTemplateResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::ReplicationConfigurationTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):source-server/(?P<SourceServerID>.+?)$"), 'names': ['source-server-resource', 'SourceServerResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::SourceServer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):vcenter-client/(?P<VcenterClientID>.+?)$"), 'names': ['vcenter-client-resource', 'VcenterClientResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::VcenterClient'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mgn:(?P<Region>[\w-]*):(?P<Account>\d{12}):wave/(?P<WaveID>.+?)$"), 'names': ['wave-resource', 'WaveResource'], 'sdk': 'mgn', 'cfn': None, 'tag': 'AWS::MGN::Wave'},
    ],
    'migrationhub-orchestrator': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):migrationhub-orchestrator:(?P<Region>[\w-]*):(?P<Account>\d{12}):template/(?P<ResourceId>.+?)$"), 'names': ['template'], 'sdk': 'migrationhuborchestrator', 'cfn': None, 'tag': 'AWS::MigrationHubOrchestrator::Template'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):migrationhub-orchestrator:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow/(?P<ResourceId>.+?)$"), 'names': ['workflow'], 'sdk': 'migrationhuborchestrator', 'cfn': None, 'tag': 'AWS::MigrationHubOrchestrator::Workflow'},
    ],
    'mobiletargeting': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/campaigns/(?P<CampaignId>.+?)/kpis/daterange/(?P<KpiName>.+?)$"), 'names': ['campaign-metrics'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/journeys/(?P<JourneyId>.+?)/activities/(?P<JourneyActivityId>.+?)/execution-metrics$"), 'names': ['journey-execution-activity-metrics'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/journeys/(?P<JourneyId>.+?)/kpis/daterange/(?P<KpiName>.+?)$"), 'names': ['journey-metrics'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/jobs/export/(?P<JobId>.+?)$"), 'names': ['export-job'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/jobs/import/(?P<JobId>.+?)$"), 'names': ['import-job'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/journeys/(?P<JourneyId>.+?)/execution-metrics$"), 'names': ['journey-execution-metrics'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/kpis/daterange/(?P<KpiName>.+?)$"), 'names': ['application-metrics'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/attributes/(?P<AttributeType>.+?)$"), 'names': ['attribute'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/campaigns/(?P<CampaignId>.+?)$"), 'names': ['campaign'], 'sdk': 'pinpoint', 'cfn': 'AWS::Pinpoint::Campaign', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/channels/(?P<ChannelType>.+?)$"), 'names': ['channel'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/endpoints/(?P<EndpointId>.+?)$"), 'names': ['endpoint'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/journeys/(?P<JourneyId>.+?)$"), 'names': ['journey'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/segments/(?P<SegmentId>.+?)$"), 'names': ['segment'], 'sdk': 'pinpoint', 'cfn': 'AWS::Pinpoint::Segment', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/users/(?P<UserId>.+?)$"), 'names': ['user'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/channels$"), 'names': ['channels'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/events$"), 'names': ['events'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/eventstream$"), 'names': ['event-stream'], 'sdk': 'pinpoint', 'cfn': 'AWS::Pinpoint::EventStream', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/journeys$"), 'names': ['journeys'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/messages$"), 'names': ['messages'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/otp$"), 'names': ['otp'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)/verify-otp$"), 'names': ['verify-otp'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):phone/number/validate$"), 'names': ['phone-number-validate'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):templates/(?P<TemplateName>.+?)/(?P<TemplateType>.+?)$"), 'names': ['template'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):apps/(?P<AppId>.+?)$"), 'names': ['app'], 'sdk': 'pinpoint', 'cfn': 'AWS::Pinpoint::App', 'tag': 'AWS::Pinpoint::App'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):recommenders/(?P<RecommenderId>.+?)$"), 'names': ['recommender'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):reports$"), 'names': ['reports'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mobiletargeting:(?P<Region>[\w-]*):(?P<Account>\d{12}):templates$"), 'names': ['templates'], 'sdk': 'pinpoint', 'cfn': None, 'tag': None},
    ],
    'monitron': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):monitron:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ResourceId>.+?)$"), 'names': ['project'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'mpa': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mpa:(?P<Region>[\w-]*):(?P<Account>\d{12}):approval-team/(?P<ApprovalTeamId>.+?)$"), 'names': ['approval-team'], 'sdk': 'mpa', 'cfn': 'AWS::MPA::ApprovalTeam', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mpa:(?P<Region>[\w-]*):(?P<Account>\d{12}):identity-source/(?P<IdentitySourceId>.+?)$"), 'names': ['identity-source'], 'sdk': 'mpa', 'cfn': 'AWS::MPA::IdentitySource', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mpa:(?P<Region>[\w-]*):(?P<Account>\d{12}):session/(?P<SessionId>.+?)$"), 'names': ['session'], 'sdk': 'mpa', 'cfn': None, 'tag': None},
    ],
    'mq': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mq:(?P<Region>[\w-]*):(?P<Account>\d{12}):broker:(?P<BrokerName>.+?):(?P<BrokerId>.+?)$"), 'names': ['brokers'], 'sdk': 'mq', 'cfn': 'AWS::AmazonMQ::Broker', 'tag': 'AWS::AmazonMQ::Broker'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):mq:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration:(?P<ConfigurationId>.+?)$"), 'names': ['configurations', 'configuration'], 'sdk': 'mq', 'cfn': None, 'tag': 'AWS::AmazonMQ::Configuration'},
    ],
    'neptune-db': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):neptune-db:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<ClusterResourceId>.+?)/(?P<DatabaseId>.+?)$"), 'names': ['database'], 'sdk': 'neptunedata', 'cfn': None, 'tag': None},
    ],
    'neptune-graph': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):neptune-graph:(?P<Region>[\w-]*):(?P<Account>\d{12}):export-task/(?P<ResourceId>.+?)$"), 'names': ['export-task'], 'sdk': 'neptune-graph', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):neptune-graph:(?P<Region>[\w-]*):(?P<Account>\d{12}):graph/(?P<ResourceId>.+?)$"), 'names': ['graph'], 'sdk': 'neptune-graph', 'cfn': 'AWS::NeptuneGraph::Graph', 'tag': 'AWS::NeptuneGraph::Graph'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):neptune-graph:(?P<Region>[\w-]*):(?P<Account>\d{12}):graph-snapshot/(?P<ResourceId>.+?)$"), 'names': ['graph-snapshot'], 'sdk': 'neptune-graph', 'cfn': None, 'tag': 'AWS::NeptuneGraph::GraphSnapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):neptune-graph:(?P<Region>[\w-]*):(?P<Account>\d{12}):import-task/(?P<ResourceId>.+?)$"), 'names': ['import-task'], 'sdk': 'neptune-graph', 'cfn': None, 'tag': None},
    ],
    'network-firewall': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):firewall/(?P<Name>.+?)$"), 'names': ['firewall', 'Firewall'], 'sdk': 'network-firewall', 'cfn': 'AWS::NetworkFirewall::Firewall', 'tag': 'AWS::NetworkFirewall::Firewall'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):firewall-policy/(?P<Name>.+?)$"), 'names': ['firewall-policy', 'FirewallPolicy'], 'sdk': 'network-firewall', 'cfn': 'AWS::NetworkFirewall::FirewallPolicy', 'tag': 'AWS::NetworkFirewall::FirewallPolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):proxy/(?P<Name>.+?)$"), 'names': ['proxy', 'Proxy'], 'sdk': 'network-firewall', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):proxy-configuration/(?P<Name>.+?)$"), 'names': ['proxy-configuration', 'ProxyConfiguration'], 'sdk': 'network-firewall', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):proxy-rule-group/(?P<Name>.+?)$"), 'names': ['proxy-rule-group', 'ProxyRuleGroup'], 'sdk': 'network-firewall', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):stateful-rulegroup/(?P<Name>.+?)$"), 'names': ['stateful-rule-group', 'StatefulRuleGroup'], 'sdk': 'network-firewall', 'cfn': 'AWS::NetworkFirewall::RuleGroup', 'tag': 'AWS::NetworkFirewall::RuleGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):stateless-rulegroup/(?P<Name>.+?)$"), 'names': ['stateless-rule-group', 'StatelessRuleGroup'], 'sdk': 'network-firewall', 'cfn': 'AWS::NetworkFirewall::RuleGroup', 'tag': 'AWS::NetworkFirewall::RuleGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):tls-configuration/(?P<Name>.+?)$"), 'names': ['tls-inspection-configuration', 'TLSInspectionConfiguration'], 'sdk': 'network-firewall', 'cfn': 'AWS::NetworkFirewall::TLSInspectionConfiguration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):network-firewall:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpc-endpoint-association/(?P<Name>.+?)$"), 'names': ['vpc-endpoint-association', 'VpcEndpointAssociation'], 'sdk': 'network-firewall', 'cfn': 'AWS::NetworkFirewall::VpcEndpointAssociation', 'tag': None},
    ],
    'networkflowmonitor': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkflowmonitor:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitor/(?P<MonitorName>.+?)$"), 'names': ['monitor'], 'sdk': 'networkflowmonitor', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkflowmonitor:(?P<Region>[\w-]*):(?P<Account>\d{12}):scope/(?P<ScopeId>.+?)$"), 'names': ['scope'], 'sdk': 'networkflowmonitor', 'cfn': None, 'tag': None},
    ],
    'networkmanager': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):connection/(?P<GlobalNetworkId>.+?)/(?P<ResourceId>.+?)$"), 'names': ['connection'], 'sdk': 'networkmanager', 'cfn': None, 'tag': 'AWS::NetworkManager::Connection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):device/(?P<GlobalNetworkId>.+?)/(?P<ResourceId>.+?)$"), 'names': ['device'], 'sdk': 'networkmanager', 'cfn': 'AWS::NetworkManager::Device', 'tag': 'AWS::NetworkManager::Device'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):link/(?P<GlobalNetworkId>.+?)/(?P<ResourceId>.+?)$"), 'names': ['link'], 'sdk': 'networkmanager', 'cfn': 'AWS::NetworkManager::Link', 'tag': 'AWS::NetworkManager::Link'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):site/(?P<GlobalNetworkId>.+?)/(?P<ResourceId>.+?)$"), 'names': ['site'], 'sdk': 'networkmanager', 'cfn': 'AWS::NetworkManager::Site', 'tag': 'AWS::NetworkManager::Site'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):attachment/(?P<ResourceId>.+?)$"), 'names': ['attachment'], 'sdk': 'networkmanager', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):connect-peer/(?P<ResourceId>.+?)$"), 'names': ['connect-peer'], 'sdk': 'networkmanager', 'cfn': 'AWS::NetworkManager::ConnectPeer', 'tag': 'AWS::NetworkManager::ConnectPeer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):core-network/(?P<ResourceId>.+?)$"), 'names': ['core-network'], 'sdk': 'networkmanager', 'cfn': 'AWS::NetworkManager::CoreNetwork', 'tag': 'AWS::NetworkManager::CoreNetwork'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):global-network/(?P<ResourceId>.+?)$"), 'names': ['global-network'], 'sdk': 'networkmanager', 'cfn': 'AWS::NetworkManager::GlobalNetwork', 'tag': 'AWS::NetworkManager::GlobalNetwork'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmanager::(?P<Account>\d{12}):peering/(?P<ResourceId>.+?)$"), 'names': ['peering'], 'sdk': 'networkmanager', 'cfn': None, 'tag': None},
    ],
    'networkmonitor': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmonitor:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitor/(?P<MonitorName>.+?)$"), 'names': ['monitor'], 'sdk': 'networkmonitor', 'cfn': None, 'tag': 'AWS::NetworkMonitor::Monitor'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):networkmonitor:(?P<Region>[\w-]*):(?P<Account>\d{12}):probe/(?P<ProbeId>.+?)$"), 'names': ['probe'], 'sdk': 'networkmonitor', 'cfn': None, 'tag': 'AWS::NetworkMonitor::Probe'},
    ],
    'nimble': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):eula/(?P<EulaId>.+?)$"), 'names': ['eula'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):eula-acceptance/(?P<EulaAcceptanceId>.+?)$"), 'names': ['eula-acceptance'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):launch-profile/(?P<LaunchProfileId>.+?)$"), 'names': ['launch-profile'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):streaming-image/(?P<StreamingImageId>.+?)$"), 'names': ['streaming-image'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):streaming-session/(?P<StreamingSessionId>.+?)$"), 'names': ['streaming-session'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):streaming-session-backup/(?P<StreamingSessionBackupId>.+?)$"), 'names': ['streaming-session-backup'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):studio/(?P<StudioId>.+?)$"), 'names': ['studio'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nimble:(?P<Region>[\w-]*):(?P<Account>\d{12}):studio-component/(?P<StudioComponentId>.+?)$"), 'names': ['studio-component'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'notifications': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):notifications::(?P<Account>\d{12}):managed-notification-configuration/category/(?P<Category>.+?)/sub-category/(?P<Subcategory>.+?)/event/(?P<NotificationEventId>.+?)/child-event/(?P<NotificationChildEventId>.+?)$"), 'names': ['managed-notification-child-event', 'ManagedNotificationChildEvent'], 'sdk': 'notifications', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):notifications::(?P<Account>\d{12}):managed-notification-configuration/category/(?P<Category>.+?)/sub-category/(?P<Subcategory>.+?)/event/(?P<NotificationEventId>.+?)$"), 'names': ['managed-notification-event', 'ManagedNotificationEvent'], 'sdk': 'notifications', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):notifications::(?P<Account>\d{12}):managed-notification-configuration/category/(?P<Category>.+?)/sub-category/(?P<Subcategory>.+?)$"), 'names': ['managed-notification-configuration', 'ManagedNotificationConfiguration'], 'sdk': 'notifications', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):notifications::(?P<Account>\d{12}):configuration/(?P<NotificationConfigurationId>.+?)/rule/(?P<EventRuleId>.+?)$"), 'names': ['event-rule', 'EventRule'], 'sdk': 'notifications', 'cfn': 'AWS::Notifications::EventRule', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):notifications::(?P<Account>\d{12}):configuration/(?P<NotificationConfigurationId>.+?)$"), 'names': ['notification-configuration', 'NotificationConfiguration'], 'sdk': 'notifications', 'cfn': 'AWS::Notifications::NotificationConfiguration', 'tag': 'AWS::UserNotifications::NotificationConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):notifications:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration/(?P<NotificationConfigurationId>.+?)/event/(?P<NotificationEventId>.+?)$"), 'names': ['notification-event', 'NotificationEvent'], 'sdk': 'notifications', 'cfn': None, 'tag': None},
    ],
    'notifications-contacts': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):notifications-contacts::(?P<Account>\d{12}):emailcontact/(?P<EmailContactId>.+?)$"), 'names': ['email-contact-resource', 'EmailContactResource'], 'sdk': 'notificationscontacts', 'cfn': 'AWS::NotificationsContacts::EmailContact', 'tag': None},
    ],
    'nova-act': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nova-act:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow-definition/(?P<WorkflowDefinitionName>.+?)/workflow-run/(?P<WorkflowRunId>.+?)$"), 'names': ['workflow-run'], 'sdk': 'nova-act', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):nova-act:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow-definition/(?P<WorkflowDefinitionName>.+?)$"), 'names': ['workflow-definition'], 'sdk': 'nova-act', 'cfn': None, 'tag': None},
    ],
    'oam': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):oam:(?P<Region>[\w-]*):(?P<Account>\d{12}):link/(?P<ResourceId>.+?)$"), 'names': ['link', 'Link'], 'sdk': 'oam', 'cfn': 'AWS::Oam::Link', 'tag': 'AWS::Oam::Link'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):oam:(?P<Region>[\w-]*):(?P<Account>\d{12}):sink/(?P<ResourceId>.+?)$"), 'names': ['sink', 'Sink'], 'sdk': 'oam', 'cfn': 'AWS::Oam::Sink', 'tag': 'AWS::Oam::Sink'},
    ],
    'observabilityadmin': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):observabilityadmin:(?P<Region>[\w-]*):(?P<Account>\d{12}):organization-centralization-rule/(?P<CentralizationRuleName>.+?)$"), 'names': ['organization-centralization-rule'], 'sdk': 'observabilityadmin', 'cfn': 'AWS::ObservabilityAdmin::OrganizationCentralizationRule', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):observabilityadmin:(?P<Region>[\w-]*):(?P<Account>\d{12}):organization-telemetry-rule/(?P<TelemetryRuleName>.+?)$"), 'names': ['organization-telemetry-rule'], 'sdk': 'observabilityadmin', 'cfn': 'AWS::ObservabilityAdmin::OrganizationTelemetryRule', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):observabilityadmin:(?P<Region>[\w-]*):(?P<Account>\d{12}):s3tableintegration/(?P<S3TableIntegrationIdentifier>.+?)$"), 'names': ['s3-table-integration', 's3tableintegration'], 'sdk': 'observabilityadmin', 'cfn': 'AWS::ObservabilityAdmin::S3TableIntegration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):observabilityadmin:(?P<Region>[\w-]*):(?P<Account>\d{12}):telemetry-pipeline/(?P<TelemetryPipelineIdentifier>.+?)$"), 'names': ['telemetry-pipeline'], 'sdk': 'observabilityadmin', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):observabilityadmin:(?P<Region>[\w-]*):(?P<Account>\d{12}):telemetry-rule/(?P<TelemetryRuleName>.+?)$"), 'names': ['telemetry-rule'], 'sdk': 'observabilityadmin', 'cfn': 'AWS::ObservabilityAdmin::TelemetryRule', 'tag': None},
    ],
    'odb': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):odb:(?P<Region>[\w-]*):(?P<Account>\d{12}):cloud-autonomous-vm-cluster/(?P<CloudAutonomousVmClusterId>.+?)$"), 'names': ['cloud-autonomous-vm-cluster'], 'sdk': 'odb', 'cfn': 'AWS::ODB::CloudAutonomousVmCluster', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):odb:(?P<Region>[\w-]*):(?P<Account>\d{12}):cloud-exadata-infrastructure/(?P<CloudExadataInfrastructureId>.+?)$"), 'names': ['cloud-exadata-infrastructure'], 'sdk': 'odb', 'cfn': 'AWS::ODB::CloudExadataInfrastructure', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):odb:(?P<Region>[\w-]*):(?P<Account>\d{12}):cloud-vm-cluster/(?P<CloudVmClusterId>.+?)$"), 'names': ['cloud-vm-cluster'], 'sdk': 'odb', 'cfn': 'AWS::ODB::CloudVmCluster', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):odb:(?P<Region>[\w-]*):(?P<Account>\d{12}):db-node/(?P<DbNodeId>.+?)$"), 'names': ['db-node'], 'sdk': 'odb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):odb:(?P<Region>[\w-]*):(?P<Account>\d{12}):odb-network/(?P<OdbNetworkId>.+?)$"), 'names': ['odb-network'], 'sdk': 'odb', 'cfn': 'AWS::ODB::OdbNetwork', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):odb:(?P<Region>[\w-]*):(?P<Account>\d{12}):odb-peering-connection/(?P<OdbPeeringConnectionId>.+?)$"), 'names': ['odb-peering-connection'], 'sdk': 'odb', 'cfn': 'AWS::ODB::OdbPeeringConnection', 'tag': None},
    ],
    'omics': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):annotationStore/(?P<AnnotationStoreName>.+?)/version/(?P<AnnotationStoreVersionName>.+?)$"), 'names': ['annotation-store-version', 'AnnotationStoreVersion'], 'sdk': 'omics', 'cfn': None, 'tag': 'AWS::Omics::AnnotationStoreVersion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):referenceStore/(?P<ReferenceStoreId>.+?)/reference/(?P<ReferenceId>.+?)$"), 'names': ['reference'], 'sdk': 'omics', 'cfn': None, 'tag': 'AWS::Omics::Reference'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):sequenceStore/(?P<SequenceStoreId>.+?)/readSet/(?P<ReadSetId>.+?)$"), 'names': ['read-set', 'readSet'], 'sdk': 'omics', 'cfn': None, 'tag': 'AWS::Omics::ReadSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow/(?P<Id>.+?)/version/(?P<VersionName>.+?)$"), 'names': ['workflow-version', 'WorkflowVersion'], 'sdk': 'omics', 'cfn': 'AWS::Omics::WorkflowVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):annotationStore/(?P<AnnotationStoreName>.+?)$"), 'names': ['annotation-store', 'AnnotationStore'], 'sdk': 'omics', 'cfn': 'AWS::Omics::AnnotationStore', 'tag': 'AWS::Omics::AnnotationStore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):referenceStore/(?P<ReferenceStoreId>.+?)$"), 'names': ['reference-store', 'referenceStore'], 'sdk': 'omics', 'cfn': 'AWS::Omics::ReferenceStore', 'tag': 'AWS::Omics::ReferenceStore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):run/(?P<Id>.+?)$"), 'names': ['run'], 'sdk': 'omics', 'cfn': None, 'tag': 'AWS::Omics::Run'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):runCache/(?P<Id>.+?)$"), 'names': ['run-cache', 'runCache'], 'sdk': 'omics', 'cfn': None, 'tag': 'AWS::Omics::RunCache'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):runGroup/(?P<Id>.+?)$"), 'names': ['run-group', 'runGroup'], 'sdk': 'omics', 'cfn': 'AWS::Omics::RunGroup', 'tag': 'AWS::Omics::RunGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):sequenceStore/(?P<SequenceStoreId>.+?)$"), 'names': ['sequence-store', 'sequenceStore'], 'sdk': 'omics', 'cfn': 'AWS::Omics::SequenceStore', 'tag': 'AWS::Omics::SequenceStore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):task/(?P<Id>.+?)$"), 'names': ['task-resource', 'TaskResource'], 'sdk': 'omics', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):variantStore/(?P<VariantStoreName>.+?)$"), 'names': ['variant-store', 'VariantStore'], 'sdk': 'omics', 'cfn': 'AWS::Omics::VariantStore', 'tag': 'AWS::Omics::VariantStore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):omics:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow/(?P<Id>.+?)$"), 'names': ['workflow'], 'sdk': 'omics', 'cfn': 'AWS::Omics::Workflow', 'tag': 'AWS::Omics::Workflow'},
    ],
    'one': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):one:(?P<Region>[\w-]*):(?P<Account>\d{12}):device-instance/(?P<DeviceInstanceId>.+?)/configuration/(?P<Version>.+?)$"), 'names': ['configuration'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):one:(?P<Region>[\w-]*):(?P<Account>\d{12}):device-configuration-template/(?P<TemplateId>.+?)$"), 'names': ['device-configuration-template'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):one:(?P<Region>[\w-]*):(?P<Account>\d{12}):device-instance/(?P<DeviceInstanceId>.+?)$"), 'names': ['device-instance'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):one:(?P<Region>[\w-]*):(?P<Account>\d{12}):site/(?P<SiteId>.+?)$"), 'names': ['site'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):one:(?P<Region>[\w-]*):(?P<Account>\d{12}):user/(?P<UserId>.+?)$"), 'names': ['user'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'opensearch': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):opensearch:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<AppId>.+?)$"), 'names': ['application'], 'sdk': 'opensearch', 'cfn': 'AWS::OpenSearchService::Application', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):opensearch:(?P<Region>[\w-]*):(?P<Account>\d{12}):datasource/(?P<DataSourceName>.+?)$"), 'names': ['datasource'], 'sdk': 'opensearch', 'cfn': None, 'tag': 'AWS::OpenSearch::DataSource'},
    ],
    'opsworks': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):opsworks:(?P<Region>[\w-]*):(?P<Account>\d{12}):stack/(?P<StackId>.+?)/$"), 'names': ['stack'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'opsworks-cm': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):opsworks-cm::(?P<Account>\d{12}):server/(?P<ServerName>.+?)/(?P<UniqueId>.+?)$"), 'names': ['server'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):opsworks-cm::(?P<Account>\d{12}):backup/(?P<ServerName>.+?)-\{Date-and-Time-Stamp-of-Backup\}$"), 'names': ['backup'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'organizations': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::aws:policy/(?P<PolicyType>.+?)/p-(?P<PolicyId>.+?)$"), 'names': ['aws-policy', 'awspolicy'], 'sdk': 'organizations', 'cfn': None, 'tag': 'AWS::Organizations::Policy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):transfer/o-(?P<OrganizationId>.+?)/(?P<TransferType>.+?)/(?P<TransferDirection>.+?)/rt-(?P<ResponsibilityTransferId>.+?)$"), 'names': ['responsibility-transfer', 'responsibilitytransfer'], 'sdk': 'organizations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):handshake/o-(?P<OrganizationId>.+?)/(?P<HandshakeType>.+?)/h-(?P<HandshakeId>.+?)$"), 'names': ['handshake'], 'sdk': 'organizations', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):policy/o-(?P<OrganizationId>.+?)/(?P<PolicyType>.+?)/p-(?P<PolicyId>.+?)$"), 'names': ['policy'], 'sdk': 'organizations', 'cfn': 'AWS::Organizations::Policy', 'tag': 'AWS::Organizations::Policy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):account/o-(?P<OrganizationId>.+?)/(?P<AccountId>.+?)$"), 'names': ['account'], 'sdk': 'organizations', 'cfn': 'AWS::Organizations::Account', 'tag': 'AWS::Organizations::Account'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):ou/o-(?P<OrganizationId>.+?)/ou-(?P<OrganizationalUnitId>.+?)$"), 'names': ['organizational-unit', 'organizationalunit'], 'sdk': 'organizations', 'cfn': 'AWS::Organizations::OrganizationalUnit', 'tag': 'AWS::Organizations::OrganizationalUnit'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):resourcepolicy/o-(?P<OrganizationId>.+?)/rp-(?P<ResourcePolicyId>.+?)$"), 'names': ['resource-policy', 'resourcepolicy'], 'sdk': 'organizations', 'cfn': 'AWS::Organizations::ResourcePolicy', 'tag': 'AWS::Organizations::ResourcePolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):root/o-(?P<OrganizationId>.+?)/r-(?P<RootId>.+?)$"), 'names': ['root'], 'sdk': 'organizations', 'cfn': None, 'tag': 'AWS::Organizations::Root'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):organizations::(?P<Account>\d{12}):organization/o-(?P<OrganizationId>.+?)$"), 'names': ['organization'], 'sdk': 'organizations', 'cfn': 'AWS::Organizations::Organization', 'tag': None},
    ],
    'osis': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):osis:(?P<Region>[\w-]*):(?P<Account>\d{12}):blueprint/(?P<BlueprintName>.+?)$"), 'names': ['pipeline-blueprint'], 'sdk': 'osis', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):osis:(?P<Region>[\w-]*):(?P<Account>\d{12}):endpoint/(?P<EndpointId>.+?)$"), 'names': ['pipeline-endpoint'], 'sdk': 'osis', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):osis:(?P<Region>[\w-]*):(?P<Account>\d{12}):pipeline/(?P<PipelineName>.+?)$"), 'names': ['pipeline'], 'sdk': 'osis', 'cfn': 'AWS::OSIS::Pipeline', 'tag': 'AWS::OSIS::Pipeline'},
    ],
    'outposts': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):outposts:(?P<Region>[\w-]*):(?P<Account>\d{12}):outpost/(?P<OutpostId>.+?)$"), 'names': ['outpost'], 'sdk': 'outposts', 'cfn': None, 'tag': 'AWS::Outposts::Outpost'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):outposts:(?P<Region>[\w-]*):(?P<Account>\d{12}):site/(?P<SiteId>.+?)$"), 'names': ['site'], 'sdk': 'outposts', 'cfn': None, 'tag': 'AWS::Outposts::Site'},
    ],
    'panorama': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):panorama:(?P<Region>[\w-]*):(?P<Account>\d{12}):applicationInstance/(?P<ApplicationInstanceId>.+?)$"), 'names': ['application-instance', 'applicationInstance'], 'sdk': 'panorama', 'cfn': 'AWS::Panorama::ApplicationInstance', 'tag': 'AWS::Panorama::ApplicationInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):panorama:(?P<Region>[\w-]*):(?P<Account>\d{12}):device/(?P<DeviceId>.+?)$"), 'names': ['device'], 'sdk': 'panorama', 'cfn': None, 'tag': 'AWS::Panorama::Device'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):panorama:(?P<Region>[\w-]*):(?P<Account>\d{12}):package/(?P<PackageId>.+?)$"), 'names': ['package'], 'sdk': 'panorama', 'cfn': 'AWS::Panorama::Package', 'tag': 'AWS::Panorama::Package'},
    ],
    'partnercentral': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral::(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/ReportingData/(?P<TableId>.+?)/Dashboard/(?P<DashboardId>.+?)$"), 'names': ['dashboard', 'Dashboard'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/benefit/(?P<Identifier>.+?)$"), 'names': ['benefit', 'Benefit'], 'sdk': 'partnercentral-benefits', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/connection/(?P<Identifier>.+?)$"), 'names': ['connection', 'Connection'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/connection-invitation/(?P<Identifier>.+?)$"), 'names': ['connection-invitation', 'ConnectionInvitation'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/engagement/(?P<Identifier>.+?)$"), 'names': ['engagement', 'Engagement'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/engagement-by-accepting-invitation-task/(?P<TaskId>.+?)$"), 'names': ['engagement-by-accepting-invitation-task'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/engagement-from-opportunity-task/(?P<TaskId>.+?)$"), 'names': ['engagement-from-opportunity-task'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/engagement-invitation/(?P<Identifier>.+?)$"), 'names': ['engagement-invitation'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*)::catalog/(?P<Catalog>.+?)/opportunity-from-engagement-task/(?P<TaskId>.+?)$"), 'names': ['opportunity-from-engagement-task', 'OpportunityFromEngagementTask'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/engagement/(?P<EngagementIdentifier>.+?)/resource/(?P<ResourceType>.+?)/(?P<ResourceIdentifier>.+?)/template/(?P<TemplateIdentifier>.+?)/resource-snapshot/(?P<SnapshotRevision>.+?)$"), 'names': ['resource-snapshot', 'ResourceSnapshot'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/program-management-account/(?P<ProgramManagementAccountId>.+?)/relationship/(?P<RelationshipId>.+?)$"), 'names': ['relationship', 'Relationship'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/benefit-allocation/(?P<Identifier>.+?)$"), 'names': ['benefit-allocation', 'BenefitAllocation'], 'sdk': 'partnercentral-benefits', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/benefit-application/(?P<Identifier>.+?)$"), 'names': ['benefit-application', 'BenefitApplication'], 'sdk': 'partnercentral-benefits', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/channel-handshake/(?P<Identifier>.+?)$"), 'names': ['channel-handshake', 'ChannelHandshake'], 'sdk': 'partnercentral-channel', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/opportunity/(?P<Identifier>.+?)$"), 'names': ['opportunity', 'Opportunity'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/partner/(?P<Identifier>.+?)$"), 'names': ['partner', 'Partner'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/program-management-account/(?P<Identifier>.+?)$"), 'names': ['program-management-account', 'ProgramManagementAccount'], 'sdk': 'partnercentral-account', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/resource-snapshot-job/(?P<Identifier>.+?)$"), 'names': ['resource-snapshot-job'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/solution/(?P<Identifier>.+?)$"), 'names': ['solution', 'Solution'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):partnercentral:(?P<Region>[\w-]*):(?P<Account>\d{12}):catalog/(?P<Catalog>.+?)/connection-preferences$"), 'names': ['connection-preferences', 'ConnectionPreferences'], 'sdk': 'partnercentral-selling', 'cfn': None, 'tag': None},
    ],
    'payment-cryptography': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):payment-cryptography:(?P<Region>[\w-]*):(?P<Account>\d{12}):alias/(?P<Alias>.+?)$"), 'names': ['alias'], 'sdk': 'payment-cryptography', 'cfn': 'AWS::PaymentCryptography::Alias', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):payment-cryptography:(?P<Region>[\w-]*):(?P<Account>\d{12}):key/(?P<KeyId>.+?)$"), 'names': ['key'], 'sdk': 'payment-cryptography', 'cfn': 'AWS::PaymentCryptography::Key', 'tag': 'AWS::PaymentCryptography::Key'},
    ],
    'payments': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):payments::(?P<Account>\d{12}):payment-instrument:(?P<ResourceId>.+?)$"), 'names': ['payment-instrument'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'pca-connector-ad': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pca-connector-ad:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorId>.+?)/template/(?P<TemplateId>.+?)$"), 'names': ['template', 'Template'], 'sdk': 'pca-connector-ad', 'cfn': 'AWS::PCAConnectorAD::Template', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pca-connector-ad:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorId>.+?)$"), 'names': ['connector', 'Connector'], 'sdk': 'pca-connector-ad', 'cfn': 'AWS::PCAConnectorAD::Connector', 'tag': 'AWS::PCAConnectorAD::Connector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pca-connector-ad:(?P<Region>[\w-]*):(?P<Account>\d{12}):directory-registration/(?P<DirectoryId>.+?)$"), 'names': ['directory-registration', 'DirectoryRegistration'], 'sdk': 'pca-connector-ad', 'cfn': 'AWS::PCAConnectorAD::DirectoryRegistration', 'tag': None},
    ],
    'pca-connector-scep': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pca-connector-scep:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorId>.+?)/challenge/(?P<ChallengeId>.+?)$"), 'names': ['challenge', 'Challenge'], 'sdk': 'pca-connector-scep', 'cfn': 'AWS::PCAConnectorSCEP::Challenge', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pca-connector-scep:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorId>.+?)$"), 'names': ['connector', 'Connector'], 'sdk': 'pca-connector-scep', 'cfn': 'AWS::PCAConnectorSCEP::Connector', 'tag': 'AWS::PCAConnectorScep::Connector'},
    ],
    'pcs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pcs:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterIdentifier>.+?)/computenodegroup/(?P<ComputeNodeGroupIdentifier>.+?)$"), 'names': ['compute-nodegroup', 'computenodegroup'], 'sdk': 'pcs', 'cfn': 'AWS::PCS::ComputeNodeGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pcs:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterIdentifier>.+?)/queue/(?P<QueueIdentifier>.+?)$"), 'names': ['queue'], 'sdk': 'pcs', 'cfn': 'AWS::PCS::Queue', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pcs:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterIdentifier>.+?)$"), 'names': ['cluster'], 'sdk': 'pcs', 'cfn': 'AWS::PCS::Cluster', 'tag': 'AWS::PCS::Cluster'},
    ],
    'personalize': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:::algorithm/(?P<ResourceId>.+?)$"), 'names': ['algorithm'], 'sdk': 'personalize', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:::feature-transformation/(?P<ResourceId>.+?)$"), 'names': ['feature-transformation', 'featureTransformation'], 'sdk': 'personalize', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:::recipe/(?P<ResourceId>.+?)$"), 'names': ['recipe'], 'sdk': 'personalize', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):batch-inference-job/(?P<ResourceId>.+?)$"), 'names': ['batch-inference-job', 'batchInferenceJob'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::BatchInferenceJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):batch-segment-job/(?P<ResourceId>.+?)$"), 'names': ['batch-segment-job', 'batchSegmentJob'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::BatchSegmentJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):campaign/(?P<ResourceId>.+?)$"), 'names': ['campaign'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::Campaign'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-deletion-job/(?P<ResourceId>.+?)$"), 'names': ['data-deletion-job', 'dataDeletionJob'], 'sdk': 'personalize', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-insights-job/(?P<ResourceId>.+?)$"), 'names': ['data-insights-job', 'dataInsightsJob'], 'sdk': 'personalize', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<ResourceId>.+?)$"), 'names': ['dataset'], 'sdk': 'personalize', 'cfn': 'AWS::Personalize::Dataset', 'tag': 'AWS::Personalize::Dataset'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset-export-job/(?P<ResourceId>.+?)$"), 'names': ['dataset-export-job', 'datasetExportJob'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::DatasetExportJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset-group/(?P<ResourceId>.+?)$"), 'names': ['dataset-group', 'datasetGroup'], 'sdk': 'personalize', 'cfn': 'AWS::Personalize::DatasetGroup', 'tag': 'AWS::Personalize::DatasetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset-import-job/(?P<ResourceId>.+?)$"), 'names': ['dataset-import-job', 'datasetImportJob'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::DatasetImportJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):event-tracker/(?P<ResourceId>.+?)$"), 'names': ['event-tracker', 'eventTracker'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::EventTracker'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):filter/(?P<ResourceId>.+?)$"), 'names': ['filter'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::Filter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):metric-attribution/(?P<ResourceId>.+?)$"), 'names': ['metric-attribution', 'metricAttribution'], 'sdk': 'personalize', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):recommender/(?P<ResourceId>.+?)$"), 'names': ['recommender'], 'sdk': 'personalize', 'cfn': None, 'tag': 'AWS::Personalize::Recommender'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):schema/(?P<ResourceId>.+?)$"), 'names': ['schema'], 'sdk': 'personalize', 'cfn': 'AWS::Personalize::Schema', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):personalize:(?P<Region>[\w-]*):(?P<Account>\d{12}):solution/(?P<ResourceId>.+?)$"), 'names': ['solution'], 'sdk': 'personalize', 'cfn': 'AWS::Personalize::Solution', 'tag': 'AWS::Personalize::Solution'},
    ],
    'pi': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pi:(?P<Region>[\w-]*):(?P<Account>\d{12}):perf-reports/(?P<ServiceType>.+?)/(?P<Identifier>.+?)/(?P<ReportId>.+?)$"), 'names': ['perf-reports-resource'], 'sdk': 'pi', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pi:(?P<Region>[\w-]*):(?P<Account>\d{12}):metrics/(?P<ServiceType>.+?)/(?P<Identifier>.+?)$"), 'names': ['metric-resource'], 'sdk': 'pi', 'cfn': None, 'tag': None},
    ],
    'pipes': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pipes:(?P<Region>[\w-]*):(?P<Account>\d{12}):pipe/(?P<Name>.+?)$"), 'names': ['pipe'], 'sdk': 'pipes', 'cfn': 'AWS::Pipes::Pipe', 'tag': 'AWS::Pipes::Pipe'},
    ],
    'polly': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):polly:(?P<Region>[\w-]*):(?P<Account>\d{12}):lexicon/(?P<LexiconName>.+?)$"), 'names': ['lexicon'], 'sdk': 'polly', 'cfn': None, 'tag': None},
    ],
    'pricingplanmanager': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):pricingplanmanager::(?P<Account>\d{12}):subscription/(?P<SubscriptionId>.+?)$"), 'names': ['subscription'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'private-networks': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):private-networks:(?P<Region>[\w-]*):(?P<Account>\d{12}):device-identifier/(?P<NetworkName>.+?)/(?P<DeviceId>.+?)$"), 'names': ['device-identifier'], 'sdk': 'privatenetworks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):private-networks:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-resource/(?P<NetworkName>.+?)/(?P<ResourceId>.+?)$"), 'names': ['network-resource'], 'sdk': 'privatenetworks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):private-networks:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-site/(?P<NetworkName>.+?)/(?P<NetworkSiteName>.+?)$"), 'names': ['network-site'], 'sdk': 'privatenetworks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):private-networks:(?P<Region>[\w-]*):(?P<Account>\d{12}):order/(?P<NetworkName>.+?)/(?P<OrderId>.+?)$"), 'names': ['order'], 'sdk': 'privatenetworks', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):private-networks:(?P<Region>[\w-]*):(?P<Account>\d{12}):network/(?P<NetworkName>.+?)$"), 'names': ['network'], 'sdk': 'privatenetworks', 'cfn': None, 'tag': None},
    ],
    'profile': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/calculated-attributes/(?P<CalculatedAttributeName>.+?)$"), 'names': ['calculated-attributes'], 'sdk': 'customer-profiles', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/domain-object-types/(?P<ObjectTypeName>.+?)$"), 'names': ['domain-object-types'], 'sdk': 'customer-profiles', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/event-streams/(?P<EventStreamName>.+?)$"), 'names': ['event-streams'], 'sdk': 'customer-profiles', 'cfn': 'AWS::CustomerProfiles::EventStream', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/event-triggers/(?P<EventTriggerName>.+?)$"), 'names': ['event-triggers'], 'sdk': 'customer-profiles', 'cfn': 'AWS::CustomerProfiles::EventTrigger', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/integrations/(?P<Uri>.+?)$"), 'names': ['integrations'], 'sdk': 'customer-profiles', 'cfn': 'AWS::CustomerProfiles::Integration', 'tag': 'AWS::CustomerProfiles::Integration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/layouts/(?P<LayoutDefinitionName>.+?)$"), 'names': ['layouts'], 'sdk': 'customer-profiles', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/object-types/(?P<ObjectTypeName>.+?)$"), 'names': ['object-types'], 'sdk': 'customer-profiles', 'cfn': 'AWS::CustomerProfiles::ObjectType', 'tag': 'AWS::CustomerProfiles::ObjectType'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/recommenders/(?P<RecommenderTypeName>.+?)$"), 'names': ['recommenders'], 'sdk': 'customer-profiles', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)/segment-definitions/(?P<SegmentDefinitionName>.+?)$"), 'names': ['segment-definitions'], 'sdk': 'customer-profiles', 'cfn': 'AWS::CustomerProfiles::SegmentDefinition', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):profile:(?P<Region>[\w-]*):(?P<Account>\d{12}):domains/(?P<DomainName>.+?)$"), 'names': ['domains'], 'sdk': 'customer-profiles', 'cfn': 'AWS::CustomerProfiles::Domain', 'tag': 'AWS::CustomerProfiles::Domain'},
    ],
    'proton': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceName>.+?)/service-instance/(?P<Name>.+?)$"), 'names': ['service-instance'], 'sdk': 'proton', 'cfn': None, 'tag': 'AWS::Proton::ServiceInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment-template/(?P<TemplateName>.+?):(?P<MajorVersionId>.+?)$"), 'names': ['environment-template-major-version'], 'sdk': 'proton', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment-template/(?P<TemplateName>.+?):(?P<MajorVersionId>.+?)\.(?P<MinorVersionId>.+?)$"), 'names': ['environment-template-minor-version'], 'sdk': 'proton', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment-template/(?P<TemplateName>.+?):(?P<MajorVersion>.+?)\.(?P<MinorVersion>.+?)$"), 'names': ['environment-template-version'], 'sdk': 'proton', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):repository/(?P<Provider>.+?):(?P<Name>.+?)$"), 'names': ['repository'], 'sdk': 'proton', 'cfn': None, 'tag': 'AWS::Proton::Repository'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-template/(?P<TemplateName>.+?):(?P<MajorVersionId>.+?)$"), 'names': ['service-template-major-version'], 'sdk': 'proton', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-template/(?P<TemplateName>.+?):(?P<MajorVersionId>.+?)\.(?P<MinorVersionId>.+?)$"), 'names': ['service-template-minor-version'], 'sdk': 'proton', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-template/(?P<TemplateName>.+?):(?P<MajorVersion>.+?)\.(?P<MinorVersion>.+?)$"), 'names': ['service-template-version'], 'sdk': 'proton', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):component/(?P<Id>.+?)$"), 'names': ['component'], 'sdk': 'proton', 'cfn': None, 'tag': 'AWS::Proton::Component'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):deployment/(?P<Id>.+?)$"), 'names': ['deployment'], 'sdk': 'proton', 'cfn': None, 'tag': 'AWS::Proton::Deployment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<Name>.+?)$"), 'names': ['environment'], 'sdk': 'proton', 'cfn': None, 'tag': 'AWS::Proton::Environment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment-account-connection/(?P<Id>.+?)$"), 'names': ['environment-account-connection'], 'sdk': 'proton', 'cfn': 'AWS::Proton::EnvironmentAccountConnection', 'tag': 'AWS::Proton::EnvironmentAccountConnection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment-template/(?P<Name>.+?)$"), 'names': ['environment-template'], 'sdk': 'proton', 'cfn': 'AWS::Proton::EnvironmentTemplate', 'tag': 'AWS::Proton::EnvironmentTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<Name>.+?)$"), 'names': ['service'], 'sdk': 'proton', 'cfn': None, 'tag': 'AWS::Proton::Service'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):proton:(?P<Region>[\w-]*):(?P<Account>\d{12}):service-template/(?P<Name>.+?)$"), 'names': ['service-template'], 'sdk': 'proton', 'cfn': 'AWS::Proton::ServiceTemplate', 'tag': 'AWS::Proton::ServiceTemplate'},
    ],
    'purchase-orders': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):purchase-orders::(?P<Account>\d{12}):purchase-order/(?P<ResourceName>.+?)$"), 'names': ['purchase-order'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'qapps': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qapps:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/qapp/(?P<AppId>.+?)/session/(?P<SessionId>.+?)$"), 'names': ['qapp-session'], 'sdk': 'qapps', 'cfn': None, 'tag': 'AWS::QApps::QAppSession'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qapps:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/qapp/(?P<AppId>.+?)$"), 'names': ['qapp'], 'sdk': 'qapps', 'cfn': None, 'tag': 'AWS::QApps::QApp'},
    ],
    'qbusiness': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/index/(?P<IndexId>.+?)/data-source/(?P<DataSourceId>.+?)$"), 'names': ['data-source'], 'sdk': 'qbusiness', 'cfn': 'AWS::QBusiness::DataSource', 'tag': 'AWS::QBusiness::DataSource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/chat-response-configuration/(?P<ChatResponseConfigurationId>.+?)$"), 'names': ['chat-response-configuration'], 'sdk': 'qbusiness', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/data-accessor/(?P<DataAccessorId>.+?)$"), 'names': ['data-accessor'], 'sdk': 'qbusiness', 'cfn': 'AWS::QBusiness::DataAccessor', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/index/(?P<IndexId>.+?)$"), 'names': ['index'], 'sdk': 'qbusiness', 'cfn': 'AWS::QBusiness::Index', 'tag': 'AWS::QBusiness::Index'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/integration/(?P<IntegrationId>.+?)$"), 'names': ['integration'], 'sdk': 'qbusiness', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/plugin/(?P<PluginId>.+?)$"), 'names': ['plugin'], 'sdk': 'qbusiness', 'cfn': 'AWS::QBusiness::Plugin', 'tag': 'AWS::QBusiness::Plugin'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/retriever/(?P<RetrieverId>.+?)$"), 'names': ['retriever'], 'sdk': 'qbusiness', 'cfn': 'AWS::QBusiness::Retriever', 'tag': 'AWS::QBusiness::Retriever'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/subscription/(?P<SubscriptionId>.+?)$"), 'names': ['subscription'], 'sdk': 'qbusiness', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)/web-experience/(?P<WebExperienceId>.+?)$"), 'names': ['web-experience'], 'sdk': 'qbusiness', 'cfn': 'AWS::QBusiness::WebExperience', 'tag': 'AWS::QBusiness::WebExperience'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qbusiness:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': 'qbusiness', 'cfn': 'AWS::QBusiness::Application', 'tag': 'AWS::QBusiness::Application'},
    ],
    'qdeveloper': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qdeveloper:(?P<Region>[\w-]*):(?P<Account>\d{12}):codeTransformation/(?P<Identifier>.+?)$"), 'names': ['code-transformation', 'codeTransformation'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qdeveloper:(?P<Region>[\w-]*):(?P<Account>\d{12}):plugin/(?P<Identifier>.+?)$"), 'names': ['plugin'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'qldb': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qldb:(?P<Region>[\w-]*):(?P<Account>\d{12}):ledger/(?P<LedgerName>.+?)/information_schema/user_tables$"), 'names': ['catalog'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qldb:(?P<Region>[\w-]*):(?P<Account>\d{12}):ledger/(?P<LedgerName>.+?)/table/(?P<TableId>.+?)$"), 'names': ['table'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qldb:(?P<Region>[\w-]*):(?P<Account>\d{12}):stream/(?P<LedgerName>.+?)/(?P<StreamId>.+?)$"), 'names': ['stream'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):qldb:(?P<Region>[\w-]*):(?P<Account>\d{12}):ledger/(?P<LedgerName>.+?)$"), 'names': ['ledger'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'quicksight': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight::(?P<Account>\d{12}):assignment/(?P<ResourceId>.+?)$"), 'names': ['assignment'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):dashboard/(?P<DashboardId>.+?)/snapshot-job/(?P<ResourceId>.+?)$"), 'names': ['dashboard-snapshot-job', 'dashboardSnapshotJob'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<DatasetId>.+?)/ingestion/(?P<ResourceId>.+?)$"), 'names': ['ingestion'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<DatasetId>.+?)/refresh-schedule/(?P<ResourceId>.+?)$"), 'names': ['refresh-schedule', 'refreshschedule'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::RefreshSchedule', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):account/(?P<ResourceId>.+?)$"), 'names': ['account'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):action-connector/(?P<ResourceId>.+?)$"), 'names': ['action-connector', 'actionconnector'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::ActionConnector', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent/(?P<ResourceId>.+?)$"), 'names': ['agent'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):analysis/(?P<ResourceId>.+?)$"), 'names': ['analysis'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::Analysis', 'tag': 'AWS::QuickSight::Analysis'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):asset-bundle-export-job/(?P<ResourceId>.+?)$"), 'names': ['asset-bundle-export-job', 'assetBundleExportJob'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):asset-bundle-import-job/(?P<ResourceId>.+?)$"), 'names': ['asset-bundle-import-job', 'assetBundleImportJob'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):brand/(?P<ResourceId>.+?)$"), 'names': ['brand'], 'sdk': 'quicksight', 'cfn': None, 'tag': 'AWS::QuickSight::Brand'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):customization/(?P<ResourceId>.+?)$"), 'names': ['customization'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):custompermissions/(?P<ResourceId>.+?)$"), 'names': ['custom-permissions', 'custompermissions'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::CustomPermissions', 'tag': 'AWS::QuickSight::CustomPermissions'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):dashboard/(?P<ResourceId>.+?)$"), 'names': ['dashboard'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::Dashboard', 'tag': 'AWS::QuickSight::Dashboard'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataset/(?P<ResourceId>.+?)$"), 'names': ['dataset'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::DataSet', 'tag': 'AWS::QuickSight::DataSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):datasource/(?P<ResourceId>.+?)$"), 'names': ['datasource'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::DataSource', 'tag': 'AWS::QuickSight::DataSource'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):email-customization-template/(?P<ResourceId>.+?)$"), 'names': ['email-customization-template', 'emailCustomizationTemplate'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):extension-access/(?P<ResourceId>.+?)$"), 'names': ['extension-access', 'extensionaccess'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):flow/(?P<ResourceId>.+?)$"), 'names': ['flow'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):folder/(?P<ResourceId>.+?)$"), 'names': ['folder'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::Folder', 'tag': 'AWS::QuickSight::Folder'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):group/(?P<ResourceId>.+?)$"), 'names': ['group'], 'sdk': 'quicksight', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):namespace/(?P<ResourceId>.+?)$"), 'names': ['namespace'], 'sdk': 'quicksight', 'cfn': None, 'tag': 'AWS::QuickSight::Namespace'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):template/(?P<ResourceId>.+?)$"), 'names': ['template'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::Template', 'tag': 'AWS::QuickSight::Template'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):theme/(?P<ResourceId>.+?)$"), 'names': ['theme'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::Theme', 'tag': 'AWS::QuickSight::Theme'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):topic/(?P<ResourceId>.+?)$"), 'names': ['topic'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::Topic', 'tag': 'AWS::QuickSight::Topic'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):user/(?P<ResourceId>.+?)$"), 'names': ['user'], 'sdk': 'quicksight', 'cfn': None, 'tag': 'AWS::QuickSight::User'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):quicksight:(?P<Region>[\w-]*):(?P<Account>\d{12}):vpcConnection/(?P<ResourceId>.+?)$"), 'names': ['vpc-connection', 'vpcconnection'], 'sdk': 'quicksight', 'cfn': 'AWS::QuickSight::VPCConnection', 'tag': 'AWS::QuickSight::VPCConnection'},
    ],
    'ram': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ram::(?P<Account>\d{12}):permission/(?P<ResourcePath>.+?)$"), 'names': ['permission'], 'sdk': 'ram', 'cfn': 'AWS::RAM::Permission', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ram:(?P<Region>[\w-]*):(?P<Account>\d{12}):permission/(?P<ResourcePath>.+?)$"), 'names': ['customer-managed-permission'], 'sdk': 'ram', 'cfn': 'AWS::RAM::Permission', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ram:(?P<Region>[\w-]*):(?P<Account>\d{12}):resource-share/(?P<ResourcePath>.+?)$"), 'names': ['resource-share'], 'sdk': 'ram', 'cfn': 'AWS::RAM::ResourceShare', 'tag': 'AWS::RAM::ResourceShare'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ram:(?P<Region>[\w-]*):(?P<Account>\d{12}):resource-share-invitation/(?P<ResourcePath>.+?)$"), 'names': ['resource-share-invitation'], 'sdk': 'ram', 'cfn': None, 'tag': None},
    ],
    'rbin': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rbin:(?P<Region>[\w-]*):(?P<Account>\d{12}):rule/(?P<ResourceName>.+?)$"), 'names': ['rule'], 'sdk': 'rbin', 'cfn': 'AWS::Rbin::Rule', 'tag': 'AWS::RBin::Rule'},
    ],
    'rds': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds::(?P<Account>\d{12}):global-cluster:(?P<GlobalCluster>.+?)$"), 'names': ['global-cluster'], 'sdk': 'rds', 'cfn': 'AWS::RDS::GlobalCluster', 'tag': 'AWS::RDS::GlobalCluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):cev:(?P<Engine>.+?)/(?P<EngineVersion>.+?)/(?P<CustomDbEngineVersionId>.+?)$"), 'names': ['cev'], 'sdk': 'rds', 'cfn': 'AWS::RDS::CustomDBEngineVersion', 'tag': 'AWS::RDS::CustomDBEngineVersion'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot-tenant-database:(?P<SnapshotName>.+?):(?P<TenantResourceId>.+?)$"), 'names': ['snapshot-tenant-database'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::SnapshotTenantDatabase'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):auto-backup:(?P<DbInstanceAutomatedBackupId>.+?)$"), 'names': ['auto-backup'], 'sdk': 'rds', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster:(?P<DbClusterInstanceName>.+?)$"), 'names': ['cluster'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBCluster', 'tag': 'AWS::RDS::DBCluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster-auto-backup:(?P<DbClusterAutomatedBackupId>.+?)$"), 'names': ['cluster-auto-backup'], 'sdk': 'rds', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster-endpoint:(?P<DbClusterEndpoint>.+?)$"), 'names': ['cluster-endpoint'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::DBClusterEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster-pg:(?P<ClusterParameterGroupName>.+?)$"), 'names': ['cluster-pg'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBClusterParameterGroup', 'tag': 'AWS::RDS::DBClusterParameterGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster-snapshot:(?P<ClusterSnapshotName>.+?)$"), 'names': ['cluster-snapshot'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::DBClusterSnapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):db:(?P<DbInstanceName>.+?)$"), 'names': ['db'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBInstance', 'tag': 'AWS::RDS::DBInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):db-proxy:(?P<DbProxyId>.+?)$"), 'names': ['proxy'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBProxy', 'tag': 'AWS::RDS::DBProxy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):db-proxy-endpoint:(?P<DbProxyEndpointId>.+?)$"), 'names': ['proxy-endpoint'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBProxyEndpoint', 'tag': 'AWS::RDS::DBProxyEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):deployment:(?P<BlueGreenDeploymentIdentifier>.+?)$"), 'names': ['deployment'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::Deployment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):es:(?P<SubscriptionName>.+?)$"), 'names': ['es'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::EventSubscription'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):integration:(?P<IntegrationIdentifier>.+?)$"), 'names': ['integration'], 'sdk': 'rds', 'cfn': 'AWS::RDS::Integration', 'tag': 'AWS::RDS::Integration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):og:(?P<OptionGroupName>.+?)$"), 'names': ['og'], 'sdk': 'rds', 'cfn': 'AWS::RDS::OptionGroup', 'tag': 'AWS::RDS::OptionGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):pg:(?P<ParameterGroupName>.+?)$"), 'names': ['pg'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBParameterGroup', 'tag': 'AWS::RDS::DBParameterGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):ri:(?P<ReservedDbInstanceName>.+?)$"), 'names': ['ri'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::ReservedDBInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):secgrp:(?P<SecurityGroupName>.+?)$"), 'names': ['secgrp'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBSecurityGroup', 'tag': 'AWS::RDS::DBSecurityGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):shard-group:(?P<DbShardGroupResourceId>.+?)$"), 'names': ['shard-group', 'shardgrp'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBShardGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot:(?P<SnapshotName>.+?)$"), 'names': ['snapshot'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::DBSnapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):subgrp:(?P<SubnetGroupName>.+?)$"), 'names': ['subgrp'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBSubnetGroup', 'tag': 'AWS::RDS::DBSubnetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):target-group:(?P<TargetGroupId>.+?)$"), 'names': ['target-group'], 'sdk': 'rds', 'cfn': 'AWS::RDS::DBProxyTargetGroup', 'tag': 'AWS::RDS::DBProxyTargetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds:(?P<Region>[\w-]*):(?P<Account>\d{12}):tenant-database:(?P<TenantResourceId>.+?)$"), 'names': ['tenant-database'], 'sdk': 'rds', 'cfn': None, 'tag': 'AWS::RDS::TenantDatabase'},
    ],
    'rds-db': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rds-db:(?P<Region>[\w-]*):(?P<Account>\d{12}):dbuser:(?P<DbiResourceId>.+?)/(?P<DbUserName>.+?)$"), 'names': ['db-user'], 'sdk': 'rds', 'cfn': None, 'tag': None},
    ],
    'redshift': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):securitygroup:(?P<SecurityGroupName>.+?)/ec2securitygroup/(?P<Owner>.+?)/(?P<Ec2SecurityGroupId>.+?)$"), 'names': ['security-group', 'securitygroup'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::ClusterSecurityGroup', 'tag': 'AWS::Redshift::ClusterSecurityGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):securitygroupingress:(?P<SecurityGroupName>.+?)/ec2securitygroup/(?P<Owner>.+?)/(?P<Ece2SecuritygroupId>.+?)$"), 'names': ['securitygroupingress-ec2securitygroup'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::ClusterSecurityGroupIngress', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):securitygroupingress:(?P<SecurityGroupName>.+?)/cidrip/(?P<IpRange>.+?)$"), 'names': ['securitygroupingress-cidr'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::ClusterSecurityGroupIngress', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):datashare:(?P<ProducerClusterNamespace>.+?)/(?P<DataShareName>.+?)$"), 'names': ['datashare'], 'sdk': 'redshift', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):dbgroup:(?P<ClusterName>.+?)/(?P<DbGroup>.+?)$"), 'names': ['dbgroup'], 'sdk': 'redshift', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):dbname:(?P<ClusterName>.+?)/(?P<DbName>.+?)$"), 'names': ['dbname'], 'sdk': 'redshift', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):dbuser:(?P<ClusterName>.+?)/(?P<DbUser>.+?)$"), 'names': ['dbuser'], 'sdk': 'redshift', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot:(?P<ClusterName>.+?)/(?P<SnapshotName>.+?)$"), 'names': ['snapshot'], 'sdk': 'redshift', 'cfn': None, 'tag': 'AWS::Redshift::Snapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster:(?P<ClusterName>.+?)$"), 'names': ['cluster'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::Cluster', 'tag': 'AWS::Redshift::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):eventsubscription:(?P<EventSubscriptionName>.+?)$"), 'names': ['event-subscription', 'eventsubscription'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::EventSubscription', 'tag': 'AWS::Redshift::EventSubscription'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):hsmclientcertificate:(?P<HSMClientCertificateId>.+?)$"), 'names': ['hsm-client-certificate', 'hsmclientcertificate'], 'sdk': 'redshift', 'cfn': None, 'tag': 'AWS::Redshift::HSMClientCertificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):hsmconfiguration:(?P<HSMConfigurationId>.+?)$"), 'names': ['hsm-configuration', 'hsmconfiguration'], 'sdk': 'redshift', 'cfn': None, 'tag': 'AWS::Redshift::HSMConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):integration:(?P<IntegrationIdentifier>.+?)$"), 'names': ['integration'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::Integration', 'tag': 'AWS::Redshift::Integration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):namespace:(?P<ClusterNamespace>.+?)$"), 'names': ['namespace'], 'sdk': 'redshift', 'cfn': None, 'tag': 'AWS::Redshift::Namespace'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):parametergroup:(?P<ParameterGroupName>.+?)$"), 'names': ['parameter-group', 'parametergroup'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::ClusterParameterGroup', 'tag': 'AWS::Redshift::ClusterParameterGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):qev2idcapplication:(?P<Qev2IdcApplicationId>.+?)$"), 'names': ['qev2-idc-application', 'qev2idcapplication'], 'sdk': 'redshift', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):redshiftidcapplication:(?P<RedshiftIdcApplicationId>.+?)$"), 'names': ['redshift-idc-application', 'redshiftidcapplication'], 'sdk': 'redshift', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshotcopygrant:(?P<SnapshotCopyGrantName>.+?)$"), 'names': ['snapshot-copy-grant', 'snapshotcopygrant'], 'sdk': 'redshift', 'cfn': None, 'tag': 'AWS::Redshift::SnapshotCopyGrant'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshotschedule:(?P<ScheduleIdentifier>.+?)$"), 'names': ['snapshot-schedule', 'snapshotschedule'], 'sdk': 'redshift', 'cfn': None, 'tag': 'AWS::Redshift::SnapshotSchedule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):subnetgroup:(?P<SubnetGroupName>.+?)$"), 'names': ['subnet-group', 'subnetgroup'], 'sdk': 'redshift', 'cfn': 'AWS::Redshift::ClusterSubnetGroup', 'tag': 'AWS::Redshift::ClusterSubnetGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift:(?P<Region>[\w-]*):(?P<Account>\d{12}):usagelimit:(?P<UsageLimitId>.+?)$"), 'names': ['usage-limit', 'usagelimit'], 'sdk': 'redshift', 'cfn': None, 'tag': 'AWS::Redshift::UsageLimit'},
    ],
    'redshift-serverless': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):managed-workgroup/(?P<ManagedWorkgroupId>.+?)$"), 'names': ['managed-workgroup'], 'sdk': 'redshift-serverless', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):managed-workgroup/(?P<ManagedWorkgroupName>.+?)$"), 'names': ['managed-workgroup'], 'sdk': 'redshift-serverless', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):managedvpcendpoint/(?P<EndpointAccessId>.+?)$"), 'names': ['endpoint-access', 'endpointAccess'], 'sdk': 'redshift-serverless', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):namespace/(?P<NamespaceId>.+?)$"), 'names': ['namespace'], 'sdk': 'redshift-serverless', 'cfn': 'AWS::RedshiftServerless::Namespace', 'tag': 'AWS::RedshiftServerless::Namespace'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):recoverypoint/(?P<RecoveryPointId>.+?)$"), 'names': ['recovery-point', 'recoveryPoint'], 'sdk': 'redshift-serverless', 'cfn': None, 'tag': 'AWS::RedshiftServerless::RecoveryPoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):snapshot/(?P<SnapshotId>.+?)$"), 'names': ['snapshot'], 'sdk': 'redshift-serverless', 'cfn': 'AWS::RedshiftServerless::Snapshot', 'tag': 'AWS::RedshiftServerless::Snapshot'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):redshift-serverless:(?P<Region>[\w-]*):(?P<Account>\d{12}):workgroup/(?P<WorkgroupId>.+?)$"), 'names': ['workgroup'], 'sdk': 'redshift-serverless', 'cfn': 'AWS::RedshiftServerless::Workgroup', 'tag': 'AWS::RedshiftServerless::Workgroup'},
    ],
    'refactor-spaces': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):refactor-spaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentId>.+?)/application/(?P<ApplicationId>.+?)/route/(?P<RouteId>.+?)$"), 'names': ['route'], 'sdk': 'migration-hub-refactor-spaces', 'cfn': 'AWS::RefactorSpaces::Route', 'tag': 'AWS::RefactorSpaces::Route'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):refactor-spaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentId>.+?)/application/(?P<ApplicationId>.+?)/service/(?P<ServiceId>.+?)$"), 'names': ['service'], 'sdk': 'migration-hub-refactor-spaces', 'cfn': 'AWS::RefactorSpaces::Service', 'tag': 'AWS::RefactorSpaces::Service'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):refactor-spaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentId>.+?)/application/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': 'migration-hub-refactor-spaces', 'cfn': 'AWS::RefactorSpaces::Application', 'tag': 'AWS::RefactorSpaces::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):refactor-spaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentId>.+?)$"), 'names': ['environment'], 'sdk': 'migration-hub-refactor-spaces', 'cfn': 'AWS::RefactorSpaces::Environment', 'tag': 'AWS::RefactorSpaces::Environment'},
    ],
    'rekognition': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rekognition:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)/dataset/(?P<DatasetType>.+?)/(?P<CreationTimestamp>.+?)$"), 'names': ['dataset'], 'sdk': 'rekognition', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rekognition:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)/version/(?P<VersionName>.+?)/(?P<CreationTimestamp>.+?)$"), 'names': ['project-version', 'projectversion'], 'sdk': 'rekognition', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rekognition:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)/(?P<CreationTimestamp>.+?)$"), 'names': ['project'], 'sdk': 'rekognition', 'cfn': 'AWS::Rekognition::Project', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rekognition:(?P<Region>[\w-]*):(?P<Account>\d{12}):collection/(?P<CollectionId>.+?)$"), 'names': ['collection'], 'sdk': 'rekognition', 'cfn': 'AWS::Rekognition::Collection', 'tag': 'AWS::Rekognition::Collection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rekognition:(?P<Region>[\w-]*):(?P<Account>\d{12}):streamprocessor/(?P<StreamprocessorId>.+?)$"), 'names': ['stream-processor', 'streamprocessor'], 'sdk': 'rekognition', 'cfn': 'AWS::Rekognition::StreamProcessor', 'tag': 'AWS::Rekognition::StreamProcessor'},
    ],
    'repostspace': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):repostspace:(?P<Region>[\w-]*):(?P<Account>\d{12}):space/(?P<ResourceId>.+?)$"), 'names': ['space'], 'sdk': 'repostspace', 'cfn': None, 'tag': None},
    ],
    'resiliencehub': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resiliencehub:(?P<Region>[\w-]*):(?P<Account>\d{12}):app/(?P<AppId>.+?)$"), 'names': ['application'], 'sdk': 'resiliencehub', 'cfn': 'AWS::ResilienceHub::App', 'tag': 'AWS::ResilienceHub::App'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resiliencehub:(?P<Region>[\w-]*):(?P<Account>\d{12}):app-assessment/(?P<AppAssessmentId>.+?)$"), 'names': ['app-assessment'], 'sdk': 'resiliencehub', 'cfn': None, 'tag': 'AWS::ResilienceHub::AppAssessment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resiliencehub:(?P<Region>[\w-]*):(?P<Account>\d{12}):recommendation-template/(?P<RecommendationTemplateId>.+?)$"), 'names': ['recommendation-template'], 'sdk': 'resiliencehub', 'cfn': None, 'tag': 'AWS::ResilienceHub::RecommendationTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resiliencehub:(?P<Region>[\w-]*):(?P<Account>\d{12}):resiliency-policy/(?P<ResiliencyPolicyId>.+?)$"), 'names': ['resiliency-policy'], 'sdk': 'resiliencehub', 'cfn': 'AWS::ResilienceHub::ResiliencyPolicy', 'tag': 'AWS::ResilienceHub::ResiliencyPolicy'},
    ],
    'resource-explorer-2': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resource-explorer-2:(?P<Region>[\w-]*):(?P<Account>\d{12}):managed-view/(?P<ManagedViewName>.+?)/(?P<ManagedViewUuid>.+?)$"), 'names': ['managed-view'], 'sdk': 'resource-explorer-2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resource-explorer-2:(?P<Region>[\w-]*):(?P<Account>\d{12}):view/(?P<ViewName>.+?)/(?P<ViewUuid>.+?)$"), 'names': ['view'], 'sdk': 'resource-explorer-2', 'cfn': 'AWS::ResourceExplorer2::View', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resource-explorer-2:(?P<Region>[\w-]*):(?P<Account>\d{12}):index/(?P<IndexUuid>.+?)$"), 'names': ['index'], 'sdk': 'resource-explorer-2', 'cfn': 'AWS::ResourceExplorer2::Index', 'tag': None},
    ],
    'resource-groups': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resource-groups:(?P<Region>[\w-]*):(?P<Account>\d{12}):group/(?P<GroupName>.+?)/tag-sync-task/(?P<TaskId>.+?)$"), 'names': ['tag-sync-task', 'tagSyncTask'], 'sdk': 'resource-groups', 'cfn': 'AWS::ResourceGroups::TagSyncTask', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):resource-groups:(?P<Region>[\w-]*):(?P<Account>\d{12}):group/(?P<GroupName>.+?)$"), 'names': ['group'], 'sdk': 'resource-groups', 'cfn': 'AWS::ResourceGroups::Group', 'tag': 'AWS::ResourceGroups::Group'},
    ],
    'robomaker': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):deployment-fleet/(?P<FleetName>.+?)/(?P<CreatedOnEpoch>.+?)$"), 'names': ['deployment-fleet', 'deploymentFleet'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):robot/(?P<RobotName>.+?)/(?P<CreatedOnEpoch>.+?)$"), 'names': ['robot'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):robot-application/(?P<ApplicationName>.+?)/(?P<CreatedOnEpoch>.+?)$"), 'names': ['robot-application', 'robotApplication'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):simulation-application/(?P<ApplicationName>.+?)/(?P<CreatedOnEpoch>.+?)$"), 'names': ['simulation-application', 'simulationApplication'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):deployment-job/(?P<DeploymentJobId>.+?)$"), 'names': ['deployment-job', 'deploymentJob'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):simulation-job/(?P<SimulationJobId>.+?)$"), 'names': ['simulation-job', 'simulationJob'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):simulation-job-batch/(?P<SimulationJobBatchId>.+?)$"), 'names': ['simulation-job-batch', 'simulationJobBatch'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):world/(?P<WorldId>.+?)$"), 'names': ['world'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):world-export-job/(?P<WorldExportJobId>.+?)$"), 'names': ['world-export-job', 'worldExportJob'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):world-generation-job/(?P<WorldGenerationJobId>.+?)$"), 'names': ['world-generation-job', 'worldGenerationJob'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):robomaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):world-template/(?P<WorldTemplateJobId>.+?)$"), 'names': ['world-template', 'worldTemplate'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'rolesanywhere': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rolesanywhere:(?P<Region>[\w-]*):(?P<Account>\d{12}):crl/(?P<CrlId>.+?)$"), 'names': ['crl'], 'sdk': 'rolesanywhere', 'cfn': 'AWS::RolesAnywhere::CRL', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rolesanywhere:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<ProfileId>.+?)$"), 'names': ['profile'], 'sdk': 'rolesanywhere', 'cfn': 'AWS::RolesAnywhere::Profile', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rolesanywhere:(?P<Region>[\w-]*):(?P<Account>\d{12}):subject/(?P<SubjectId>.+?)$"), 'names': ['subject'], 'sdk': 'rolesanywhere', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rolesanywhere:(?P<Region>[\w-]*):(?P<Account>\d{12}):trust-anchor/(?P<TrustAnchorId>.+?)$"), 'names': ['trust-anchor'], 'sdk': 'rolesanywhere', 'cfn': 'AWS::RolesAnywhere::TrustAnchor', 'tag': None},
    ],
    'route53': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::change/(?P<Id>.+?)$"), 'names': ['change'], 'sdk': 'route53', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::cidrcollection/(?P<Id>.+?)$"), 'names': ['cidr-collection', 'cidrcollection'], 'sdk': 'route53', 'cfn': 'AWS::Route53::CidrCollection', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::delegationset/(?P<Id>.+?)$"), 'names': ['delegation-set', 'delegationset'], 'sdk': 'route53', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::healthcheck/(?P<Id>.+?)$"), 'names': ['healthcheck'], 'sdk': 'route53', 'cfn': 'AWS::Route53::HealthCheck', 'tag': 'AWS::Route53::HealthCheck'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::hostedzone/(?P<Id>.+?)$"), 'names': ['hostedzone'], 'sdk': 'route53', 'cfn': 'AWS::Route53::HostedZone', 'tag': 'AWS::Route53::HostedZone'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::queryloggingconfig/(?P<Id>.+?)$"), 'names': ['query-logging-config', 'queryloggingconfig'], 'sdk': 'route53', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::trafficpolicy/(?P<Id>.+?)$"), 'names': ['traffic-policy', 'trafficpolicy'], 'sdk': 'route53', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53:::trafficpolicyinstance/(?P<Id>.+?)$"), 'names': ['traffic-policy-instance', 'trafficpolicyinstance'], 'sdk': 'route53', 'cfn': None, 'tag': None},
    ],
    'route53-recovery-control': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-control::(?P<Account>\d{12}):controlpanel/(?P<ControlPanelId>.+?)/routingcontrol/(?P<RoutingControlId>.+?)$"), 'names': ['routing-control', 'routingcontrol'], 'sdk': 'route53-recovery-control-config', 'cfn': 'AWS::Route53RecoveryControl::RoutingControl', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-control::(?P<Account>\d{12}):controlpanel/(?P<ControlPanelId>.+?)/safetyrule/(?P<SafetyRuleId>.+?)$"), 'names': ['safety-rule', 'safetyrule'], 'sdk': 'route53-recovery-control-config', 'cfn': 'AWS::Route53RecoveryControl::SafetyRule', 'tag': 'AWS::Route53RecoveryControl::SafetyRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-control::(?P<Account>\d{12}):cluster/(?P<ResourceId>.+?)$"), 'names': ['cluster'], 'sdk': 'route53-recovery-control-config', 'cfn': 'AWS::Route53RecoveryControl::Cluster', 'tag': 'AWS::Route53RecoveryControl::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-control::(?P<Account>\d{12}):controlpanel/(?P<ControlPanelId>.+?)$"), 'names': ['control-panel', 'controlpanel'], 'sdk': 'route53-recovery-control-config', 'cfn': 'AWS::Route53RecoveryControl::ControlPanel', 'tag': 'AWS::Route53RecoveryControl::ControlPanel'},
    ],
    'route53-recovery-readiness': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-readiness::(?P<Account>\d{12}):cell/(?P<ResourceId>.+?)$"), 'names': ['cell'], 'sdk': 'route53-recovery-readiness', 'cfn': 'AWS::Route53RecoveryReadiness::Cell', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-readiness::(?P<Account>\d{12}):readiness-check/(?P<ResourceId>.+?)$"), 'names': ['readiness-check', 'readinesscheck'], 'sdk': 'route53-recovery-readiness', 'cfn': 'AWS::Route53RecoveryReadiness::ReadinessCheck', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-readiness::(?P<Account>\d{12}):recovery-group/(?P<ResourceId>.+?)$"), 'names': ['recovery-group', 'recoverygroup'], 'sdk': 'route53-recovery-readiness', 'cfn': 'AWS::Route53RecoveryReadiness::RecoveryGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53-recovery-readiness::(?P<Account>\d{12}):resource-set/(?P<ResourceId>.+?)$"), 'names': ['resource-set', 'resourceset'], 'sdk': 'route53-recovery-readiness', 'cfn': 'AWS::Route53RecoveryReadiness::ResourceSet', 'tag': None},
    ],
    'route53globalresolver': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53globalresolver::(?P<Account>\d{12}):access-source/(?P<Id>.+?)$"), 'names': ['access-source'], 'sdk': 'route53globalresolver', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53globalresolver::(?P<Account>\d{12}):access-token/(?P<Id>.+?)$"), 'names': ['access-token'], 'sdk': 'route53globalresolver', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53globalresolver::(?P<Account>\d{12}):dns-view/(?P<Id>.+?)$"), 'names': ['dns-view'], 'sdk': 'route53globalresolver', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53globalresolver::(?P<Account>\d{12}):firewall-domain-list/(?P<Id>.+?)$"), 'names': ['firewall-domain-list'], 'sdk': 'route53globalresolver', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53globalresolver::(?P<Account>\d{12}):global-resolver/(?P<Id>.+?)$"), 'names': ['global-resolver'], 'sdk': 'route53globalresolver', 'cfn': None, 'tag': None},
    ],
    'route53profiles': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53profiles:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<ResourceId>.+?)$"), 'names': ['profile'], 'sdk': 'route53profiles', 'cfn': 'AWS::Route53Profiles::Profile', 'tag': 'AWS::Route53Profiles::Profile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53profiles:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile-association/(?P<ResourceId>.+?)$"), 'names': ['profile-association'], 'sdk': 'route53profiles', 'cfn': 'AWS::Route53Profiles::ProfileAssociation', 'tag': 'AWS::Route53Profiles::ProfileAssociation'},
    ],
    'route53resolver': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):autodefined-rule/(?P<ResourceId>.+?)$"), 'names': ['autodefined-rule'], 'sdk': 'route53resolver', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):firewall-config/(?P<ResourceId>.+?)$"), 'names': ['firewall-config'], 'sdk': 'route53resolver', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):firewall-domain-list/(?P<ResourceId>.+?)$"), 'names': ['firewall-domain-list'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::FirewallDomainList', 'tag': 'AWS::Route53Resolver::FirewallDomainList'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):firewall-rule-group/(?P<ResourceId>.+?)$"), 'names': ['firewall-rule-group'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::FirewallRuleGroup', 'tag': 'AWS::Route53Resolver::FirewallRuleGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):firewall-rule-group-association/(?P<ResourceId>.+?)$"), 'names': ['firewall-rule-group-association'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::FirewallRuleGroupAssociation', 'tag': 'AWS::Route53Resolver::FirewallRuleGroupAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):outpost-resolver/(?P<ResourceId>.+?)$"), 'names': ['outpost-resolver'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::OutpostResolver', 'tag': 'AWS::Route53Resolver::OutpostResolver'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):resolver-config/(?P<ResourceId>.+?)$"), 'names': ['resolver-config'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::ResolverConfig', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):resolver-dnssec-config/(?P<ResourceId>.+?)$"), 'names': ['resolver-dnssec-config'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::ResolverDNSSECConfig', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):resolver-endpoint/(?P<ResourceId>.+?)$"), 'names': ['resolver-endpoint'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::ResolverEndpoint', 'tag': 'AWS::Route53Resolver::ResolverEndpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):resolver-query-log-config/(?P<ResourceId>.+?)$"), 'names': ['resolver-query-log-config'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::ResolverQueryLoggingConfig', 'tag': 'AWS::Route53Resolver::ResolverQueryLoggingConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):route53resolver:(?P<Region>[\w-]*):(?P<Account>\d{12}):resolver-rule/(?P<ResourceId>.+?)$"), 'names': ['resolver-rule'], 'sdk': 'route53resolver', 'cfn': 'AWS::Route53Resolver::ResolverRule', 'tag': 'AWS::Route53Resolver::ResolverRule'},
    ],
    'rum': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):rum:(?P<Region>[\w-]*):(?P<Account>\d{12}):appmonitor/(?P<Name>.+?)$"), 'names': ['app-monitor-resource', 'AppMonitorResource'], 'sdk': 'rum', 'cfn': 'AWS::RUM::AppMonitor', 'tag': 'AWS::RUM::AppMonitor'},
    ],
    's3': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:::(?P<BucketName>.+?)/(?P<ObjectName>.+?)$"), 'names': ['object'], 'sdk': 's3', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:::(?P<BucketName>.+?)$"), 'names': ['bucket'], 'sdk': 's3', 'cfn': 'AWS::S3::Bucket', 'tag': 'AWS::S3::Bucket'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3::(?P<Account>\d{12}):accesspoint/(?P<AccessPointAlias>.+?)$"), 'names': ['multi-region-access-point', 'multiregionaccesspoint'], 'sdk': 's3control', 'cfn': 'AWS::S3::MultiRegionAccessPoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:us-west-2:(?P<Account>\d{12}):async-request/mrap/(?P<Operation>.+?)/(?P<Token>.+?)$"), 'names': ['multi-region-access-point-request-arn', 'multiregionaccesspointrequestarn'], 'sdk': 's3control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):access-grants/default/grant/(?P<Token>.+?)$"), 'names': ['access-grant', 'accessgrant'], 'sdk': 's3control', 'cfn': 'AWS::S3::AccessGrant', 'tag': 'AWS::S3::AccessGrant'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):access-grants/default/location/(?P<Token>.+?)$"), 'names': ['access-grants-location', 'accessgrantslocation'], 'sdk': 's3control', 'cfn': 'AWS::S3::AccessGrantsLocation', 'tag': 'AWS::S3::AccessGrantsLocation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):accesspoint/(?P<AccessPointName>.+?)/object/(?P<ObjectName>.+?)$"), 'names': ['access-point-object', 'accesspointobject'], 'sdk': 's3control', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):access-grants/default$"), 'names': ['access-grants-instance', 'accessgrantsinstance'], 'sdk': 's3control', 'cfn': 'AWS::S3::AccessGrantsInstance', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):accesspoint/(?P<AccessPointName>.+?)$"), 'names': ['access-point', 'accesspoint'], 'sdk': 's3control', 'cfn': 'AWS::S3::AccessPoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):job/(?P<JobId>.+?)$"), 'names': ['job'], 'sdk': 's3control', 'cfn': None, 'tag': 'AWS::S3::Job'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):storage-lens/(?P<ConfigId>.+?)$"), 'names': ['storage-lens-configuration', 'storagelensconfiguration', 'storage-lens'], 'sdk': 's3control', 'cfn': 'AWS::S3::StorageLens', 'tag': 'AWS::S3::StorageLens'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3:(?P<Region>[\w-]*):(?P<Account>\d{12}):storage-lens-group/(?P<Name>.+?)$"), 'names': ['storage-lens-group', 'storagelensgroup'], 'sdk': 's3control', 'cfn': 'AWS::S3::StorageLensGroup', 'tag': 'AWS::S3::StorageLensGroup'},
    ],
    's3-object-lambda': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3-object-lambda:(?P<Region>[\w-]*):(?P<Account>\d{12}):accesspoint/(?P<AccessPointName>.+?)$"), 'names': ['object-lambda-access-point', 'objectlambdaaccesspoint'], 'sdk': 's3', 'cfn': 'AWS::S3ObjectLambda::AccessPoint', 'tag': None},
    ],
    's3-outposts': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3-outposts:(?P<Region>[\w-]*):(?P<Account>\d{12}):outpost/(?P<OutpostId>.+?)/bucket/(?P<BucketName>.+?)/object/(?P<ObjectName>.+?)$"), 'names': ['object'], 'sdk': 's3outposts', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3-outposts:(?P<Region>[\w-]*):(?P<Account>\d{12}):outpost/(?P<OutpostId>.+?)/accesspoint/(?P<AccessPointName>.+?)$"), 'names': ['access-point', 'accesspoint'], 'sdk': 's3outposts', 'cfn': 'AWS::S3Outposts::AccessPoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3-outposts:(?P<Region>[\w-]*):(?P<Account>\d{12}):outpost/(?P<OutpostId>.+?)/bucket/(?P<BucketName>.+?)$"), 'names': ['bucket'], 'sdk': 's3outposts', 'cfn': 'AWS::S3Outposts::Bucket', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3-outposts:(?P<Region>[\w-]*):(?P<Account>\d{12}):outpost/(?P<OutpostId>.+?)/endpoint/(?P<EndpointId>.+?)$"), 'names': ['endpoint'], 'sdk': 's3outposts', 'cfn': 'AWS::S3Outposts::Endpoint', 'tag': None},
    ],
    's3express': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3express:(?P<Region>[\w-]*):(?P<Account>\d{12}):accesspoint/(?P<AccessPointName>.+?)$"), 'names': ['access-point', 'accesspoint'], 'sdk': 's3', 'cfn': 'AWS::S3Express::AccessPoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3express:(?P<Region>[\w-]*):(?P<Account>\d{12}):bucket/(?P<BucketName>.+?)$"), 'names': ['bucket'], 'sdk': 's3', 'cfn': 'AWS::S3::Bucket', 'tag': 'AWS::S3::Bucket'},
    ],
    's3tables': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3tables:(?P<Region>[\w-]*):(?P<Account>\d{12}):bucket/(?P<TableBucketName>.+?)/table/(?P<TableID>.+?)$"), 'names': ['table', 'Table'], 'sdk': 's3tables', 'cfn': 'AWS::S3Tables::Table', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3tables:(?P<Region>[\w-]*):(?P<Account>\d{12}):bucket/(?P<TableBucketName>.+?)$"), 'names': ['table-bucket', 'TableBucket'], 'sdk': 's3tables', 'cfn': 'AWS::S3Tables::TableBucket', 'tag': None},
    ],
    's3vectors': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3vectors:(?P<Region>[\w-]*):(?P<Account>\d{12}):bucket/(?P<BucketName>.+?)/index/(?P<IndexName>.+?)$"), 'names': ['index', 'Index'], 'sdk': 's3vectors', 'cfn': 'AWS::S3Vectors::Index', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):s3vectors:(?P<Region>[\w-]*):(?P<Account>\d{12}):bucket/(?P<BucketName>.+?)$"), 'names': ['vector-bucket', 'VectorBucket'], 'sdk': 's3vectors', 'cfn': 'AWS::S3Vectors::VectorBucket', 'tag': None},
    ],
    'sagemaker': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):app/(?P<DomainId>.+?)/(?P<UserProfileName>.+?)/(?P<AppType>.+?)/(?P<AppName>.+?)$"), 'names': ['app'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::App', 'tag': 'AWS::SageMaker::App'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):device-fleet/(?P<DeviceFleetName>.+?)/device/(?P<DeviceName>.+?)$"), 'names': ['device'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Device', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):hub-content/(?P<HubName>.+?)/(?P<HubContentType>.+?)/(?P<HubContentName>.+?)$"), 'names': ['hub-content'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::HubContent'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-card/(?P<ModelCardName>.+?)/export-job/(?P<ExportJobName>.+?)$"), 'names': ['model-card-export-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitoring-schedule/(?P<MonitoringScheduleName>.+?)/alert/(?P<MonitoringScheduleAlertName>.+?)$"), 'names': ['monitoring-schedule-alert'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):pipeline/(?P<PipelineName>.+?)/execution/(?P<RandomString>.+?)$"), 'names': ['pipeline-execution'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):image-version/(?P<ImageName>.+?)/(?P<Version>.+?)$"), 'names': ['image-version'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ImageVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):space/(?P<DomainId>.+?)/(?P<SpaceName>.+?)$"), 'names': ['space'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Space', 'tag': 'AWS::SageMaker::Space'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):user-profile/(?P<DomainId>.+?)/(?P<UserProfileName>.+?)$"), 'names': ['user-profile'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::UserProfile', 'tag': 'AWS::SageMaker::UserProfile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):action/(?P<ActionName>.+?)$"), 'names': ['action'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::Action'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):algorithm/(?P<AlgorithmName>.+?)$"), 'names': ['algorithm'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::Algorithm'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):app-image-config/(?P<AppImageConfigName>.+?)$"), 'names': ['app-image-config'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::AppImageConfig', 'tag': 'AWS::SageMaker::AppImageConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):artifact/(?P<HashOfArtifactSource>.+?)$"), 'names': ['artifact'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::Artifact'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):automl-job/(?P<AutoMLJobJobName>.+?)$"), 'names': ['automl-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::AutoMLJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster/(?P<ClusterId>.+?)$"), 'names': ['cluster'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Cluster', 'tag': 'AWS::SageMaker::Cluster'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):cluster-scheduler-config/(?P<ClusterSchedulerConfigId>.+?)$"), 'names': ['cluster-scheduler-config'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::ClusterSchedulerConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):code-repository/(?P<CodeRepositoryName>.+?)$"), 'names': ['code-repository'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::CodeRepository', 'tag': 'AWS::SageMaker::CodeRepository'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):compilation-job/(?P<CompilationJobName>.+?)$"), 'names': ['compilation-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::CompilationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):compute-quota/(?P<ComputeQuotaId>.+?)$"), 'names': ['compute-quota'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::ComputeQuota'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):context/(?P<ContextName>.+?)$"), 'names': ['context'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::Context'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-quality-job-definition/(?P<DataQualityJobDefinitionName>.+?)$"), 'names': ['data-quality-job-definition'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::DataQualityJobDefinition', 'tag': 'AWS::SageMaker::DataQualityJobDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):device-fleet/(?P<DeviceFleetName>.+?)$"), 'names': ['device-fleet'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::DeviceFleet', 'tag': 'AWS::SageMaker::DeviceFleet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)$"), 'names': ['domain'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Domain', 'tag': 'AWS::SageMaker::Domain'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):edge-deployment/(?P<EdgeDeploymentPlanName>.+?)$"), 'names': ['edge-deployment-plan'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::EdgeDeploymentPlan'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):edge-packaging-job/(?P<EdgePackagingJobName>.+?)$"), 'names': ['edge-packaging-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::EdgePackagingJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):endpoint/(?P<EndpointName>.+?)$"), 'names': ['endpoint'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Endpoint', 'tag': 'AWS::SageMaker::Endpoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):endpoint-config/(?P<EndpointConfigName>.+?)$"), 'names': ['endpoint-config'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::EndpointConfig', 'tag': 'AWS::SageMaker::EndpointConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):experiment/(?P<ExperimentName>.+?)$"), 'names': ['experiment'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::Experiment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):experiment-trial/(?P<TrialName>.+?)$"), 'names': ['experiment-trial'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::ExperimentTrial'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):experiment-trial-component/(?P<TrialComponentName>.+?)$"), 'names': ['experiment-trial-component'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::ExperimentTrialComponent'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):feature-group/(?P<FeatureGroupName>.+?)$"), 'names': ['feature-group'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::FeatureGroup', 'tag': 'AWS::SageMaker::FeatureGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):flow-definition/(?P<FlowDefinitionName>.+?)$"), 'names': ['flow-definition'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::FlowDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):hub/(?P<HubName>.+?)$"), 'names': ['hub'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::Hub'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):human-loop/(?P<HumanLoopName>.+?)$"), 'names': ['human-loop'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):human-task-ui/(?P<HumanTaskUiName>.+?)$"), 'names': ['human-task-ui'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::HumanTaskUi'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):hyper-parameter-tuning-job/(?P<HyperParameterTuningJobName>.+?)$"), 'names': ['hyper-parameter-tuning-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::HyperParameterTuningJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):image/(?P<ImageName>.+?)$"), 'names': ['image'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Image', 'tag': 'AWS::SageMaker::Image'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):inference-component/(?P<InferenceComponentName>.+?)$"), 'names': ['inference-component'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::InferenceComponent', 'tag': 'AWS::SageMaker::InferenceComponent'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):inference-experiment/(?P<InferenceExperimentName>.+?)$"), 'names': ['inference-experiment'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::InferenceExperiment', 'tag': 'AWS::SageMaker::InferenceExperiment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):inference-recommendations-job/(?P<InferenceRecommendationsJobName>.+?)$"), 'names': ['inference-recommendations-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::InferenceRecommendationsJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):labeling-job/(?P<LabelingJobName>.+?)$"), 'names': ['labeling-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::LabelingJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):lineage-group/(?P<LineageGroupName>.+?)$"), 'names': ['lineage-group'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::LineageGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):mlflow-app/(?P<MLflowAppId>.+?)$"), 'names': ['mlflow-app'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):mlflow-tracking-server/(?P<MlflowTrackingServerName>.+?)$"), 'names': ['mlflow-tracking-server'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::MlflowTrackingServer', 'tag': 'AWS::SageMaker::MlflowTrackingServer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model/(?P<ModelName>.+?)$"), 'names': ['model'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Model', 'tag': 'AWS::SageMaker::Model'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-bias-job-definition/(?P<ModelBiasJobDefinitionName>.+?)$"), 'names': ['model-bias-job-definition'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ModelBiasJobDefinition', 'tag': 'AWS::SageMaker::ModelBiasJobDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-card/(?P<ModelCardName>.+?)$"), 'names': ['model-card'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ModelCard', 'tag': 'AWS::SageMaker::ModelCard'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-explainability-job-definition/(?P<ModelExplainabilityJobDefinitionName>.+?)$"), 'names': ['model-explainability-job-definition'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ModelExplainabilityJobDefinition', 'tag': 'AWS::SageMaker::ModelExplainabilityJobDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-package/(?P<ModelPackageName>.+?)$"), 'names': ['model-package'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ModelPackage', 'tag': 'AWS::SageMaker::ModelPackage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-package-group/(?P<ModelPackageGroupName>.+?)$"), 'names': ['model-package-group'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ModelPackageGroup', 'tag': 'AWS::SageMaker::ModelPackageGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):model-quality-job-definition/(?P<ModelQualityJobDefinitionName>.+?)$"), 'names': ['model-quality-job-definition'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ModelQualityJobDefinition', 'tag': 'AWS::SageMaker::ModelQualityJobDefinition'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):monitoring-schedule/(?P<MonitoringScheduleName>.+?)$"), 'names': ['monitoring-schedule'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::MonitoringSchedule', 'tag': 'AWS::SageMaker::MonitoringSchedule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):notebook-instance/(?P<NotebookInstanceName>.+?)$"), 'names': ['notebook-instance'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::NotebookInstance', 'tag': 'AWS::SageMaker::NotebookInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):notebook-instance-lifecycle-config/(?P<NotebookInstanceLifecycleConfigName>.+?)$"), 'names': ['notebook-instance-lifecycle-config'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::NotebookInstanceLifecycleConfig', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):optimization-job/(?P<OptimizationJobName>.+?)$"), 'names': ['optimization-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::OptimizationJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):partner-app/(?P<AppId>.+?)$"), 'names': ['partner-app'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::PartnerApp', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):pipeline/(?P<PipelineName>.+?)$"), 'names': ['pipeline'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Pipeline', 'tag': 'AWS::SageMaker::Pipeline'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):processing-job/(?P<ProcessingJobName>.+?)$"), 'names': ['processing-job'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::ProcessingJob', 'tag': 'AWS::SageMaker::ProcessingJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):project/(?P<ProjectName>.+?)$"), 'names': ['project'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Project', 'tag': 'AWS::SageMaker::Project'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):reserved-capacity/(?P<RandomString>.+?)$"), 'names': ['reserved-capacity'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):sagemaker-catalog/(?P<ResourceCatalogName>.+?)$"), 'names': ['sagemaker-catalog'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):shared-model/(?P<SharedModelId>.+?)$"), 'names': ['shared-model'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):shared-model-event/(?P<EventId>.+?)$"), 'names': ['shared-model-event'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):studio-lifecycle-config/(?P<StudioLifecycleConfigName>.+?)$"), 'names': ['studio-lifecycle-config'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::StudioLifecycleConfig', 'tag': 'AWS::SageMaker::StudioLifecycleConfig'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):training-job/(?P<TrainingJobName>.+?)$"), 'names': ['training-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::TrainingJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):training-plan/(?P<TrainingPlanName>.+?)$"), 'names': ['training-plan'], 'sdk': 'sagemaker', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):transform-job/(?P<TransformJobName>.+?)$"), 'names': ['transform-job'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::TransformJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):workforce/(?P<WorkforceName>.+?)$"), 'names': ['workforce'], 'sdk': 'sagemaker', 'cfn': None, 'tag': 'AWS::SageMaker::Workforce'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker:(?P<Region>[\w-]*):(?P<Account>\d{12}):workteam/(?P<WorkteamName>.+?)$"), 'names': ['workteam'], 'sdk': 'sagemaker', 'cfn': 'AWS::SageMaker::Workteam', 'tag': 'AWS::SageMaker::Workteam'},
    ],
    'sagemaker-geospatial': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker-geospatial:(?P<Region>[\w-]*):(?P<Account>\d{12}):earth-observation-job/(?P<JobID>.+?)$"), 'names': ['earth-observation-job', 'EarthObservationJob'], 'sdk': 'sagemaker-geospatial', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker-geospatial:(?P<Region>[\w-]*):(?P<Account>\d{12}):raster-data-collection/(?P<CollectionID>.+?)$"), 'names': ['raster-data-collection', 'RasterDataCollection'], 'sdk': 'sagemaker-geospatial', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sagemaker-geospatial:(?P<Region>[\w-]*):(?P<Account>\d{12}):vector-enrichment-job/(?P<JobID>.+?)$"), 'names': ['vector-enrichment-job', 'VectorEnrichmentJob'], 'sdk': 'sagemaker-geospatial', 'cfn': None, 'tag': None},
    ],
    'savingsplans': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):savingsplans::(?P<Account>\d{12}):savingsplan/(?P<ResourceId>.+?)$"), 'names': ['savings-plan', 'savingsplan'], 'sdk': 'savingsplans', 'cfn': None, 'tag': 'AWS::SavingsPlans::SavingsPlan'},
    ],
    'scheduler': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):scheduler:(?P<Region>[\w-]*):(?P<Account>\d{12}):schedule/(?P<GroupName>.+?)/(?P<ScheduleName>.+?)$"), 'names': ['schedule'], 'sdk': 'scheduler', 'cfn': 'AWS::Scheduler::Schedule', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):scheduler:(?P<Region>[\w-]*):(?P<Account>\d{12}):schedule-group/(?P<GroupName>.+?)$"), 'names': ['schedule-group'], 'sdk': 'scheduler', 'cfn': 'AWS::Scheduler::ScheduleGroup', 'tag': 'AWS::Scheduler::ScheduleGroup'},
    ],
    'schemas': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):schemas:(?P<Region>[\w-]*):(?P<Account>\d{12}):schema/(?P<RegistryName>.+?)/(?P<SchemaName>.+?)$"), 'names': ['schema'], 'sdk': 'schemas', 'cfn': 'AWS::EventSchemas::Schema', 'tag': 'AWS::EventSchemas::Schema'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):schemas:(?P<Region>[\w-]*):(?P<Account>\d{12}):discoverer/(?P<DiscovererId>.+?)$"), 'names': ['discoverer'], 'sdk': 'schemas', 'cfn': 'AWS::EventSchemas::Discoverer', 'tag': 'AWS::EventSchemas::Discoverer'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):schemas:(?P<Region>[\w-]*):(?P<Account>\d{12}):registry/(?P<RegistryName>.+?)$"), 'names': ['registry'], 'sdk': 'schemas', 'cfn': 'AWS::EventSchemas::Registry', 'tag': 'AWS::EventSchemas::Registry'},
    ],
    'scn': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):scn:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/namespaces/(?P<Namespace>.+?)/datasets/(?P<DatasetName>.+?)$"), 'names': ['dataset'], 'sdk': 'supplychain', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):scn:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/bill-of-materials-import-job/(?P<JobId>.+?)$"), 'names': ['bill-of-materials-import-job'], 'sdk': 'supplychain', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):scn:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/data-integration-flows/(?P<FlowName>.+?)$"), 'names': ['data-integration-flow'], 'sdk': 'supplychain', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):scn:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)/namespaces/(?P<Namespace>.+?)$"), 'names': ['namespace'], 'sdk': 'supplychain', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):scn:(?P<Region>[\w-]*):(?P<Account>\d{12}):instance/(?P<InstanceId>.+?)$"), 'names': ['instance'], 'sdk': 'supplychain', 'cfn': None, 'tag': 'AWS::SCN::Instance'},
    ],
    'sdb': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sdb:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainName>.+?)$"), 'names': ['domain'], 'sdk': 'sdb', 'cfn': 'AWS::SDB::Domain', 'tag': None},
    ],
    'secretsmanager': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):secretsmanager:(?P<Region>[\w-]*):(?P<Account>\d{12}):secret:(?P<SecretId>.+?)$"), 'names': ['secret', 'Secret'], 'sdk': 'secretsmanager', 'cfn': 'AWS::SecretsManager::Secret', 'tag': 'AWS::SecretsManager::Secret'},
    ],
    'security-ir': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):security-ir:(?P<Region>[\w-]*):(?P<Account>\d{12}):case/(?P<CaseId>.+?)$"), 'names': ['case'], 'sdk': 'security-ir', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):security-ir:(?P<Region>[\w-]*):(?P<Account>\d{12}):membership/(?P<MembershipId>.+?)$"), 'names': ['membership'], 'sdk': 'security-ir', 'cfn': None, 'tag': None},
    ],
    'securityagent': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-space/(?P<AgentId>.+?)/artifact/(?P<ArtifactId>.+?)$"), 'names': ['artifact', 'Artifact'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-space/(?P<AgentId>.+?)/finding/(?P<FindingId>.+?)$"), 'names': ['finding', 'Finding'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-space/(?P<AgentId>.+?)/pentest/(?P<PentestId>.+?)$"), 'names': ['pentest', 'Pentest'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-space/(?P<AgentId>.+?)/pentest-job/(?P<JobId>.+?)$"), 'names': ['pentest-job', 'PentestJob'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-space/(?P<AgentId>.+?)/pentest-task/(?P<TaskId>.+?)$"), 'names': ['pentest-task', 'PentestTask'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-instance/(?P<AgentId>.+?)$"), 'names': ['agent-instance', 'AgentInstance'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):agent-space/(?P<AgentId>.+?)$"), 'names': ['agent-space', 'AgentSpace'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):application/(?P<ApplicationId>.+?)$"), 'names': ['application', 'Application'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):control/(?P<ControlId>.+?)$"), 'names': ['control', 'Control'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):integration/(?P<IntegrationId>.+?)$"), 'names': ['integration', 'Integration'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityagent:(?P<Region>[\w-]*):(?P<Account>\d{12}):security-requirement/(?P<SecurityRequirementId>.+?)$"), 'names': ['security-requirement', 'SecurityRequirement'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'securityhub': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):product/(?P<Company>.+?)/(?P<ProductId>.+?)$"), 'names': ['product'], 'sdk': 'securityhub', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):aggregatorv2/(?P<AggregatorV2Id>.+?)$"), 'names': ['aggregator-v2', 'aggregatorv2'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::AggregatorV2', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):automation-rule/(?P<AutomationRuleId>.+?)$"), 'names': ['automation-rule'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::AutomationRule', 'tag': 'AWS::SecurityHub::AutomationRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):automation-rulev2/(?P<AutomationRuleV2Id>.+?)$"), 'names': ['automation-rulev2'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::AutomationRuleV2', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration-policy/(?P<ConfigurationPolicyId>.+?)$"), 'names': ['configuration-policy'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::ConfigurationPolicy', 'tag': 'AWS::SecurityHub::ConfigurationPolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):connectorv2/(?P<ConnectorV2Id>.+?)$"), 'names': ['connector-v2', 'connectorv2'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::ConnectorV2', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):finding-aggregator/(?P<FindingAggregatorId>.+?)$"), 'names': ['finding-aggregator'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::FindingAggregator', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):hub/default$"), 'names': ['hub'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::Hub', 'tag': 'AWS::SecurityHub::Hub'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securityhub:(?P<Region>[\w-]*):(?P<Account>\d{12}):hubv2/(?P<HubV2Id>.+?)$"), 'names': ['hubv2'], 'sdk': 'securityhub', 'cfn': 'AWS::SecurityHub::HubV2', 'tag': None},
    ],
    'securitylake': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securitylake:(?P<Region>[\w-]*):(?P<Account>\d{12}):data-lake/default$"), 'names': ['data-lake'], 'sdk': 'securitylake', 'cfn': 'AWS::SecurityLake::DataLake', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):securitylake:(?P<Region>[\w-]*):(?P<Account>\d{12}):subscriber/(?P<SubscriberId>.+?)$"), 'names': ['subscriber'], 'sdk': 'securitylake', 'cfn': 'AWS::SecurityLake::Subscriber', 'tag': None},
    ],
    'serverlessrepo': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):serverlessrepo:(?P<Region>[\w-]*):(?P<Account>\d{12}):applications/(?P<ResourceId>.+?)$"), 'names': ['applications'], 'sdk': 'serverlessrepo', 'cfn': None, 'tag': None},
    ],
    'servicecatalog': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):servicecatalog:(?P<Region>[\w-]*):(?P<Account>\d{12}):/applications/(?P<ApplicationId>.+?)$"), 'names': ['application', 'Application'], 'sdk': 'servicecatalog-appregistry', 'cfn': 'AWS::ServiceCatalogAppRegistry::Application', 'tag': 'AWS::ServiceCatalogAppRegistry::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):servicecatalog:(?P<Region>[\w-]*):(?P<Account>\d{12}):/attribute-groups/(?P<AttributeGroupId>.+?)$"), 'names': ['attribute-group', 'AttributeGroup'], 'sdk': 'servicecatalog-appregistry', 'cfn': 'AWS::ServiceCatalogAppRegistry::AttributeGroup', 'tag': 'AWS::ServiceCatalogAppRegistry::AttributeGroup'},
    ],
    'servicediscovery': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):servicediscovery:(?P<Region>[\w-]*):(?P<Account>\d{12}):namespace/(?P<NamespaceId>.+?)$"), 'names': ['namespace'], 'sdk': 'servicediscovery', 'cfn': None, 'tag': 'AWS::ServiceDiscovery::Namespace'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):servicediscovery:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceId>.+?)$"), 'names': ['service'], 'sdk': 'servicediscovery', 'cfn': 'AWS::ServiceDiscovery::Service', 'tag': 'AWS::ServiceDiscovery::Service'},
    ],
    'servicequotas': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):servicequotas:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<ServiceCode>.+?)/(?P<QuotaCode>.+?)$"), 'names': ['quota'], 'sdk': 'service-quotas', 'cfn': None, 'tag': 'AWS::ServiceQuotas::Quota'},
    ],
    'ses': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):aws:reputation-policy/(?P<ReputationPolicyName>.+?)$"), 'names': ['reputation-policy'], 'sdk': 'sesv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):tenant/(?P<TenantName>.+?)/(?P<TenantId>.+?)$"), 'names': ['tenant'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::Tenant', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):addon-instance/(?P<AddonInstanceId>.+?)$"), 'names': ['addon-instance'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerAddonInstance', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):addon-subscription/(?P<AddonSubscriptionId>.+?)$"), 'names': ['addon-subscription'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerAddonSubscription', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration-set/(?P<ConfigurationSetName>.+?)$"), 'names': ['configuration-set'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::ConfigurationSet', 'tag': 'AWS::SES::ConfigurationSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):contact-list/(?P<ContactListName>.+?)$"), 'names': ['contact-list'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::ContactList', 'tag': 'AWS::SES::ContactList'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):custom-verification-email-template/(?P<TemplateName>.+?)$"), 'names': ['custom-verification-email-template'], 'sdk': 'sesv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):dedicated-ip-pool/(?P<DedicatedIPPool>.+?)$"), 'names': ['dedicated-ip-pool'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::DedicatedIpPool', 'tag': 'AWS::SES::DedicatedIpPool'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):deliverability-test-report/(?P<ReportId>.+?)$"), 'names': ['deliverability-test-report'], 'sdk': 'sesv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):export-job/(?P<ExportJobId>.+?)$"), 'names': ['export-job'], 'sdk': 'sesv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):identity/(?P<IdentityName>.+?)$"), 'names': ['identity'], 'sdk': 'sesv2', 'cfn': 'AWS::PinpointEmail::Identity', 'tag': 'AWS::SES::Identity'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):import-job/(?P<ImportJobId>.+?)$"), 'names': ['import-job'], 'sdk': 'sesv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):mailmanager-address-list/(?P<AddressListId>.+?)$"), 'names': ['mailmanager-address-list'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerAddressList', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):mailmanager-archive/(?P<ArchiveId>.+?)$"), 'names': ['mailmanager-archive'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerArchive', 'tag': 'AWS::SES::MailManagerArchive'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):mailmanager-ingress-point/(?P<IngressPointId>.+?)$"), 'names': ['mailmanager-ingress-point'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerIngressPoint', 'tag': 'AWS::SES::MailManagerIngressPoint'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):mailmanager-rule-set/(?P<RuleSetId>.+?)$"), 'names': ['mailmanager-rule-set'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerRuleSet', 'tag': 'AWS::SES::MailManagerRuleSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):mailmanager-smtp-relay/(?P<RelayId>.+?)$"), 'names': ['mailmanager-smtp-relay'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerRelay', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):mailmanager-traffic-policy/(?P<TrafficPolicyId>.+?)$"), 'names': ['mailmanager-traffic-policy'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MailManagerTrafficPolicy', 'tag': 'AWS::SES::MailManagerTrafficPolicy'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):multi-region-endpoint/(?P<EndpointName>.+?)$"), 'names': ['multi-region-endpoint'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::MultiRegionEndpoint', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ses:(?P<Region>[\w-]*):(?P<Account>\d{12}):template/(?P<TemplateName>.+?)$"), 'names': ['template'], 'sdk': 'sesv2', 'cfn': 'AWS::SES::Template', 'tag': None},
    ],
    'shield': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):shield::(?P<Account>\d{12}):attack/(?P<Id>.+?)$"), 'names': ['attack'], 'sdk': 'shield', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):shield::(?P<Account>\d{12}):protection/(?P<Id>.+?)$"), 'names': ['protection'], 'sdk': 'shield', 'cfn': 'AWS::Shield::Protection', 'tag': 'AWS::Shield::Protection'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):shield::(?P<Account>\d{12}):protection-group/(?P<Id>.+?)$"), 'names': ['protection-group'], 'sdk': 'shield', 'cfn': 'AWS::Shield::ProtectionGroup', 'tag': 'AWS::Shield::ProtectionGroup'},
    ],
    'signer': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):signer:(?P<Region>[\w-]*):(?P<Account>\d{12}):/signing-jobs/(?P<JobId>.+?)$"), 'names': ['signing-job'], 'sdk': 'signer', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):signer:(?P<Region>[\w-]*):(?P<Account>\d{12}):/signing-profiles/(?P<ProfileName>.+?)$"), 'names': ['signing-profile'], 'sdk': 'signer', 'cfn': 'AWS::Signer::SigningProfile', 'tag': None},
    ],
    'simspaceweaver': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):simspaceweaver:(?P<Region>[\w-]*):(?P<Account>\d{12}):simulation/(?P<SimulationName>.+?)$"), 'names': ['simulation', 'Simulation'], 'sdk': 'simspaceweaver', 'cfn': 'AWS::SimSpaceWeaver::Simulation', 'tag': 'AWS::SimSpaceWeaver::Simulation'},
    ],
    'sms-voice': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):sender-id/(?P<SenderId>.+?)/(?P<IsoCountryCode>.+?)$"), 'names': ['sender-id', 'SenderId'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': 'AWS::SMSVOICE::SenderId', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration-set/(?P<ConfigurationSetName>.+?)$"), 'names': ['configuration-set', 'ConfigurationSet'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': 'AWS::SMSVOICE::ConfigurationSet', 'tag': 'AWS::PinpointSMSVoiceV2::ConfigurationSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):message/(?P<MessageId>.+?)$"), 'names': ['message', 'Message'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):opt-out-list/(?P<OptOutListName>.+?)$"), 'names': ['opt-out-list', 'OptOutList'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': 'AWS::SMSVOICE::OptOutList', 'tag': 'AWS::PinpointSMSVoiceV2::OptOutList'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):phone-number/(?P<PhoneNumberId>.+?)$"), 'names': ['phone-number', 'PhoneNumber'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': 'AWS::SMSVOICE::PhoneNumber', 'tag': 'AWS::PinpointSMSVoiceV2::PhoneNumber'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):pool/(?P<PoolId>.+?)$"), 'names': ['pool', 'Pool'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': 'AWS::SMSVOICE::Pool', 'tag': 'AWS::PinpointSMSVoiceV2::Pool'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):protect-configuration/(?P<ProtectConfigurationId>.+?)$"), 'names': ['protect-configuration', 'ProtectConfiguration'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': 'AWS::SMSVOICE::ProtectConfiguration', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):registration/(?P<RegistrationId>.+?)$"), 'names': ['registration', 'Registration'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):registration-attachment/(?P<RegistrationAttachmentId>.+?)$"), 'names': ['registration-attachment', 'RegistrationAttachment'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sms-voice:(?P<Region>[\w-]*):(?P<Account>\d{12}):verified-destination-number/(?P<VerifiedDestinationNumberId>.+?)$"), 'names': ['verified-destination-number', 'VerifiedDestinationNumber'], 'sdk': 'pinpoint-sms-voice-v2', 'cfn': None, 'tag': None},
    ],
    'snow-device-management': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):snow-device-management:(?P<Region>[\w-]*):(?P<Account>\d{12}):managed-device/(?P<ResourceId>.+?)$"), 'names': ['managed-device'], 'sdk': 'snow-device-management', 'cfn': None, 'tag': 'AWS::SnowDeviceManagement::ManagedDevice'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):snow-device-management:(?P<Region>[\w-]*):(?P<Account>\d{12}):task/(?P<ResourceId>.+?)$"), 'names': ['task'], 'sdk': 'snow-device-management', 'cfn': None, 'tag': 'AWS::SnowDeviceManagement::Task'},
    ],
    'sns': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sns:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<TopicName>.+?)$"), 'names': ['topic'], 'sdk': 'sns', 'cfn': 'AWS::SNS::Topic', 'tag': 'AWS::SNS::Topic'},
    ],
    'social-messaging': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):social-messaging:(?P<Region>[\w-]*):(?P<Account>\d{12}):phone-number-id/(?P<OriginationPhoneNumberId>.+?)$"), 'names': ['phone-number-id'], 'sdk': 'socialmessaging', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):social-messaging:(?P<Region>[\w-]*):(?P<Account>\d{12}):waba/(?P<WabaId>.+?)$"), 'names': ['waba'], 'sdk': 'socialmessaging', 'cfn': None, 'tag': 'AWS::SocialMessaging::WhatsAppBusinessAccount'},
    ],
    'sqlworkbench': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sqlworkbench:(?P<Region>[\w-]*):(?P<Account>\d{12}):chart/(?P<ResourceId>.+?)$"), 'names': ['chart'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sqlworkbench:(?P<Region>[\w-]*):(?P<Account>\d{12}):connection/(?P<ResourceId>.+?)$"), 'names': ['connection'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sqlworkbench:(?P<Region>[\w-]*):(?P<Account>\d{12}):notebook/(?P<ResourceId>.+?)$"), 'names': ['notebook'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sqlworkbench:(?P<Region>[\w-]*):(?P<Account>\d{12}):query/(?P<ResourceId>.+?)$"), 'names': ['query'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'sqs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sqs:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<QueueName>.+?)$"), 'names': ['queue'], 'sdk': 'sqs', 'cfn': 'AWS::SQS::Queue', 'tag': 'AWS::SQS::Queue'},
    ],
    'ssm': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):automation-definition/(?P<AutomationDefinitionName>.+?):(?P<VersionId>.+?)$"), 'names': ['automation-definition'], 'sdk': 'ssm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):association/(?P<AssociationId>.+?)$"), 'names': ['association'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::Association', 'tag': 'AWS::SSM::Association'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):automation-execution/(?P<AutomationExecutionId>.+?)$"), 'names': ['automation-execution'], 'sdk': 'ssm', 'cfn': None, 'tag': 'AWS::SSM::AutomationExecution'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):document/(?P<DocumentName>.+?)$"), 'names': ['document'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::Document', 'tag': 'AWS::SSM::Document'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):maintenancewindow/(?P<ResourceId>.+?)$"), 'names': ['maintenance-window', 'maintenancewindow'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::MaintenanceWindow', 'tag': 'AWS::SSM::MaintenanceWindow'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):managed-instance/(?P<InstanceId>.+?)$"), 'names': ['managed-instance'], 'sdk': 'ssm', 'cfn': None, 'tag': 'AWS::SSM::ManagedInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):managed-instance-inventory/(?P<InstanceId>.+?)$"), 'names': ['managed-instance-inventory'], 'sdk': 'ssm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):opsitem/(?P<ResourceId>.+?)$"), 'names': ['opsitem'], 'sdk': 'ssm', 'cfn': None, 'tag': 'AWS::SSM::OpsItem'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):opsitemgroup/default$"), 'names': ['ops-item-group', 'opsitemgroup'], 'sdk': 'ssm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):opsmetadata/(?P<ResourceId>.+?)$"), 'names': ['ops-metadata', 'opsmetadata'], 'sdk': 'ssm', 'cfn': None, 'tag': 'AWS::SSM::OpsMetadata'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):parameter/(?P<ParameterNameWithoutLeadingSlash>.+?)$"), 'names': ['parameter'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::Parameter', 'tag': 'AWS::SSM::Parameter'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):patchbaseline/(?P<PatchBaselineIdResourceId>.+?)$"), 'names': ['patch-baseline', 'patchbaseline'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::PatchBaseline', 'tag': 'AWS::SSM::PatchBaseline'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):resource-data-sync/(?P<SyncName>.+?)$"), 'names': ['resource-datasync', 'resourcedatasync', 'resource-data-sync'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::ResourceDataSync', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):servicesetting/(?P<ResourceId>.+?)$"), 'names': ['service-setting', 'servicesetting'], 'sdk': 'ssm', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):session/(?P<SessionId>.+?)$"), 'names': ['session'], 'sdk': 'ssm', 'cfn': None, 'tag': 'AWS::SSM::Session'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):windowtarget/(?P<WindowTargetId>.+?)$"), 'names': ['window-target', 'windowtarget'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::MaintenanceWindowTarget', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm:(?P<Region>[\w-]*):(?P<Account>\d{12}):windowtask/(?P<WindowTaskId>.+?)$"), 'names': ['window-task', 'windowtask'], 'sdk': 'ssm', 'cfn': 'AWS::SSM::MaintenanceWindowTask', 'tag': None},
    ],
    'ssm-contacts': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-contacts:(?P<Region>[\w-]*):(?P<Account>\d{12}):contactchannel/(?P<ContactAlias>.+?)/(?P<ContactChannelId>.+?)$"), 'names': ['contact-channel', 'contactchannel'], 'sdk': 'ssm-contacts', 'cfn': 'AWS::SSMContacts::ContactChannel', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-contacts:(?P<Region>[\w-]*):(?P<Account>\d{12}):engagement/(?P<ContactAlias>.+?)/(?P<EngagementId>.+?)$"), 'names': ['engagement'], 'sdk': 'ssm-contacts', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-contacts:(?P<Region>[\w-]*):(?P<Account>\d{12}):page/(?P<ContactAlias>.+?)/(?P<PageId>.+?)$"), 'names': ['page'], 'sdk': 'ssm-contacts', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-contacts:(?P<Region>[\w-]*):(?P<Account>\d{12}):contact/(?P<ContactAlias>.+?)$"), 'names': ['contact'], 'sdk': 'ssm-contacts', 'cfn': 'AWS::SSMContacts::Contact', 'tag': 'AWS::SSMContacts::Contact'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-contacts:(?P<Region>[\w-]*):(?P<Account>\d{12}):rotation/(?P<RotationId>.+?)$"), 'names': ['rotation'], 'sdk': 'ssm-contacts', 'cfn': 'AWS::SSMContacts::Rotation', 'tag': 'AWS::SSMContacts::Rotation'},
    ],
    'ssm-incidents': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-incidents::(?P<Account>\d{12}):incident-record/(?P<ResponsePlan>.+?)/(?P<IncidentRecord>.+?)$"), 'names': ['incident-record'], 'sdk': 'ssm-incidents', 'cfn': None, 'tag': 'AWS::SSMIncidents::IncidentRecord'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-incidents::(?P<Account>\d{12}):replication-set/(?P<ReplicationSet>.+?)$"), 'names': ['replication-set'], 'sdk': 'ssm-incidents', 'cfn': 'AWS::SSMIncidents::ReplicationSet', 'tag': 'AWS::SSMIncidents::ReplicationSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-incidents::(?P<Account>\d{12}):response-plan/(?P<ResponsePlan>.+?)$"), 'names': ['response-plan'], 'sdk': 'ssm-incidents', 'cfn': 'AWS::SSMIncidents::ResponsePlan', 'tag': 'AWS::SSMIncidents::ResponsePlan'},
    ],
    'ssm-quicksetup': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-quicksetup:(?P<Region>[\w-]*):(?P<Account>\d{12}):configuration-manager/(?P<ConfigurationManagerId>.+?)$"), 'names': ['configuration-manager'], 'sdk': 'ssm-quicksetup', 'cfn': 'AWS::SSMQuickSetup::ConfigurationManager', 'tag': 'AWS::SSMQuickSetup::ConfigurationManager'},
    ],
    'ssm-sap': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-sap:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<ApplicationType>.+?)/(?P<ApplicationId>.+?)/COMPONENT/(?P<ComponentId>.+?)$"), 'names': ['component'], 'sdk': 'ssm-sap', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-sap:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<ApplicationType>.+?)/(?P<ApplicationId>.+?)/DB/(?P<DatabaseId>.+?)$"), 'names': ['database'], 'sdk': 'ssm-sap', 'cfn': None, 'tag': 'AWS::SystemsManagerSAP::Database'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ssm-sap:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<ApplicationType>.+?)/(?P<ApplicationId>.+?)$"), 'names': ['application'], 'sdk': 'ssm-sap', 'cfn': 'AWS::SystemsManagerSAP::Application', 'tag': 'AWS::SystemsManagerSAP::Application'},
    ],
    'sso': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sso:::permissionSet/(?P<InstanceId>.+?)/(?P<PermissionSetId>.+?)$"), 'names': ['permission-set', 'PermissionSet'], 'sdk': 'sso-admin', 'cfn': 'AWS::SSO::PermissionSet', 'tag': 'AWS::SSO::PermissionSet'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sso:::account/(?P<AccountId>.+?)$"), 'names': ['account', 'Account'], 'sdk': 'sso-admin', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sso:::instance/(?P<InstanceId>.+?)$"), 'names': ['instance', 'Instance'], 'sdk': 'sso-admin', 'cfn': 'AWS::SSO::Instance', 'tag': 'AWS::SSO::Instance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sso::aws:applicationProvider/(?P<ApplicationProviderId>.+?)$"), 'names': ['application-provider', 'ApplicationProvider'], 'sdk': 'sso-admin', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sso::(?P<AccountId>.+?):application/(?P<InstanceId>.+?)/(?P<ApplicationId>.+?)$"), 'names': ['application', 'Application'], 'sdk': 'sso-admin', 'cfn': 'AWS::SSO::Application', 'tag': 'AWS::SSO::Application'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sso::(?P<AccountId>.+?):trustedTokenIssuer/(?P<InstanceId>.+?)/(?P<TrustedTokenIssuerId>.+?)$"), 'names': ['trusted-token-issuer', 'TrustedTokenIssuer'], 'sdk': 'sso-admin', 'cfn': None, 'tag': 'AWS::SSO::TrustedTokenIssuer'},
    ],
    'states': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):express:(?P<StateMachineName>.+?)/(?P<MapRunLabel>.+?):(?P<ExecutionId>.+?):(?P<ExpressId>.+?)$"), 'names': ['labelled-express', 'labelled express'], 'sdk': 'stepfunctions', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):execution:(?P<StateMachineName>.+?)/(?P<MapRunLabel>.+?):(?P<ExecutionId>.+?)$"), 'names': ['labelled-execution', 'labelled execution'], 'sdk': 'stepfunctions', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):express:(?P<StateMachineName>.+?):(?P<ExecutionId>.+?):(?P<ExpressId>.+?)$"), 'names': ['express'], 'sdk': 'stepfunctions', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):mapRun:(?P<StateMachineName>.+?)/(?P<MapRunLabel>.+?):(?P<MapRunId>.+?)$"), 'names': ['maprun'], 'sdk': 'stepfunctions', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):execution:(?P<StateMachineName>.+?):(?P<ExecutionId>.+?)$"), 'names': ['execution'], 'sdk': 'stepfunctions', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):stateMachine:(?P<StateMachineName>.+?):(?P<StateMachineAliasName>.+?)$"), 'names': ['state-machine-alias', 'statemachinealias'], 'sdk': 'stepfunctions', 'cfn': 'AWS::StepFunctions::StateMachineAlias', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):stateMachine:(?P<StateMachineName>.+?):(?P<StateMachineVersionId>.+?)$"), 'names': ['state-machine-version', 'statemachineversion'], 'sdk': 'stepfunctions', 'cfn': 'AWS::StepFunctions::StateMachineVersion', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):activity:(?P<ActivityName>.+?)$"), 'names': ['activity'], 'sdk': 'stepfunctions', 'cfn': 'AWS::StepFunctions::Activity', 'tag': 'AWS::StepFunctions::Activity'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):states:(?P<Region>[\w-]*):(?P<Account>\d{12}):stateMachine:(?P<StateMachineName>.+?)$"), 'names': ['state-machine', 'statemachine'], 'sdk': 'stepfunctions', 'cfn': 'AWS::StepFunctions::StateMachine', 'tag': 'AWS::StepFunctions::StateMachine'},
    ],
    'storagegateway': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<GatewayId>.+?)/device/(?P<Vtldevice>.+?)$"), 'names': ['device'], 'sdk': 'storagegateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<GatewayId>.+?)/target/(?P<IscsiTarget>.+?)$"), 'names': ['target'], 'sdk': 'storagegateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<GatewayId>.+?)/volume/(?P<VolumeId>.+?)$"), 'names': ['volume'], 'sdk': 'storagegateway', 'cfn': None, 'tag': 'AWS::StorageGateway::Volume'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):share/(?P<ShareId>.+?)/cache-report/(?P<CacheReportId>.+?)$"), 'names': ['cache-report'], 'sdk': 'storagegateway', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):fs-association/(?P<FsaId>.+?)$"), 'names': ['fs-association'], 'sdk': 'storagegateway', 'cfn': None, 'tag': 'AWS::StorageGateway::FileSystemAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):gateway/(?P<GatewayId>.+?)$"), 'names': ['gateway'], 'sdk': 'storagegateway', 'cfn': None, 'tag': 'AWS::StorageGateway::Gateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):share/(?P<ShareId>.+?)$"), 'names': ['share'], 'sdk': 'storagegateway', 'cfn': None, 'tag': 'AWS::StorageGateway::FileShare'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):tape/(?P<TapeBarcode>.+?)$"), 'names': ['tape'], 'sdk': 'storagegateway', 'cfn': None, 'tag': 'AWS::StorageGateway::Tape'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):storagegateway:(?P<Region>[\w-]*):(?P<Account>\d{12}):tapepool/(?P<PoolId>.+?)$"), 'names': ['tape-pool', 'tapepool'], 'sdk': 'storagegateway', 'cfn': None, 'tag': 'AWS::StorageGateway::TapePool'},
    ],
    'sts': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sts::(?P<Account>\d{12}):federated-user/(?P<FederatedUserName>.+?)$"), 'names': ['federated-user'], 'sdk': 'sts', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):sts::(?P<Account>\d{12}):self$"), 'names': ['self-session'], 'sdk': 'sts', 'cfn': None, 'tag': None},
    ],
    'swf': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):swf::(?P<Account>\d{12}):/domain/(?P<DomainName>.+?)$"), 'names': ['domain'], 'sdk': 'swf', 'cfn': None, 'tag': 'AWS::SWF::Domain'},
    ],
    'synthetics': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):synthetics:(?P<Region>[\w-]*):(?P<Account>\d{12}):canary:(?P<CanaryName>.+?)$"), 'names': ['canary'], 'sdk': 'synthetics', 'cfn': 'AWS::Synthetics::Canary', 'tag': 'AWS::Synthetics::Canary'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):synthetics:(?P<Region>[\w-]*):(?P<Account>\d{12}):group:(?P<GroupId>.+?)$"), 'names': ['group'], 'sdk': 'synthetics', 'cfn': 'AWS::Synthetics::Group', 'tag': 'AWS::Synthetics::Group'},
    ],
    'textract': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):textract:(?P<Region>[\w-]*):(?P<Account>\d{12}):/adapters/(?P<AdapterId>.+?)/versions/(?P<AdapterVersion>.+?)$"), 'names': ['adapter-version', 'adapterversion'], 'sdk': 'textract', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):textract:(?P<Region>[\w-]*):(?P<Account>\d{12}):/adapters/(?P<AdapterId>.+?)$"), 'names': ['adapter'], 'sdk': 'textract', 'cfn': None, 'tag': 'AWS::Textract::Adapter'},
    ],
    'thinclient': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):thinclient:(?P<Region>[\w-]*):(?P<Account>\d{12}):device/(?P<DeviceId>.+?)$"), 'names': ['device'], 'sdk': 'workspaces-thin-client', 'cfn': None, 'tag': 'AWS::ThinClient::Device'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):thinclient:(?P<Region>[\w-]*):(?P<Account>\d{12}):environment/(?P<EnvironmentId>.+?)$"), 'names': ['environment'], 'sdk': 'workspaces-thin-client', 'cfn': 'AWS::WorkSpacesThinClient::Environment', 'tag': 'AWS::ThinClient::Environment'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):thinclient:(?P<Region>[\w-]*):(?P<Account>\d{12}):softwareset/(?P<SoftwareSetId>.+?)$"), 'names': ['software-set', 'softwareset'], 'sdk': 'workspaces-thin-client', 'cfn': None, 'tag': 'AWS::ThinClient::SoftwareSet'},
    ],
    'timestream': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):timestream:(?P<Region>[\w-]*):(?P<Account>\d{12}):database/(?P<DatabaseName>.+?)/table/(?P<TableName>.+?)$"), 'names': ['table'], 'sdk': 'timestream-write', 'cfn': 'AWS::Timestream::Table', 'tag': 'AWS::Timestream::Table'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):timestream:(?P<Region>[\w-]*):(?P<Account>\d{12}):database/(?P<DatabaseName>.+?)$"), 'names': ['database'], 'sdk': 'timestream-write', 'cfn': 'AWS::Timestream::Database', 'tag': 'AWS::Timestream::Database'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):timestream:(?P<Region>[\w-]*):(?P<Account>\d{12}):scheduled-query/(?P<ScheduledQueryName>.+?)$"), 'names': ['scheduled-query'], 'sdk': 'timestream-write', 'cfn': 'AWS::Timestream::ScheduledQuery', 'tag': 'AWS::Timestream::ScheduledQuery'},
    ],
    'timestream-influxdb': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):timestream-influxdb:(?P<Region>[\w-]*):(?P<Account>\d{12}):db-cluster/(?P<DbClusterId>.+?)$"), 'names': ['db-cluster'], 'sdk': 'timestream-influxdb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):timestream-influxdb:(?P<Region>[\w-]*):(?P<Account>\d{12}):db-instance/(?P<DbInstanceIdentifier>.+?)$"), 'names': ['db-instance'], 'sdk': 'timestream-influxdb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):timestream-influxdb:(?P<Region>[\w-]*):(?P<Account>\d{12}):db-parameter-group/(?P<DbParameterGroupIdentifier>.+?)$"), 'names': ['db-parameter-group'], 'sdk': 'timestream-influxdb', 'cfn': None, 'tag': None},
    ],
    'tnb': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):tnb:(?P<Region>[\w-]*):(?P<Account>\d{12}):function-instance/(?P<FunctionInstanceId>.+?)$"), 'names': ['function-instance'], 'sdk': 'tnb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):tnb:(?P<Region>[\w-]*):(?P<Account>\d{12}):function-package/(?P<FunctionPackageId>.+?)$"), 'names': ['function-package'], 'sdk': 'tnb', 'cfn': None, 'tag': 'AWS::TNB::FunctionPackage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):tnb:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-instance/(?P<NetworkInstanceId>.+?)$"), 'names': ['network-instance'], 'sdk': 'tnb', 'cfn': None, 'tag': 'AWS::TNB::NetworkInstance'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):tnb:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-operation/(?P<NetworkOperationId>.+?)$"), 'names': ['network-operation'], 'sdk': 'tnb', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):tnb:(?P<Region>[\w-]*):(?P<Account>\d{12}):network-package/(?P<NetworkPackageId>.+?)$"), 'names': ['network-package'], 'sdk': 'tnb', 'cfn': None, 'tag': 'AWS::TNB::NetworkPackage'},
    ],
    'transcribe': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):analytics/(?P<JobName>.+?)$"), 'names': ['call-analytics-job', 'callanalyticsjob'], 'sdk': 'transcribe', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):analytics-category/(?P<CategoryName>.+?)$"), 'names': ['call-analytics-category', 'callanalyticscategory'], 'sdk': 'transcribe', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):language-model/(?P<ModelName>.+?)$"), 'names': ['language-model', 'languagemodel'], 'sdk': 'transcribe', 'cfn': None, 'tag': 'AWS::Transcribe::LanguageModel'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):medical-scribe-job/(?P<JobName>.+?)$"), 'names': ['medical-scribe-job', 'medicalscribejob'], 'sdk': 'transcribe', 'cfn': None, 'tag': 'AWS::Transcribe::MedicalScribeJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):medical-transcription-job/(?P<JobName>.+?)$"), 'names': ['medical-transcription-job', 'medicaltranscriptionjob'], 'sdk': 'transcribe', 'cfn': None, 'tag': 'AWS::Transcribe::MedicalTranscriptionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):medical-vocabulary/(?P<VocabularyName>.+?)$"), 'names': ['medical-vocabulary', 'medicalvocabulary'], 'sdk': 'transcribe', 'cfn': None, 'tag': 'AWS::Transcribe::MedicalVocabulary'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):transcription-job/(?P<JobName>.+?)$"), 'names': ['transcription-job', 'transcriptionjob'], 'sdk': 'transcribe', 'cfn': None, 'tag': 'AWS::Transcribe::TranscriptionJob'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):vocabulary/(?P<VocabularyName>.+?)$"), 'names': ['vocabulary'], 'sdk': 'transcribe', 'cfn': None, 'tag': 'AWS::Transcribe::Vocabulary'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transcribe:(?P<Region>[\w-]*):(?P<Account>\d{12}):vocabulary-filter/(?P<VocabularyFilterName>.+?)$"), 'names': ['vocabulary-filter', 'vocabularyfilter'], 'sdk': 'transcribe', 'cfn': None, 'tag': 'AWS::Transcribe::VocabularyFilter'},
    ],
    'transfer': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):agreement/(?P<ServerId>.+?)/(?P<AgreementId>.+?)$"), 'names': ['agreement'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::Agreement', 'tag': 'AWS::Transfer::Agreement'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):host-key/(?P<ServerId>.+?)/(?P<HostKeyId>.+?)$"), 'names': ['host-key'], 'sdk': 'transfer', 'cfn': None, 'tag': 'AWS::Transfer::HostKey'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):user/(?P<ServerId>.+?)/(?P<UserName>.+?)$"), 'names': ['user'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::User', 'tag': 'AWS::Transfer::User'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):certificate/(?P<CertificateId>.+?)$"), 'names': ['certificate'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::Certificate', 'tag': 'AWS::Transfer::Certificate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<ConnectorId>.+?)$"), 'names': ['connector'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::Connector', 'tag': 'AWS::Transfer::Connector'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<ProfileId>.+?)$"), 'names': ['profile'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::Profile', 'tag': 'AWS::Transfer::Profile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):server/(?P<ServerId>.+?)$"), 'names': ['server'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::Server', 'tag': 'AWS::Transfer::Server'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):webapp/(?P<WebAppId>.+?)$"), 'names': ['webapp'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::WebApp', 'tag': 'AWS::Transfer::WebApp'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transfer:(?P<Region>[\w-]*):(?P<Account>\d{12}):workflow/(?P<WorkflowId>.+?)$"), 'names': ['workflow'], 'sdk': 'transfer', 'cfn': 'AWS::Transfer::Workflow', 'tag': 'AWS::Transfer::Workflow'},
    ],
    'transform': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transform:(?P<Region>[\w-]*):(?P<Account>\d{12}):connector/(?P<WorkspaceId>.+?)/(?P<ConnectorId>.+?)$"), 'names': ['connector'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transform:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<Identifier>.+?)$"), 'names': ['profile'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'transform-custom': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transform-custom:(?P<Region>[\w-]*):(?P<Account>\d{12}):package/(?P<TransformationPackageName>.+?)/knowledge-item/(?P<Id>.+?)$"), 'names': ['knowledge-item'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transform-custom:(?P<Region>[\w-]*):(?P<Account>\d{12}):campaign/(?P<Name>.+?)$"), 'names': ['campaign'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):transform-custom:(?P<Region>[\w-]*):(?P<Account>\d{12}):package/(?P<Name>.+?)$"), 'names': ['package'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'translate': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):translate:(?P<Region>[\w-]*):(?P<Account>\d{12}):parallel-data/(?P<ResourceName>.+?)$"), 'names': ['parallel-data'], 'sdk': 'translate', 'cfn': None, 'tag': 'AWS::Translate::ParallelData'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):translate:(?P<Region>[\w-]*):(?P<Account>\d{12}):terminology/(?P<ResourceName>.+?)$"), 'names': ['terminology'], 'sdk': 'translate', 'cfn': None, 'tag': 'AWS::Translate::Terminology'},
    ],
    'trustedadvisor': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):trustedadvisor:(?P<Region>[\w-]*):(?P<Account>\d{12}):checks/(?P<CategoryCode>.+?)/(?P<CheckId>.+?)$"), 'names': ['checks'], 'sdk': 'trustedadvisor', 'cfn': None, 'tag': None},
    ],
    'ts': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ts::aws:tool/(?P<ToolId>.+?)$"), 'names': ['tool'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):ts::(?P<Account>\d{12}):execution/(?P<UserId>.+?)/(?P<ToolId>.+?)/(?P<ExecutionId>.+?)$"), 'names': ['execution'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'vendor-insights': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vendor-insights:::data-source:(?P<ResourceId>.+?)$"), 'names': ['data-source', 'DataSource'], 'sdk': None, 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vendor-insights:::security-profile:(?P<ResourceId>.+?)$"), 'names': ['security-profile', 'SecurityProfile'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'verifiedpermissions': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):verifiedpermissions::(?P<Account>\d{12}):policy-store/(?P<PolicyStoreId>.+?)$"), 'names': ['policy-store'], 'sdk': 'verifiedpermissions', 'cfn': 'AWS::VerifiedPermissions::PolicyStore', 'tag': None},
    ],
    'voiceid': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):voiceid:(?P<Region>[\w-]*):(?P<Account>\d{12}):domain/(?P<DomainId>.+?)$"), 'names': ['domain'], 'sdk': 'voice-id', 'cfn': 'AWS::VoiceID::Domain', 'tag': 'AWS::VoiceID::Domain'},
    ],
    'vpc-lattice': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceId>.+?)/listener/(?P<ListenerId>.+?)/rule/(?P<RuleId>.+?)$"), 'names': ['rule', 'Rule'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::Rule', 'tag': 'AWS::VpcLattice::Rule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceId>.+?)/listener/(?P<ListenerId>.+?)$"), 'names': ['listener', 'Listener'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::Listener', 'tag': 'AWS::VpcLattice::Listener'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceId>.+?)/(?P<RequestPath>.+?)$"), 'names': ['service', 'Service'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::Service', 'tag': 'AWS::VpcLattice::Service'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):accesslogsubscription/(?P<AccessLogSubscriptionId>.+?)$"), 'names': ['access-log-subscription', 'AccessLogSubscription'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::AccessLogSubscription', 'tag': 'AWS::VpcLattice::AccessLogSubscription'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):domainverification/(?P<DomainVerificationId>.+?)$"), 'names': ['domain-verification', 'DomainVerification'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::DomainVerification', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):resourceconfiguration/(?P<ResourceConfigurationId>.+?)$"), 'names': ['resource-configuration', 'ResourceConfiguration'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::ResourceConfiguration', 'tag': 'AWS::VpcLattice::ResourceConfiguration'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):resourceendpointassociation/(?P<ResourceEndpointAssociationId>.+?)$"), 'names': ['resource-endpoint-association', 'ResourceEndpointAssociation'], 'sdk': 'vpc-lattice', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):resourcegateway/(?P<ResourceGatewayId>.+?)$"), 'names': ['resource-gateway', 'ResourceGateway'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::ResourceGateway', 'tag': 'AWS::VpcLattice::ResourceGateway'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):service/(?P<ServiceId>.+?)$"), 'names': ['service', 'Service'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::Service', 'tag': 'AWS::VpcLattice::Service'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):servicenetwork/(?P<ServiceNetworkId>.+?)$"), 'names': ['service-network', 'ServiceNetwork'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::ServiceNetwork', 'tag': 'AWS::VpcLattice::ServiceNetwork'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):servicenetworkresourceassociation/(?P<ServiceNetworkResourceAssociationId>.+?)$"), 'names': ['service-network-resource-association', 'ServiceNetworkResourceAssociation'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::ServiceNetworkResourceAssociation', 'tag': 'AWS::VpcLattice::ServiceNetworkResourceAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):servicenetworkserviceassociation/(?P<ServiceNetworkServiceAssociationId>.+?)$"), 'names': ['service-network-service-association', 'ServiceNetworkServiceAssociation'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::ServiceNetworkServiceAssociation', 'tag': 'AWS::VpcLattice::ServiceNetworkServiceAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):servicenetworkvpcassociation/(?P<ServiceNetworkVpcAssociationId>.+?)$"), 'names': ['service-network-vpc-association', 'ServiceNetworkVpcAssociation'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::ServiceNetworkVpcAssociation', 'tag': 'AWS::VpcLattice::ServiceNetworkVpcAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):vpc-lattice:(?P<Region>[\w-]*):(?P<Account>\d{12}):targetgroup/(?P<TargetGroupId>.+?)$"), 'names': ['target-group', 'TargetGroup'], 'sdk': 'vpc-lattice', 'cfn': 'AWS::VpcLattice::TargetGroup', 'tag': 'AWS::VpcLattice::TargetGroup'},
    ],
    'waf': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):bytematchset/(?P<Id>.+?)$"), 'names': ['byte-matchset', 'bytematchset'], 'sdk': 'waf', 'cfn': 'AWS::WAF::ByteMatchSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):geomatchset/(?P<Id>.+?)$"), 'names': ['geo-matchset', 'geomatchset'], 'sdk': 'waf', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):ipset/(?P<Id>.+?)$"), 'names': ['ipset'], 'sdk': 'waf', 'cfn': 'AWS::WAF::IPSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):ratebasedrule/(?P<Id>.+?)$"), 'names': ['rate-based-rule', 'ratebasedrule'], 'sdk': 'waf', 'cfn': None, 'tag': 'AWS::WAF::RateBasedRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):regexmatch/(?P<Id>.+?)$"), 'names': ['regex-matchset', 'regexmatchset'], 'sdk': 'waf', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):regexpatternset/(?P<Id>.+?)$"), 'names': ['regex-pattern-set', 'regexpatternset'], 'sdk': 'waf', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):rule/(?P<Id>.+?)$"), 'names': ['rule'], 'sdk': 'waf', 'cfn': 'AWS::WAF::Rule', 'tag': 'AWS::WAF::Rule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):rulegroup/(?P<Id>.+?)$"), 'names': ['rulegroup'], 'sdk': 'waf', 'cfn': None, 'tag': 'AWS::WAF::RuleGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):sizeconstraintset/(?P<Id>.+?)$"), 'names': ['size-constraint-set', 'sizeconstraintset'], 'sdk': 'waf', 'cfn': 'AWS::WAF::SizeConstraintSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):sqlinjectionset/(?P<Id>.+?)$"), 'names': ['sql-injection-matchset', 'sqlinjectionmatchset'], 'sdk': 'waf', 'cfn': 'AWS::WAF::SqlInjectionMatchSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):webacl/(?P<Id>.+?)$"), 'names': ['webacl'], 'sdk': 'waf', 'cfn': 'AWS::WAF::WebACL', 'tag': 'AWS::WAF::WebACL'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf::(?P<Account>\d{12}):xssmatchset/(?P<Id>.+?)$"), 'names': ['xss-matchset', 'xssmatchset'], 'sdk': 'waf', 'cfn': 'AWS::WAF::XssMatchSet', 'tag': None},
    ],
    'waf-regional': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):bytematchset/(?P<Id>.+?)$"), 'names': ['byte-matchset', 'bytematchset'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::ByteMatchSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):geomatchset/(?P<Id>.+?)$"), 'names': ['geo-matchset', 'geomatchset'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::GeoMatchSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):ipset/(?P<Id>.+?)$"), 'names': ['ipset'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::IPSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):ratebasedrule/(?P<Id>.+?)$"), 'names': ['rate-based-rule', 'ratebasedrule'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::RateBasedRule', 'tag': 'AWS::WAFRegional::RateBasedRule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):regexmatch/(?P<Id>.+?)$"), 'names': ['regex-matchset', 'regexmatchset'], 'sdk': 'waf-regional', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):regexpatternset/(?P<Id>.+?)$"), 'names': ['regex-pattern-set', 'regexpatternset'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::RegexPatternSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):rule/(?P<Id>.+?)$"), 'names': ['rule'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::Rule', 'tag': 'AWS::WAFRegional::Rule'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):rulegroup/(?P<Id>.+?)$"), 'names': ['rulegroup'], 'sdk': 'waf-regional', 'cfn': None, 'tag': 'AWS::WAFRegional::RuleGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):sizeconstraintset/(?P<Id>.+?)$"), 'names': ['size-constraint-set', 'sizeconstraintset'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::SizeConstraintSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):sqlinjectionset/(?P<Id>.+?)$"), 'names': ['sql-injection-matchset', 'sqlinjectionmatchset'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::SqlInjectionMatchSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):webacl/(?P<Id>.+?)$"), 'names': ['webacl'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::WebACL', 'tag': 'AWS::WAFRegional::WebACL'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):waf-regional:(?P<Region>[\w-]*):(?P<Account>\d{12}):xssmatchset/(?P<Id>.+?)$"), 'names': ['xss-matchset', 'xssmatchset'], 'sdk': 'waf-regional', 'cfn': 'AWS::WAFRegional::XssMatchSet', 'tag': None},
    ],
    'wafv2': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wafv2:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<Scope>.+?)/ipset/(?P<Name>.+?)/(?P<Id>.+?)$"), 'names': ['ipset'], 'sdk': 'wafv2', 'cfn': 'AWS::WAFv2::IPSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wafv2:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<Scope>.+?)/managedruleset/(?P<Name>.+?)/(?P<Id>.+?)$"), 'names': ['managed-ruleset', 'managedruleset'], 'sdk': 'wafv2', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wafv2:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<Scope>.+?)/regexpatternset/(?P<Name>.+?)/(?P<Id>.+?)$"), 'names': ['regex-pattern-set', 'regexpatternset'], 'sdk': 'wafv2', 'cfn': 'AWS::WAFv2::RegexPatternSet', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wafv2:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<Scope>.+?)/rulegroup/(?P<Name>.+?)/(?P<Id>.+?)$"), 'names': ['rulegroup'], 'sdk': 'wafv2', 'cfn': 'AWS::WAFv2::RuleGroup', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wafv2:(?P<Region>[\w-]*):(?P<Account>\d{12}):(?P<Scope>.+?)/webacl/(?P<Name>.+?)/(?P<Id>.+?)$"), 'names': ['webacl'], 'sdk': 'wafv2', 'cfn': 'AWS::WAFv2::WebACL', 'tag': None},
    ],
    'wellarchitected': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wellarchitected:(?P<Region>[\w-]*):(?P<Account>\d{12}):lens/(?P<ResourceId>.+?)$"), 'names': ['lens'], 'sdk': 'wellarchitected', 'cfn': None, 'tag': 'AWS::WellArchitected::Lens'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wellarchitected:(?P<Region>[\w-]*):(?P<Account>\d{12}):profile/(?P<ResourceId>.+?)$"), 'names': ['profile'], 'sdk': 'wellarchitected', 'cfn': None, 'tag': 'AWS::WellArchitected::Profile'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wellarchitected:(?P<Region>[\w-]*):(?P<Account>\d{12}):review-template/(?P<ResourceId>.+?)$"), 'names': ['review-template'], 'sdk': 'wellarchitected', 'cfn': None, 'tag': 'AWS::WellArchitected::ReviewTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wellarchitected:(?P<Region>[\w-]*):(?P<Account>\d{12}):workload/(?P<ResourceId>.+?)$"), 'names': ['workload'], 'sdk': 'wellarchitected', 'cfn': None, 'tag': 'AWS::WellArchitected::Workload'},
    ],
    'wickr': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wickr:(?P<Region>[\w-]*):(?P<Account>\d{12}):network/(?P<NetworkId>.+?)$"), 'names': ['network'], 'sdk': 'wickr', 'cfn': None, 'tag': 'AWS::Wickr::Network'},
    ],
    'wisdom': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):ai-agent/(?P<AssistantId>.+?)/(?P<AIAgentId>.+?):(?P<Version>.+?)$"), 'names': ['ai-agent'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::AIAgent', 'tag': 'AWS::Wisdom::AIAgent'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):content-association/(?P<KnowledgeBaseId>.+?)/(?P<ContentId>.+?)/(?P<ContentAssociationId>.+?)$"), 'names': ['content-association', 'ContentAssociation'], 'sdk': 'qconnect', 'cfn': None, 'tag': 'AWS::Wisdom::ContentAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):ai-agent/(?P<AssistantId>.+?)/(?P<AIAgentId>.+?)$"), 'names': ['ai-agent', 'AIAgent'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::AIAgent', 'tag': 'AWS::Wisdom::AIAgent'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):ai-guardrail/(?P<AssistantId>.+?)/(?P<AIGuardrailId>.+?)$"), 'names': ['ai-guardrail', 'AIGuardrail'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::AIGuardrail', 'tag': 'AWS::Wisdom::AIGuardrail'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):ai-prompt/(?P<AssistantId>.+?)/(?P<AIPromptId>.+?)$"), 'names': ['ai-prompt', 'AIPrompt'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::AIPrompt', 'tag': 'AWS::Wisdom::AIPrompt'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):association/(?P<AssistantId>.+?)/(?P<AssistantAssociationId>.+?)$"), 'names': ['assistant-association', 'AssistantAssociation'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::AssistantAssociation', 'tag': 'AWS::Wisdom::AssistantAssociation'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):content/(?P<KnowledgeBaseId>.+?)/(?P<ContentId>.+?)$"), 'names': ['content', 'Content'], 'sdk': 'qconnect', 'cfn': None, 'tag': 'AWS::Wisdom::Content'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):message-template/(?P<KnowledgeBaseId>.+?)/(?P<MessageTemplateId>.+?)$"), 'names': ['message-template', 'MessageTemplate'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::MessageTemplate', 'tag': 'AWS::Wisdom::MessageTemplate'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):quick-response/(?P<KnowledgeBaseId>.+?)/(?P<QuickResponseId>.+?)$"), 'names': ['quick-response', 'QuickResponse'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::QuickResponse', 'tag': 'AWS::Wisdom::QuickResponse'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):session/(?P<AssistantId>.+?)/(?P<SessionId>.+?)$"), 'names': ['session', 'Session'], 'sdk': 'qconnect', 'cfn': None, 'tag': 'AWS::Wisdom::Session'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):assistant/(?P<AssistantId>.+?)$"), 'names': ['assistant', 'Assistant'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::Assistant', 'tag': 'AWS::Wisdom::Assistant'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):wisdom:(?P<Region>[\w-]*):(?P<Account>\d{12}):knowledge-base/(?P<KnowledgeBaseId>.+?)$"), 'names': ['knowledge-base', 'KnowledgeBase'], 'sdk': 'qconnect', 'cfn': 'AWS::Wisdom::KnowledgeBase', 'tag': 'AWS::Wisdom::KnowledgeBase'},
    ],
    'workdocs': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workdocs:(?P<Region>[\w-]*):(?P<Account>\d{12}):organization/(?P<ResourceId>.+?)$"), 'names': ['organization'], 'sdk': 'workdocs', 'cfn': None, 'tag': None},
    ],
    'worklink': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):worklink::(?P<Account>\d{12}):fleet/(?P<FleetName>.+?)$"), 'names': ['fleet'], 'sdk': None, 'cfn': None, 'tag': None},
    ],
    'workmail': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workmail:(?P<Region>[\w-]*):(?P<Account>\d{12}):organization/(?P<ResourceId>.+?)$"), 'names': ['organization'], 'sdk': 'workmail', 'cfn': None, 'tag': 'AWS::Workmail::Organization'},
    ],
    'workmailmessageflow': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workmailmessageflow:(?P<Region>[\w-]*):(?P<Account>\d{12}):message/(?P<OrganizationId>.+?)/(?P<Context>.+?)/(?P<MessageId>.+?)$"), 'names': ['raw-message', 'RawMessage'], 'sdk': 'workmailmessageflow', 'cfn': None, 'tag': None},
    ],
    'workspaces': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):connectionalias/(?P<ConnectionAliasId>.+?)$"), 'names': ['connection-alias', 'connectionalias'], 'sdk': 'workspaces', 'cfn': 'AWS::WorkSpaces::ConnectionAlias', 'tag': 'AWS::WorkSpaces::ConnectionAlias'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):directory/(?P<DirectoryId>.+?)$"), 'names': ['directory-id', 'directoryid'], 'sdk': 'workspaces', 'cfn': None, 'tag': 'AWS::WorkSpaces::Directory'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspace/(?P<WorkspaceId>.+?)$"), 'names': ['workspace-id', 'workspaceid'], 'sdk': 'workspaces', 'cfn': 'AWS::WorkSpaces::Workspace', 'tag': 'AWS::WorkSpaces::Workspace'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspaceapplication/(?P<WorkSpaceApplicationId>.+?)$"), 'names': ['workspace-application', 'workspaceapplication'], 'sdk': 'workspaces', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspacebundle/(?P<BundleId>.+?)$"), 'names': ['workspace-bundle', 'workspacebundle'], 'sdk': 'workspaces', 'cfn': None, 'tag': 'AWS::WorkSpaces::WorkspaceBundle'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspacecertificate/(?P<CertificateId>.+?)$"), 'names': ['certificate-id', 'certificateid'], 'sdk': 'workspaces', 'cfn': None, 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspaceimage/(?P<ImageId>.+?)$"), 'names': ['workspace-image', 'workspaceimage'], 'sdk': 'workspaces', 'cfn': None, 'tag': 'AWS::WorkSpaces::WorkspaceImage'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspaceipgroup/(?P<GroupId>.+?)$"), 'names': ['workspace-ip-group', 'workspaceipgroup'], 'sdk': 'workspaces', 'cfn': None, 'tag': 'AWS::WorkSpaces::WorkspaceIpGroup'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspacespool/(?P<PoolId>.+?)$"), 'names': ['workspaces-pool-id', 'workspacespoolid'], 'sdk': 'workspaces', 'cfn': 'AWS::WorkSpaces::WorkspacesPool', 'tag': 'AWS::WorkSpaces::WorkspacesPool'},
    ],
    'workspaces-instances': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-instances:(?P<Region>[\w-]*):(?P<Account>\d{12}):workspaceinstance/(?P<WorkspaceInstanceId>.+?)$"), 'names': ['workspace-instance-id', 'WorkspaceInstanceId'], 'sdk': 'workspaces-instances', 'cfn': 'AWS::WorkspacesInstances::WorkspaceInstance', 'tag': None},
    ],
    'workspaces-web': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):identityProvider/(?P<PortalId>.+?)/(?P<IdentityProviderId>.+?)$"), 'names': ['identity-provider', 'identityProvider'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::IdentityProvider', 'tag': 'AWS::WorkSpacesWeb::IdentityProvider'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):browserSettings/(?P<BrowserSettingsId>.+?)$"), 'names': ['browser-settings', 'browserSettings'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::BrowserSettings', 'tag': 'AWS::WorkSpacesWeb::BrowserSettings'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):dataProtectionSettings/(?P<DataProtectionSettingsId>.+?)$"), 'names': ['data-protection-settings', 'dataProtectionSettings'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::DataProtectionSettings', 'tag': 'AWS::WorkSpacesWeb::DataProtectionSettings'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):ipAccessSettings/(?P<IpAccessSettingsId>.+?)$"), 'names': ['ip-access-settings', 'ipAccessSettings'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::IpAccessSettings', 'tag': 'AWS::WorkSpacesWeb::IpAccessSettings'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):networkSettings/(?P<NetworkSettingsId>.+?)$"), 'names': ['network-settings', 'networkSettings'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::NetworkSettings', 'tag': 'AWS::WorkSpacesWeb::NetworkSettings'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):portal/(?P<PortalId>.+?)$"), 'names': ['portal'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::Portal', 'tag': 'AWS::WorkSpacesWeb::Portal'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):sessionLogger/(?P<SessionLoggerId>.+?)$"), 'names': ['session-logger', 'sessionLogger'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::SessionLogger', 'tag': None},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):trustStore/(?P<TrustStoreId>.+?)$"), 'names': ['trust-store', 'trustStore'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::TrustStore', 'tag': 'AWS::WorkSpacesWeb::TrustStore'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):userAccessLoggingSettings/(?P<UserAccessLoggingSettingsId>.+?)$"), 'names': ['user-access-logging-settings', 'userAccessLoggingSettings'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::UserAccessLoggingSettings', 'tag': 'AWS::WorkSpacesWeb::UserAccessLoggingSettings'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):workspaces-web:(?P<Region>[\w-]*):(?P<Account>\d{12}):userSettings/(?P<UserSettingsId>.+?)$"), 'names': ['user-settings', 'userSettings'], 'sdk': 'workspaces-web', 'cfn': 'AWS::WorkSpacesWeb::UserSettings', 'tag': 'AWS::WorkSpacesWeb::UserSettings'},
    ],
    'xray': [
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):xray:(?P<Region>[\w-]*):(?P<Account>\d{12}):group/(?P<GroupName>.+?)/(?P<Id>.+?)$"), 'names': ['group'], 'sdk': 'xray', 'cfn': 'AWS::XRay::Group', 'tag': 'AWS::XRay::Group'},
        {'regex': re.compile(r"^arn:(?P<Partition>[\w-]+):xray:(?P<Region>[\w-]*):(?P<Account>\d{12}):sampling-rule/(?P<SamplingRuleName>.+?)$"), 'names': ['sampling-rule'], 'sdk': 'xray', 'cfn': 'AWS::XRay::SamplingRule', 'tag': 'AWS::XRay::SamplingRule'},
    ],
}

AWS_SDK_SERVICES = {
    'a4b': [],
    'access-analyzer': ['accessanalyzer'],
    'account': ['account'],
    'acm': ['acm'],
    'acm-pca': ['acm-pca'],
    'aidevops': ['aiops'],
    'aiops': ['aiops'],
    'airflow': ['mwaa'],
    'airflow-serverless': ['mwaa-serverless'],
    'amplify': ['amplify'],
    'amplifybackend': ['amplifybackend'],
    'amplifyuibuilder': ['amplifyuibuilder'],
    'aoss': ['opensearchserverless'],
    'apigateway': ['apigateway', 'apigatewayv2'],
    'app-integrations': ['appintegrations'],
    'appconfig': ['appconfig', 'appconfigdata'],
    'appfabric': ['appfabric'],
    'appflow': ['appflow'],
    'application-autoscaling': ['application-autoscaling'],
    'application-signals': ['application-signals'],
    'appmesh': ['appmesh'],
    'appmesh-preview': ['appmesh'],
    'apprunner': ['apprunner'],
    'appstream': ['appstream'],
    'appstudio': [],
    'appsync': ['appsync'],
    'apptest': [],
    'aps': ['amp'],
    'arc-region-switch': ['arc-region-switch'],
    'artifact': ['artifact'],
    'athena': ['athena'],
    'auditmanager': ['auditmanager'],
    'autoscaling': ['autoscaling'],
    'aws-marketplace': ['marketplace-agreement', 'marketplace-catalog', 'marketplace-deployment', 'marketplace-entitlement', 'marketplace-reporting', 'meteringmarketplace'],
    'b2bi': ['b2bi'],
    'backup': ['backup'],
    'backup-gateway': ['backup-gateway'],
    'backup-search': ['backupsearch'],
    'batch': ['batch'],
    'bcm-data-exports': ['bcm-data-exports'],
    'bcm-pricing-calculator': ['bcm-pricing-calculator'],
    'bedrock': ['bedrock', 'bedrock-agent', 'bedrock-agent-runtime', 'bedrock-data-automation', 'bedrock-data-automation-runtime', 'bedrock-runtime'],
    'bedrock-agentcore': ['bedrock-agentcore', 'bedrock-agentcore-control'],
    'bedrock-mantle': [],
    'billing': ['billing'],
    'billingconductor': ['billingconductor'],
    'braket': ['braket'],
    'budgets': ['budgets'],
    'bugbust': [],
    'cases': ['connectcases'],
    'cassandra': ['keyspaces', 'keyspacesstreams'],
    'catalog': ['servicecatalog'],
    'ce': ['ce'],
    'chatbot': ['chatbot'],
    'chime': ['chime', 'chime-sdk-identity', 'chime-sdk-media-pipelines', 'chime-sdk-meetings', 'chime-sdk-messaging', 'chime-sdk-voice'],
    'cleanrooms': ['cleanrooms'],
    'cleanrooms-ml': ['cleanroomsml'],
    'cloud9': ['cloud9'],
    'clouddirectory': ['clouddirectory'],
    'cloudformation': ['cloudformation'],
    'cloudfront': ['cloudfront'],
    'cloudhsm': ['cloudhsm', 'cloudhsmv2'],
    'cloudsearch': ['cloudsearch', 'cloudsearchdomain'],
    'cloudshell': [],
    'cloudtrail': ['cloudtrail'],
    'cloudwatch': ['cloudwatch'],
    'codeartifact': ['codeartifact'],
    'codebuild': ['codebuild'],
    'codecatalyst': ['codecatalyst'],
    'codecommit': ['codecommit'],
    'codeconnections': ['codeconnections'],
    'codedeploy': ['codedeploy'],
    'codeguru-profiler': ['codeguruprofiler'],
    'codeguru-reviewer': ['codeguru-reviewer'],
    'codeguru-security': ['codeguru-security'],
    'codepipeline': ['codepipeline'],
    'codestar': [],
    'codestar-connections': ['codestar-connections'],
    'codestar-notifications': ['codestar-notifications'],
    'codewhisperer': [],
    'cognito-identity': ['cognito-identity'],
    'cognito-idp': ['cognito-idp'],
    'cognito-sync': ['cognito-sync'],
    'comprehend': ['comprehend'],
    'compute-optimizer': ['compute-optimizer'],
    'config': ['config'],
    'connect': ['connect', 'connect-contact-lens'],
    'connect-campaigns': ['connectcampaigns', 'connectcampaignsv2'],
    'consoleapp': [],
    'controlcatalog': ['controlcatalog'],
    'controltower': ['controltower'],
    'cur': ['cur'],
    'databrew': ['databrew'],
    'dataexchange': ['dataexchange'],
    'datapipeline': ['datapipeline'],
    'datasync': ['datasync'],
    'datazone': ['datazone'],
    'dax': ['dax'],
    'deadline': ['deadline'],
    'detective': ['detective'],
    'devicefarm': ['devicefarm'],
    'directconnect': ['directconnect'],
    'dlm': ['dlm'],
    'dms': ['dms'],
    'docdb-elastic': ['docdb-elastic'],
    'drs': ['drs'],
    'ds': ['ds'],
    'dsql': ['dsql'],
    'dynamodb': ['dynamodb', 'dynamodbstreams'],
    'ec2': ['ec2'],
    'ecr': ['ecr'],
    'ecr-public': ['ecr-public'],
    'ecs': ['ecs'],
    'eks': ['eks'],
    'elastic-inference': [],
    'elasticache': ['elasticache'],
    'elasticbeanstalk': ['elasticbeanstalk'],
    'elasticfilesystem': ['efs'],
    'elasticloadbalancing': ['elb', 'elbv2'],
    'elasticmapreduce': ['emr'],
    'elastictranscoder': [],
    'elemental-appliances-software': [],
    'elemental-support-cases': [],
    'emr-containers': ['emr-containers'],
    'emr-serverless': ['emr-serverless'],
    'entityresolution': ['entityresolution'],
    'es': ['es', 'opensearch'],
    'events': ['events'],
    'evidently': ['evidently'],
    'evs': ['evs'],
    'execute-api': ['apigatewaymanagementapi', 'connectparticipant'],
    'finspace': ['finspace'],
    'finspace-api': ['finspace-data'],
    'firehose': ['firehose'],
    'fis': ['fis'],
    'fms': ['fms'],
    'forecast': ['forecast', 'forecastquery'],
    'frauddetector': ['frauddetector'],
    'freertos': [],
    'fsx': ['fsx'],
    'gamelift': ['gamelift'],
    'gameliftstreams': ['gameliftstreams'],
    'geo': ['location'],
    'geo-maps': ['geo-maps'],
    'geo-places': ['geo-places'],
    'geo-routes': ['geo-routes'],
    'glacier': ['glacier'],
    'globalaccelerator': ['globalaccelerator'],
    'glue': ['glue'],
    'grafana': ['grafana'],
    'greengrass': ['greengrass', 'greengrassv2'],
    'groundstation': ['groundstation'],
    'guardduty': ['guardduty'],
    'health': ['health'],
    'healthlake': ['healthlake'],
    'honeycode': [],
    'iam': ['iam'],
    'identity-sync': [],
    'identitystore': ['identitystore'],
    'imagebuilder': ['imagebuilder'],
    'inspector': ['inspector'],
    'inspector2': ['inspector2'],
    'internetmonitor': ['internetmonitor'],
    'invoicing': ['invoicing'],
    'iot': ['iot'],
    'iotanalytics': ['iotanalytics'],
    'iotdeviceadvisor': ['iotdeviceadvisor'],
    'iotevents': ['iotevents'],
    'iotfleethub': [],
    'iotfleetwise': ['iotfleetwise'],
    'iotmanagedintegrations': ['iot-managed-integrations'],
    'iotsitewise': ['iotsitewise'],
    'iottwinmaker': ['iottwinmaker'],
    'iotwireless': ['iotwireless'],
    'iq': [],
    'iq-permission': [],
    'ivs': ['ivs', 'ivs-realtime'],
    'ivschat': ['ivschat'],
    'kafka': ['kafka'],
    'kafkaconnect': ['kafkaconnect'],
    'kendra': ['kendra'],
    'kendra-ranking': ['kendra-ranking'],
    'kinesis': ['kinesis'],
    'kinesisanalytics': ['kinesisanalytics', 'kinesisanalyticsv2'],
    'kinesisvideo': ['kinesisvideo', 'kinesis-video-archived-media', 'kinesis-video-media', 'kinesis-video-signaling', 'kinesis-video-webrtc-storage'],
    'kms': ['kms'],
    'lambda': ['lambda'],
    'launchwizard': ['launch-wizard'],
    'lex': ['lex-models', 'lex-runtime', 'lexv2-models', 'lexv2-runtime'],
    'license-manager': ['license-manager'],
    'license-manager-linux-subscriptions': ['license-manager-linux-subscriptions'],
    'license-manager-user-subscriptions': ['license-manager-user-subscriptions'],
    'lightsail': ['lightsail'],
    'logs': ['logs'],
    'lookoutequipment': ['lookoutequipment'],
    'lookoutmetrics': [],
    'lookoutvision': [],
    'm2': ['m2'],
    'machinelearning': ['machinelearning'],
    'macie2': ['macie2'],
    'managedblockchain': ['managedblockchain'],
    'mapcredits': [],
    'mediaconnect': ['mediaconnect'],
    'mediaconvert': ['mediaconvert'],
    'medialive': ['medialive'],
    'mediapackage': ['mediapackage'],
    'mediapackage-vod': ['mediapackage-vod'],
    'mediapackagev2': ['mediapackagev2'],
    'mediastore': ['mediastore', 'mediastore-data'],
    'mediatailor': ['mediatailor'],
    'medical-imaging': ['medical-imaging'],
    'memorydb': ['memorydb'],
    'mgh': ['mgh', 'migrationhub-config'],
    'mgn': ['mgn'],
    'migrationhub-orchestrator': ['migrationhuborchestrator'],
    'mobiletargeting': ['pinpoint'],
    'monitron': [],
    'mpa': ['mpa'],
    'mq': ['mq'],
    'neptune-db': ['neptunedata'],
    'neptune-graph': ['neptune-graph'],
    'network-firewall': ['network-firewall'],
    'networkflowmonitor': ['networkflowmonitor'],
    'networkmanager': ['networkmanager'],
    'networkmonitor': ['networkmonitor'],
    'nimble': [],
    'notifications': ['notifications'],
    'notifications-contacts': ['notificationscontacts'],
    'nova-act': ['nova-act'],
    'oam': ['oam'],
    'observabilityadmin': ['observabilityadmin'],
    'odb': ['odb'],
    'omics': ['omics'],
    'one': [],
    'opensearch': ['opensearch'],
    'opsworks': [],
    'opsworks-cm': [],
    'organizations': ['organizations'],
    'osis': ['osis'],
    'outposts': ['outposts'],
    'panorama': ['panorama'],
    'partnercentral': ['partnercentral-account', 'partnercentral-benefits', 'partnercentral-channel', 'partnercentral-selling'],
    'payment-cryptography': ['payment-cryptography', 'payment-cryptography-data'],
    'payments': [],
    'pca-connector-ad': ['pca-connector-ad'],
    'pca-connector-scep': ['pca-connector-scep'],
    'pcs': ['pcs'],
    'personalize': ['personalize', 'personalize-events', 'personalize-runtime'],
    'pi': ['pi'],
    'pipes': ['pipes'],
    'polly': ['polly'],
    'pricingplanmanager': [],
    'private-networks': ['privatenetworks'],
    'profile': ['customer-profiles'],
    'proton': ['proton'],
    'purchase-orders': [],
    'qapps': ['qapps'],
    'qbusiness': ['qbusiness'],
    'qdeveloper': [],
    'qldb': [],
    'quicksight': ['quicksight'],
    'ram': ['ram'],
    'rbin': ['rbin'],
    'rds': ['rds', 'docdb', 'neptune'],
    'rds-db': ['rds'],
    'redshift': ['redshift'],
    'redshift-serverless': ['redshift-serverless'],
    'refactor-spaces': ['migration-hub-refactor-spaces'],
    'rekognition': ['rekognition'],
    'repostspace': ['repostspace'],
    'resiliencehub': ['resiliencehub'],
    'resource-explorer-2': ['resource-explorer-2'],
    'resource-groups': ['resource-groups'],
    'robomaker': [],
    'rolesanywhere': ['rolesanywhere'],
    'route53': ['route53'],
    'route53-recovery-control': ['route53-recovery-cluster', 'route53-recovery-control-config'],
    'route53-recovery-readiness': ['route53-recovery-readiness'],
    'route53globalresolver': ['route53globalresolver'],
    'route53profiles': ['route53profiles'],
    'route53resolver': ['route53resolver'],
    'rum': ['rum'],
    's3': ['s3', 's3control'],
    's3-object-lambda': ['s3'],
    's3-outposts': ['s3outposts'],
    's3express': ['s3'],
    's3tables': ['s3tables'],
    's3vectors': ['s3vectors'],
    'sagemaker': ['sagemaker', 'sagemaker-a2i-runtime', 'sagemaker-edge', 'sagemaker-featurestore-runtime', 'sagemaker-metrics', 'sagemaker-runtime'],
    'sagemaker-geospatial': ['sagemaker-geospatial'],
    'savingsplans': ['savingsplans'],
    'scheduler': ['scheduler'],
    'schemas': ['schemas'],
    'scn': ['supplychain'],
    'sdb': ['sdb'],
    'secretsmanager': ['secretsmanager'],
    'security-ir': ['security-ir'],
    'securityagent': [],
    'securityhub': ['securityhub'],
    'securitylake': ['securitylake'],
    'serverlessrepo': ['serverlessrepo'],
    'servicecatalog': ['servicecatalog', 'servicecatalog-appregistry'],
    'servicediscovery': ['servicediscovery'],
    'servicequotas': ['service-quotas'],
    'ses': ['ses', 'mailmanager', 'pinpoint-email', 'sesv2'],
    'shield': ['shield'],
    'signer': ['signer'],
    'simspaceweaver': ['simspaceweaver'],
    'sms-voice': ['sms-voice', 'pinpoint-sms-voice', 'pinpoint-sms-voice-v2'],
    'snow-device-management': ['snow-device-management'],
    'sns': ['sns'],
    'social-messaging': ['socialmessaging'],
    'sqlworkbench': [],
    'sqs': ['sqs'],
    'ssm': ['ssm'],
    'ssm-contacts': ['ssm-contacts'],
    'ssm-incidents': ['ssm-incidents'],
    'ssm-quicksetup': ['ssm-quicksetup'],
    'ssm-sap': ['ssm-sap'],
    'sso': ['sso', 'sso-admin'],
    'states': ['stepfunctions'],
    'storagegateway': ['storagegateway'],
    'sts': ['sts'],
    'swf': ['swf'],
    'synthetics': ['synthetics'],
    'textract': ['textract'],
    'thinclient': ['workspaces-thin-client'],
    'timestream': ['timestream-query', 'timestream-write'],
    'timestream-influxdb': ['timestream-influxdb'],
    'tnb': ['tnb'],
    'transcribe': ['transcribe'],
    'transfer': ['transfer'],
    'transform': [],
    'transform-custom': [],
    'translate': ['translate'],
    'trustedadvisor': ['trustedadvisor'],
    'ts': [],
    'vendor-insights': [],
    'verifiedpermissions': ['verifiedpermissions'],
    'voiceid': ['voice-id'],
    'vpc-lattice': ['vpc-lattice'],
    'waf': ['waf'],
    'waf-regional': ['waf-regional'],
    'wafv2': ['wafv2'],
    'wellarchitected': ['wellarchitected'],
    'wickr': ['wickr'],
    'wisdom': ['wisdom', 'qconnect'],
    'workdocs': ['workdocs'],
    'worklink': [],
    'workmail': ['workmail'],
    'workmailmessageflow': ['workmailmessageflow'],
    'workspaces': ['workspaces'],
    'workspaces-instances': ['workspaces-instances'],
    'workspaces-web': ['workspaces-web'],
    'xray': ['xray'],
}
