from enum import Enum
from typing import Literal
from .cloudwatch_aws_services_map import (
    CloudWatchServiceName,
    CloudWatchAWSServicesMap,
)

CloudWatchAPIOperationName = Literal[
    "accountprovisionedreadcapacityunits",
    "accountprovisionedwritecapacityunits",
    "cachesperregion",
    "channel",
    "createlogstream",
    "deletesession",
    "describeaccesspoints",
    "describeaccountattributes",
    "describeaccountattributes",
    "describeaccountlimits",
    "describeaccountlimits",
    "describeacls",
    "describeactivereceiptruleset",
    "describeaddresses",
    "describeaddressesattribute",
    "describealarms",
    "describeapplications",
    "describeapplicationversions",
    "describeautoscalinggroups",
    "describeautoscalinginstances",
    "describebackupvault",
    "describebluegreendeployments",
    "describebyoipcidrs",
    "describecacheparametergroups",
    "describecachesubnetgroups",
    "describecapacityreservationfleets",
    "describecapacityreservations",
    "describecarriergateways",
    "describeclientvpnendpoints",
    "describeclusters",
    "describeclusters",
    "describeclusters",
    "describeclustersecuritygroups",
    "describeclustersnapshots",
    "describeclustersubnetgroups",
    "describecoippools",
    "describecompliancebyconfigrule",
    "describecompliancebyresource",
    "describecomputeenvironments",
    "describeconfigruleevaluationstatus",
    "describeconfigrules",
    "describeconfigurationrecorders",
    "describeconfigurationrecorderstatus",
    "describecustomkeystores",
    "describedbclusterendpoints",
    "describedbclusterparametergroups",
    "describedbclusters",
    "describedbclustersnapshots",
    "describedbinstanceautomatedbackups",
    "describedbinstances",
    "describedbrecommendations",
    "describedbsecuritygroups",
    "describedbsnapshots",
    "describedbsubnetgroups",
    "describedestinations",
    "describedhcpoptions",
    "describedirectories",
    "describedocument",
    "describedocumentpermission",
    "describeegressonlyinternetgateways",
    "describeendpointauthorization",
    "describeenvironments",
    "describeeventbus",
    "describeevents",
    "describeeventsubscriptions",
    "describeeventsubscriptions",
    "describeeventsubscriptions",
    "describefleetattributes",
    "describefleets",
    "describefleets",
    "describeflowlogs",
    "describefpgaimages",
    "describegamesessionqueues",
    "describeglobalclusters",
    "describehostreservations",
    "describeimagebuilders",
    "describeimages",
    "describeinsightrules",
    "describeinstanceconnectendpoints",
    "describeinstanceinformation",
    "describeinstances",
    "describeinstancestatus",
    "describeinstancetypes",
    "describeinternetgateways",
    "describeipampools",
    "describeipamresourcediscoveries",
    "describeipamresourcediscoveryassociations",
    "describeipams",
    "describeipamscopes",
    "describejobdefinitions",
    "describejobqueues",
    "describekey",
    "describelaunchconfigurations",
    "describelaunchtemplateversions",
    "describelimits",
    "describelocalgatewayroutetables",
    "describeloggroups",
    "describelogstreams",
    "describemaintenancewindows",
    "describematchmakingconfigurations",
    "describemetricfilters",
    "describenatgateways",
    "describenetworkinsightsaccessscopeanalyses",
    "describenetworkinsightsaccessscopes",
    "describenetworkinsightsanalyses",
    "describenetworkinsightspaths",
    "describenetworkinterfaces",
    "describeoptiongroups",
    "describeorganizationsaccess",
    "describeparametergroups",
    "describeparameters",
    "describependingaggregationrequests",
    "describependingmaintenanceactions",
    "describeplacementgroups",
    "describeregions",
    "describeregistry",
    "describeremediationconfigurations",
    "describereplicationgroups",
    "describereplicationinstances",
    "describereplicationsubnetgroups",
    "describerepositories",
    "describereservedcachenodes",
    "describereserveddbinstances",
    "describereservedinstances",
    "describereservedinstancesmodifications",
    "describereservednodes",
    "describeresourcepolicies",
    "describescalabletargets",
    "describescalingpolicies",
    "describesecret",
    "describesecuritygrouprules",
    "describesecuritygroups",
    "describeserverlesscaches",
    "describesnapshots",
    "describesnapshots",
    "describesnapshots",
    "describesnapshotschedules",
    "describespotfleetrequests",
    "describespotinstancerequests",
    "describesslpolicies",
    "describestacks",
    "describestacks",
    "describestandardscontrols",
    "describesubnetgroups",
    "describesubnets",
    "describesubscriptionfilters",
    "describetags",
    "describetags",
    "describetargetgroups",
    "describetenantdatabases",
    "describetrafficmirrortargets",
    "describetrails",
    "describetransitgatewayattachments",
    "describetransitgatewayconnectpeers",
    "describetransitgatewayconnects",
    "describetransitgatewayroutetableannouncements",
    "describetransitgatewayroutetables",
    "describetransitgateways",
    "describetransitgatewayvpcattachments",
    "describeusagelimits",
    "describeusers",
    "describeusers",
    "describeverifiedaccessgroups",
    "describeverifiedaccesstrustproviders",
    "describevpcblockpublicaccessexclusions",
    "describevpcblockpublicaccessoptions",
    "describevpcendpointconnectionnotifications",
    "describevpcendpoints",
    "describevpcendpointserviceconfigurations",
    "describevpcendpointservices",
    "describevpcs",
    "describevpnconnections",
    "describevpngateways",
    "describeworkspaces",
    "exportautoscalinggrouprecommendations",
    "exportebsvolumerecommendations",
    "exportec2instancerecommendations",
    "exportecsservicerecommendations",
    "exportlambdafunctionrecommendations",
    "exportlicenserecommendations",
    "exportrdsdatabaserecommendations",
    "getaccount",
    "getaccountsetting",
    "getaccountsettings",
    "getaccountsettings20160819",
    "getaccountstatus",
    "getadministratoraccount",
    "getallowedimagessettings",
    "getapis",
    "getapps",
    "getbackupvaultaccesspolicy",
    "getblockpublicaccessconfiguration",
    "getblockpublicaccessconfiguration",
    "getblockpublicaccessconfiguration",
    "getblueprints",
    "getbucketacl",
    "getbucketcors",
    "getbucketencryption",
    "getbucketintelligenttieringconfiguration",
    "getbucketlifecycle",
    "getbucketlocation",
    "getbucketlogging",
    "getbucketmetricsconfiguration",
    "getbucketnotification",
    "getbucketobjectlockconfiguration",
    "getbucketownershipcontrols",
    "getbucketreplication",
    "getbucketrequestpayment",
    "getbuckets",
    "getbucketversioning",
    "getbucketwebsite",
    "getcertificates",
    "getcompliancedetailsbyconfigrule",
    "getcontainerservices",
    "getdatabases",
    "getdatacatalog",
    "getdeploymentstrategy",
    "getdetector",
    "getdetectors",
    "getdiscoveredresourcecounts",
    "getdomainnames",
    "getebsencryptionbydefault",
    "getenabledstandards",
    "getencryptionconfig",
    "getenrollmentstatus",
    "getentitytypes",
    "getenvironmentstatus",
    "geteventtypes",
    "getexternalmodels",
    "getfindings",
    "getfunction20150331v2",
    "getfunctionurlconfig",
    "getimageblockpublicaccessstate",
    "getinsightselectors",
    "getinstancemetadatadefaults",
    "getinvitationscount",
    "getkeypolicy",
    "getlifecyclepolicies",
    "getmaciesession",
    "getmalwarescansettings",
    "getmanagedprefixlistentries",
    "getmasteraccount",
    "getmetricdata",
    "getmetricstatistics",
    "getoutcomes",
    "getparameter",
    "getpolicy20150331",
    "getrdsdatabaserecommendations",
    "getrecommendationsummaries",
    "getregistrypolicy",
    "getregistryscanningconfiguration",
    "getrelationaldatabases",
    "getresolverrule",
    "getresourcepolicy",
    "getresources",
    "getresourceshares",
    "getsecretvalue",
    "getservicequota",
    "getservicesetting",
    "getsnapshotblockpublicaccessstate",
    "getstackpolicy",
    "getstaticips",
    "gettemplate",
    "gettemplatesummary",
    "gettopicattributes",
    "gettrailstatus",
    "getvariables",
    "getvpclinks",
    "getworkgroup",
    "keysperaccount",
    "listaccesspoints",
    "listagents",
    "listalarmmodels",
    "listaliases",
    "listaliases",
    "listanalyzers",
    "listapidestinations",
    "listapplications",
    "listapplications",
    "listapplications",
    "listapplications",
    "listapplications",
    "listapplications",
    "listarchiverules",
    "listarchives",
    "listassetmodels",
    "listassociations",
    "listattributegroups",
    "listbackupplans",
    "listbots",
    "listbridges",
    "listbuckets",
    "listcacertificates",
    "listcallanalyticsjobs",
    "listcertificateauthorities",
    "listcertificates",
    "listcertificates",
    "listcertificates",
    "listchangesets",
    "listchannels",
    "listclusters",
    "listclusters",
    "listclusters",
    "listclusters",
    "listcoderepositories",
    "listcodesigningconfigs",
    "listcollaborations",
    "listcomponents",
    "listcomponents",
    "listconfigs",
    "listconfigurationrecorders",
    "listconfigurationsets",
    "listconnectordefinitions",
    "listcontactlists",
    "listcontainerrecipes",
    "listcontainers",
    "listcustommetrics",
    "listdatacatalogs",
    "listdatasets",
    "listdatasets",
    "listdatasets",
    "listdatastores",
    "listdeploymentstrategies",
    "listdetectormodels",
    "listdetectors",
    "listdevicedefinitions",
    "listdimensions",
    "listdiscoveredresources",
    "listdistributionconfigurations",
    "listdocumentclassifiers",
    "listdocuments",
    "listdomains",
    "listdomains",
    "listdomains",
    "listdominantlanguagedetectionjobs",
    "listemailidentities",
    "listemailtemplates",
    "listenabledproductsforimport",
    "listendpointconfigs",
    "listendpoints",
    "listendpoints",
    "listentitiesdetectionjobs",
    "listentityrecognizers",
    "listeventbuses",
    "listeventintegrations",
    "listeventsdetectionjobs",
    "listextensionassociations",
    "listfeaturegroups",
    "listfilters",
    "listfirewalldomainlists",
    "listfirewallpolicies",
    "listfirewalls",
    "listfleetmetrics",
    "listflows",
    "listflows",
    "listflywheels",
    "listfunctiondefinitions",
    "listfunctions20150331",
    "listfunctionurlconfigs",
    "listfuotatasks",
    "listgameservergroups",
    "listgateways",
    "listgateways",
    "listgrants",
    "listgraphs",
    "listgraphs",
    "listgraphsnapshots",
    "listgroups",
    "listgroups",
    "listimagerecipes",
    "listimages",
    "listimages",
    "listinferenceexperiments",
    "listinfrastructureconfigurations",
    "listinputs",
    "listinstances",
    "listinvitations",
    "listkeyphrasesdetectionjobs",
    "listkeyrotations",
    "listkeys",
    "listlanguagemodels",
    "listlayers20181031",
    "listledgers",
    "listlocations",
    "listloggerdefinitions",
    "listloggingconfigurations",
    "listmaps",
    "listmedicalscribejobs",
    "listmedicaltranscriptionjobs",
    "listmedicalvocabularies",
    "listmembers",
    "listmembers",
    "listmetrics",
    "listmissionprofiles",
    "listmitigationactions",
    "listmulticastgroups",
    "listmultiregionaccesspoints",
    "listnotebookinstancelifecycleconfigs",
    "listnotificationhubs",
    "listnotificationrules",
    "listorganizations",
    "listparalleldata",
    "listphonenumbersv2",
    "listpiientitiesdetectionjobs",
    "listpipelines",
    "listpipelines",
    "listplaybackconfigurations",
    "listplaybackkeypairs",
    "listpolicies",
    "listportals",
    "listpreparedstatements",
    "listpresets",
    "listprofiles",
    "listprojects",
    "listprojects",
    "listprojects",
    "listpublishingdestinations",
    "listreceiptfilters",
    "listreceiptrulesets",
    "listrecipes",
    "listrecordingconfigurations",
    "listrecoverypointsbybackupvault",
    "listreportgroups",
    "listrepositories",
    "listrepositories",
    "listresolverendpoints",
    "listresolverquerylogconfigs",
    "listresourcedatasync",
    "listresourcedefinitions",
    "listresourcetags",
    "listrobotapplications",
    "listrolealiases",
    "listrules",
    "listrulesets",
    "listscheduledaudits",
    "listschedulegroups",
    "listschedules",
    "listschedules",
    "listschedulingpolicies",
    "listsecrets",
    "listsecurityconfigurations",
    "listsecurityconfigurations",
    "listsecurityconfigurations",
    "listsecurityprofiles",
    "listsentimentdetectionjobs",
    "listservers",
    "listserviceprofiles",
    "listservices",
    "listsignalingchannels",
    "listsimulationapplications",
    "listsites",
    "liststackresources",
    "liststacks",
    "liststacksets",
    "liststoragelensgroups",
    "liststreams",
    "listsubscriptions",
    "listsubscriptionsbytopic",
    "listtags",
    "listtagsforresource",
    "listtagsforresource",
    "listtagsforresource",
    "listtagsforresource",
    "listtagsforresource",
    "listtagsforresource",
    "listtagsforresource",
    "listtargetsbyrule",
    "listtasks",
    "listtemplates",
    "listterminologies",
    "listtexttranslationjobs",
    "listthings",
    "listthreatintelsets",
    "listtopicruledestinations",
    "listtopicsdetectionjobs",
    "listtrackers",
    "listtypes",
    "listuserpools",
    "listvaults",
    "listversionsbyfunction20150331",
    "listvirtualclusters",
    "listvocabularies",
    "listworkgroups",
    "listworkspaces",
    "listworkspaces",
    "listworkteams",
    "memcachednodespercluster",
    "nodesperregion",
    "numberofmessagespublishedperaccount",
    "parametergroup",
    "putevaluations",
    "putlogevents",
    "selectresourceconfig",
    "snapshotsperdaypercache",
    "stackinstanceoperations",
    "subnetspersubnetgroup",
    "user",
    "usergroup",
    "userpoolread",
    "usersperusergroup",

]


class CloudWatchAPIOperation(Enum):
    ACCOUNT_PROVISIONED_READ_CAPACITY_UNITS="AccountProvisionedReadCapacityUnits"
    ACCOUNT_PROVISIONED_WRITE_CAPACITY_UNITS="AccountProvisionedWriteCapacityUnits"
    CACHES_PER_REGION="CachesPerRegion"
    CHANNEL="Channel"
    CREATE_LOG_STREAM="CreateLogStream"
    DELETE_SESSION="DeleteSession"
    DESCRIBE_ACCESS_POINTS="DescribeAccessPoints"
    DESCRIBE_ACCOUNT_ATTRIBUTES="DescribeAccountAttributes"
    DESCRIBE_ACCOUNT_ATTRIBUTES="DescribeAccountAttributes"
    DESCRIBE_ACCOUNT_LIMITS="DescribeAccountLimits"
    DESCRIBE_ACCOUNT_LIMITS="DescribeAccountLimits"
    DESCRIBE_ACTIVE_RECEIPT_RULE_SET="DescribeActiveReceiptRuleSet"
    DESCRIBE_AC_LS="DescribeACLs"
    DESCRIBE_ADDRESSES="DescribeAddresses"
    DESCRIBE_ADDRESSES_ATTRIBUTE="DescribeAddressesAttribute"
    DESCRIBE_ALARMS="DescribeAlarms"
    DESCRIBE_APPLICATIONS="DescribeApplications"
    DESCRIBE_APPLICATION_VERSIONS="DescribeApplicationVersions"
    DESCRIBE_AUTO_SCALING_GROUPS="DescribeAutoScalingGroups"
    DESCRIBE_AUTO_SCALING_INSTANCES="DescribeAutoScalingInstances"
    DESCRIBE_BACKUP_VAULT="DescribeBackupVault"
    DESCRIBE_BLUE_GREEN_DEPLOYMENTS="DescribeBlueGreenDeployments"
    DESCRIBE_BYOIP_CIDRS="DescribeByoipCidrs"
    DESCRIBE_CACHE_PARAMETER_GROUPS="DescribeCacheParameterGroups"
    DESCRIBE_CACHE_SUBNET_GROUPS="DescribeCacheSubnetGroups"
    DESCRIBE_CAPACITY_RESERVATIONS="DescribeCapacityReservations"
    DESCRIBE_CAPACITY_RESERVATION_FLEETS="DescribeCapacityReservationFleets"
    DESCRIBE_CARRIER_GATEWAYS="DescribeCarrierGateways"
    DESCRIBE_CLIENT_VPN_ENDPOINTS="DescribeClientVpnEndpoints"
    DESCRIBE_CLUSTERS="DescribeClusters"
    DESCRIBE_CLUSTERS="DescribeClusters"
    DESCRIBE_CLUSTERS="DescribeClusters"
    DESCRIBE_CLUSTER_SECURITY_GROUPS="DescribeClusterSecurityGroups"
    DESCRIBE_CLUSTER_SNAPSHOTS="DescribeClusterSnapshots"
    DESCRIBE_CLUSTER_SUBNET_GROUPS="DescribeClusterSubnetGroups"
    DESCRIBE_COIP_POOLS="DescribeCoipPools"
    DESCRIBE_COMPLIANCE_BY_CONFIG_RULE="DescribeComplianceByConfigRule"
    DESCRIBE_COMPLIANCE_BY_RESOURCE="DescribeComplianceByResource"
    DESCRIBE_COMPUTE_ENVIRONMENTS="DescribeComputeEnvironments"
    DESCRIBE_CONFIGURATION_RECORDERS="DescribeConfigurationRecorders"
    DESCRIBE_CONFIGURATION_RECORDER_STATUS="DescribeConfigurationRecorderStatus"
    DESCRIBE_CONFIG_RULES="DescribeConfigRules"
    DESCRIBE_CONFIG_RULE_EVALUATION_STATUS="DescribeConfigRuleEvaluationStatus"
    DESCRIBE_CUSTOM_KEY_STORES="DescribeCustomKeyStores"
    DESCRIBE_DB_CLUSTERS="DescribeDBClusters"
    DESCRIBE_DB_CLUSTER_ENDPOINTS="DescribeDBClusterEndpoints"
    DESCRIBE_DB_CLUSTER_PARAMETER_GROUPS="DescribeDBClusterParameterGroups"
    DESCRIBE_DB_CLUSTER_SNAPSHOTS="DescribeDBClusterSnapshots"
    DESCRIBE_DB_INSTANCES="DescribeDBInstances"
    DESCRIBE_DB_INSTANCE_AUTOMATED_BACKUPS="DescribeDBInstanceAutomatedBackups"
    DESCRIBE_DB_RECOMMENDATIONS="DescribeDBRecommendations"
    DESCRIBE_DB_SECURITY_GROUPS="DescribeDBSecurityGroups"
    DESCRIBE_DB_SNAPSHOTS="DescribeDBSnapshots"
    DESCRIBE_DB_SUBNET_GROUPS="DescribeDBSubnetGroups"
    DESCRIBE_DESTINATIONS="DescribeDestinations"
    DESCRIBE_DHCP_OPTIONS="DescribeDhcpOptions"
    DESCRIBE_DIRECTORIES="DescribeDirectories"
    DESCRIBE_DOCUMENT="DescribeDocument"
    DESCRIBE_DOCUMENT_PERMISSION="DescribeDocumentPermission"
    DESCRIBE_EGRESS_ONLY_INTERNET_GATEWAYS="DescribeEgressOnlyInternetGateways"
    DESCRIBE_ENDPOINT_AUTHORIZATION="DescribeEndpointAuthorization"
    DESCRIBE_ENVIRONMENTS="DescribeEnvironments"
    DESCRIBE_EVENTS="DescribeEvents"
    DESCRIBE_EVENT_BUS="DescribeEventBus"
    DESCRIBE_EVENT_SUBSCRIPTIONS="DescribeEventSubscriptions"
    DESCRIBE_EVENT_SUBSCRIPTIONS="DescribeEventSubscriptions"
    DESCRIBE_EVENT_SUBSCRIPTIONS="DescribeEventSubscriptions"
    DESCRIBE_FLEETS="DescribeFleets"
    DESCRIBE_FLEETS="DescribeFleets"
    DESCRIBE_FLEET_ATTRIBUTES="DescribeFleetAttributes"
    DESCRIBE_FLOW_LOGS="DescribeFlowLogs"
    DESCRIBE_FPGA_IMAGES="DescribeFpgaImages"
    DESCRIBE_GAME_SESSION_QUEUES="DescribeGameSessionQueues"
    DESCRIBE_GLOBAL_CLUSTERS="DescribeGlobalClusters"
    DESCRIBE_HOST_RESERVATIONS="DescribeHostReservations"
    DESCRIBE_IMAGES="DescribeImages"
    DESCRIBE_IMAGE_BUILDERS="DescribeImageBuilders"
    DESCRIBE_INSIGHT_RULES="DescribeInsightRules"
    DESCRIBE_INSTANCES="DescribeInstances"
    DESCRIBE_INSTANCE_CONNECT_ENDPOINTS="DescribeInstanceConnectEndpoints"
    DESCRIBE_INSTANCE_INFORMATION="DescribeInstanceInformation"
    DESCRIBE_INSTANCE_STATUS="DescribeInstanceStatus"
    DESCRIBE_INSTANCE_TYPES="DescribeInstanceTypes"
    DESCRIBE_INTERNET_GATEWAYS="DescribeInternetGateways"
    DESCRIBE_IPAMS="DescribeIpams"
    DESCRIBE_IPAM_POOLS="DescribeIpamPools"
    DESCRIBE_IPAM_RESOURCE_DISCOVERIES="DescribeIpamResourceDiscoveries"
    DESCRIBE_IPAM_RESOURCE_DISCOVERY_ASSOCIATIONS="DescribeIpamResourceDiscoveryAssociations"
    DESCRIBE_IPAM_SCOPES="DescribeIpamScopes"
    DESCRIBE_JOB_DEFINITIONS="DescribeJobDefinitions"
    DESCRIBE_JOB_QUEUES="DescribeJobQueues"
    DESCRIBE_KEY="DescribeKey"
    DESCRIBE_LAUNCH_CONFIGURATIONS="DescribeLaunchConfigurations"
    DESCRIBE_LAUNCH_TEMPLATE_VERSIONS="DescribeLaunchTemplateVersions"
    DESCRIBE_LIMITS="DescribeLimits"
    DESCRIBE_LOCAL_GATEWAY_ROUTE_TABLES="DescribeLocalGatewayRouteTables"
    DESCRIBE_LOG_GROUPS="DescribeLogGroups"
    DESCRIBE_LOG_STREAMS="DescribeLogStreams"
    DESCRIBE_MAINTENANCE_WINDOWS="DescribeMaintenanceWindows"
    DESCRIBE_MATCHMAKING_CONFIGURATIONS="DescribeMatchmakingConfigurations"
    DESCRIBE_METRIC_FILTERS="DescribeMetricFilters"
    DESCRIBE_NAT_GATEWAYS="DescribeNatGateways"
    DESCRIBE_NETWORK_INSIGHTS_ACCESS_SCOPES="DescribeNetworkInsightsAccessScopes"
    DESCRIBE_NETWORK_INSIGHTS_ACCESS_SCOPE_ANALYSES="DescribeNetworkInsightsAccessScopeAnalyses"
    DESCRIBE_NETWORK_INSIGHTS_ANALYSES="DescribeNetworkInsightsAnalyses"
    DESCRIBE_NETWORK_INSIGHTS_PATHS="DescribeNetworkInsightsPaths"
    DESCRIBE_NETWORK_INTERFACES="DescribeNetworkInterfaces"
    DESCRIBE_OPTION_GROUPS="DescribeOptionGroups"
    DESCRIBE_ORGANIZATIONS_ACCESS="DescribeOrganizationsAccess"
    DESCRIBE_PARAMETERS="DescribeParameters"
    DESCRIBE_PARAMETER_GROUPS="DescribeParameterGroups"
    DESCRIBE_PENDING_AGGREGATION_REQUESTS="DescribePendingAggregationRequests"
    DESCRIBE_PENDING_MAINTENANCE_ACTIONS="DescribePendingMaintenanceActions"
    DESCRIBE_PLACEMENT_GROUPS="DescribePlacementGroups"
    DESCRIBE_REGIONS="DescribeRegions"
    DESCRIBE_REGISTRY="DescribeRegistry"
    DESCRIBE_REMEDIATION_CONFIGURATIONS="DescribeRemediationConfigurations"
    DESCRIBE_REPLICATION_GROUPS="DescribeReplicationGroups"
    DESCRIBE_REPLICATION_INSTANCES="DescribeReplicationInstances"
    DESCRIBE_REPLICATION_SUBNET_GROUPS="DescribeReplicationSubnetGroups"
    DESCRIBE_REPOSITORIES="DescribeRepositories"
    DESCRIBE_RESERVED_CACHE_NODES="DescribeReservedCacheNodes"
    DESCRIBE_RESERVED_DB_INSTANCES="DescribeReservedDBInstances"
    DESCRIBE_RESERVED_INSTANCES="DescribeReservedInstances"
    DESCRIBE_RESERVED_INSTANCES_MODIFICATIONS="DescribeReservedInstancesModifications"
    DESCRIBE_RESERVED_NODES="DescribeReservedNodes"
    DESCRIBE_RESOURCE_POLICIES="DescribeResourcePolicies"
    DESCRIBE_SCALABLE_TARGETS="DescribeScalableTargets"
    DESCRIBE_SCALING_POLICIES="DescribeScalingPolicies"
    DESCRIBE_SECRET="DescribeSecret"
    DESCRIBE_SECURITY_GROUPS="DescribeSecurityGroups"
    DESCRIBE_SECURITY_GROUP_RULES="DescribeSecurityGroupRules"
    DESCRIBE_SERVERLESS_CACHES="DescribeServerlessCaches"
    DESCRIBE_SNAPSHOTS="DescribeSnapshots"
    DESCRIBE_SNAPSHOTS="DescribeSnapshots"
    DESCRIBE_SNAPSHOTS="DescribeSnapshots"
    DESCRIBE_SNAPSHOT_SCHEDULES="DescribeSnapshotSchedules"
    DESCRIBE_SPOT_FLEET_REQUESTS="DescribeSpotFleetRequests"
    DESCRIBE_SPOT_INSTANCE_REQUESTS="DescribeSpotInstanceRequests"
    DESCRIBE_SSL_POLICIES="DescribeSSLPolicies"
    DESCRIBE_STACKS="DescribeStacks"
    DESCRIBE_STACKS="DescribeStacks"
    DESCRIBE_STANDARDS_CONTROLS="DescribeStandardsControls"
    DESCRIBE_SUBNETS="DescribeSubnets"
    DESCRIBE_SUBNET_GROUPS="DescribeSubnetGroups"
    DESCRIBE_SUBSCRIPTION_FILTERS="DescribeSubscriptionFilters"
    DESCRIBE_TAGS="DescribeTags"
    DESCRIBE_TAGS="DescribeTags"
    DESCRIBE_TARGET_GROUPS="DescribeTargetGroups"
    DESCRIBE_TENANT_DATABASES="DescribeTenantDatabases"
    DESCRIBE_TRAFFIC_MIRROR_TARGETS="DescribeTrafficMirrorTargets"
    DESCRIBE_TRAILS="DescribeTrails"
    DESCRIBE_TRANSIT_GATEWAYS="DescribeTransitGateways"
    DESCRIBE_TRANSIT_GATEWAY_ATTACHMENTS="DescribeTransitGatewayAttachments"
    DESCRIBE_TRANSIT_GATEWAY_CONNECTS="DescribeTransitGatewayConnects"
    DESCRIBE_TRANSIT_GATEWAY_CONNECT_PEERS="DescribeTransitGatewayConnectPeers"
    DESCRIBE_TRANSIT_GATEWAY_ROUTE_TABLES="DescribeTransitGatewayRouteTables"
    DESCRIBE_TRANSIT_GATEWAY_ROUTE_TABLE_ANNOUNCEMENTS="DescribeTransitGatewayRouteTableAnnouncements"
    DESCRIBE_TRANSIT_GATEWAY_VPC_ATTACHMENTS="DescribeTransitGatewayVpcAttachments"
    DESCRIBE_USAGE_LIMITS="DescribeUsageLimits"
    DESCRIBE_USERS="DescribeUsers"
    DESCRIBE_USERS="DescribeUsers"
    DESCRIBE_VERIFIED_ACCESS_GROUPS="DescribeVerifiedAccessGroups"
    DESCRIBE_VERIFIED_ACCESS_TRUST_PROVIDERS="DescribeVerifiedAccessTrustProviders"
    DESCRIBE_VPCS="DescribeVpcs"
    DESCRIBE_VPC_BLOCK_PUBLIC_ACCESS_EXCLUSIONS="DescribeVpcBlockPublicAccessExclusions"
    DESCRIBE_VPC_BLOCK_PUBLIC_ACCESS_OPTIONS="DescribeVpcBlockPublicAccessOptions"
    DESCRIBE_VPC_ENDPOINTS="DescribeVpcEndpoints"
    DESCRIBE_VPC_ENDPOINT_CONNECTION_NOTIFICATIONS="DescribeVpcEndpointConnectionNotifications"
    DESCRIBE_VPC_ENDPOINT_SERVICES="DescribeVpcEndpointServices"
    DESCRIBE_VPC_ENDPOINT_SERVICE_CONFIGURATIONS="DescribeVpcEndpointServiceConfigurations"
    DESCRIBE_VPN_CONNECTIONS="DescribeVpnConnections"
    DESCRIBE_VPN_GATEWAYS="DescribeVpnGateways"
    DESCRIBE_WORKSPACES="DescribeWorkspaces"
    EXPORT_AUTO_SCALING_GROUP_RECOMMENDATIONS="ExportAutoScalingGroupRecommendations"
    EXPORT_EBS_VOLUME_RECOMMENDATIONS="ExportEBSVolumeRecommendations"
    EXPORT_EC2_INSTANCE_RECOMMENDATIONS="ExportEC2InstanceRecommendations"
    EXPORT_ECS_SERVICE_RECOMMENDATIONS="ExportECSServiceRecommendations"
    EXPORT_LAMBDA_FUNCTION_RECOMMENDATIONS="ExportLambdaFunctionRecommendations"
    EXPORT_LICENSE_RECOMMENDATIONS="ExportLicenseRecommendations"
    EXPORT_RDS_DATABASE_RECOMMENDATIONS="ExportRDSDatabaseRecommendations"
    GET_ACCOUNT="GetAccount"
    GET_ACCOUNT_SETTING="GetAccountSetting"
    GET_ACCOUNT_SETTINGS20160819="GetAccountSettings20160819"
    GET_ACCOUNT_SETTINGS="GetAccountSettings"
    GET_ACCOUNT_STATUS="GetAccountStatus"
    GET_ADMINISTRATOR_ACCOUNT="GetAdministratorAccount"
    GET_ALLOWED_IMAGES_SETTINGS="GetAllowedImagesSettings"
    GET_APIS="GetApis"
    GET_APPS="GetApps"
    GET_BACKUP_VAULT_ACCESS_POLICY="GetBackupVaultAccessPolicy"
    GET_BLOCK_PUBLIC_ACCESS_CONFIGURATION="GetBlockPublicAccessConfiguration"
    GET_BLOCK_PUBLIC_ACCESS_CONFIGURATION="GetBlockPublicAccessConfiguration"
    GET_BLOCK_PUBLIC_ACCESS_CONFIGURATION="GetBlockPublicAccessConfiguration"
    GET_BLUEPRINTS="GetBlueprints"
    GET_BUCKETS="GetBuckets"
    GET_BUCKET_ACL="GetBucketAcl"
    GET_BUCKET_CORS="GetBucketCors"
    GET_BUCKET_ENCRYPTION="GetBucketEncryption"
    GET_BUCKET_INTELLIGENT_TIERING_CONFIGURATION="GetBucketIntelligentTieringConfiguration"
    GET_BUCKET_LIFECYCLE="GetBucketLifecycle"
    GET_BUCKET_LOCATION="GetBucketLocation"
    GET_BUCKET_LOGGING="GetBucketLogging"
    GET_BUCKET_METRICS_CONFIGURATION="GetBucketMetricsConfiguration"
    GET_BUCKET_NOTIFICATION="GetBucketNotification"
    GET_BUCKET_OBJECT_LOCK_CONFIGURATION="GetBucketObjectLockConfiguration"
    GET_BUCKET_OWNERSHIP_CONTROLS="GetBucketOwnershipControls"
    GET_BUCKET_REPLICATION="GetBucketReplication"
    GET_BUCKET_REQUEST_PAYMENT="GetBucketRequestPayment"
    GET_BUCKET_VERSIONING="GetBucketVersioning"
    GET_BUCKET_WEBSITE="GetBucketWebsite"
    GET_CERTIFICATES="GetCertificates"
    GET_COMPLIANCE_DETAILS_BY_CONFIG_RULE="GetComplianceDetailsByConfigRule"
    GET_CONTAINER_SERVICES="GetContainerServices"
    GET_DATABASES="GetDatabases"
    GET_DATA_CATALOG="GetDataCatalog"
    GET_DEPLOYMENT_STRATEGY="GetDeploymentStrategy"
    GET_DETECTOR="GetDetector"
    GET_DETECTORS="GetDetectors"
    GET_DISCOVERED_RESOURCE_COUNTS="GetDiscoveredResourceCounts"
    GET_DOMAIN_NAMES="GetDomainNames"
    GET_EBS_ENCRYPTION_BY_DEFAULT="GetEbsEncryptionByDefault"
    GET_ENABLED_STANDARDS="GetEnabledStandards"
    GET_ENCRYPTION_CONFIG="GetEncryptionConfig"
    GET_ENROLLMENT_STATUS="GetEnrollmentStatus"
    GET_ENTITY_TYPES="GetEntityTypes"
    GET_ENVIRONMENT_STATUS="GetEnvironmentStatus"
    GET_EVENT_TYPES="GetEventTypes"
    GET_EXTERNAL_MODELS="GetExternalModels"
    GET_FINDINGS="GetFindings"
    GET_FUNCTION20150331V2="GetFunction20150331v2"
    GET_FUNCTION_URL_CONFIG="GetFunctionUrlConfig"
    GET_IMAGE_BLOCK_PUBLIC_ACCESS_STATE="GetImageBlockPublicAccessState"
    GET_INSIGHT_SELECTORS="GetInsightSelectors"
    GET_INSTANCE_METADATA_DEFAULTS="GetInstanceMetadataDefaults"
    GET_INVITATIONS_COUNT="GetInvitationsCount"
    GET_KEY_POLICY="GetKeyPolicy"
    GET_LIFECYCLE_POLICIES="GetLifecyclePolicies"
    GET_MACIE_SESSION="GetMacieSession"
    GET_MALWARE_SCAN_SETTINGS="GetMalwareScanSettings"
    GET_MANAGED_PREFIX_LIST_ENTRIES="GetManagedPrefixListEntries"
    GET_MASTER_ACCOUNT="GetMasterAccount"
    GET_METRIC_DATA="GetMetricData"
    GET_METRIC_STATISTICS="GetMetricStatistics"
    GET_OUTCOMES="GetOutcomes"
    GET_PARAMETER="GetParameter"
    GET_POLICY20150331="GetPolicy20150331"
    GET_RDS_DATABASE_RECOMMENDATIONS="GetRDSDatabaseRecommendations"
    GET_RECOMMENDATION_SUMMARIES="GetRecommendationSummaries"
    GET_REGISTRY_POLICY="GetRegistryPolicy"
    GET_REGISTRY_SCANNING_CONFIGURATION="GetRegistryScanningConfiguration"
    GET_RELATIONAL_DATABASES="GetRelationalDatabases"
    GET_RESOLVER_RULE="GetResolverRule"
    GET_RESOURCES="GetResources"
    GET_RESOURCE_POLICY="GetResourcePolicy"
    GET_RESOURCE_SHARES="GetResourceShares"
    GET_SECRET_VALUE="GetSecretValue"
    GET_SERVICE_QUOTA="GetServiceQuota"
    GET_SERVICE_SETTING="GetServiceSetting"
    GET_SNAPSHOT_BLOCK_PUBLIC_ACCESS_STATE="GetSnapshotBlockPublicAccessState"
    GET_STACK_POLICY="GetStackPolicy"
    GET_STATIC_IPS="GetStaticIps"
    GET_TEMPLATE="GetTemplate"
    GET_TEMPLATE_SUMMARY="GetTemplateSummary"
    GET_TOPIC_ATTRIBUTES="GetTopicAttributes"
    GET_TRAIL_STATUS="GetTrailStatus"
    GET_VARIABLES="GetVariables"
    GET_VPC_LINKS="GetVpcLinks"
    GET_WORK_GROUP="GetWorkGroup"
    KEYS_PER_ACCOUNT="KeysPerAccount"
    LIST_ACCESS_POINTS="ListAccessPoints"
    LIST_AGENTS="ListAgents"
    LIST_ALARM_MODELS="ListAlarmModels"
    LIST_ALIASES="ListAliases"
    LIST_ALIASES="ListAliases"
    LIST_ANALYZERS="ListAnalyzers"
    LIST_API_DESTINATIONS="ListApiDestinations"
    LIST_APPLICATIONS="ListApplications"
    LIST_APPLICATIONS="ListApplications"
    LIST_APPLICATIONS="ListApplications"
    LIST_APPLICATIONS="ListApplications"
    LIST_APPLICATIONS="ListApplications"
    LIST_APPLICATIONS="ListApplications"
    LIST_ARCHIVES="ListArchives"
    LIST_ARCHIVE_RULES="ListArchiveRules"
    LIST_ASSET_MODELS="ListAssetModels"
    LIST_ASSOCIATIONS="ListAssociations"
    LIST_ATTRIBUTE_GROUPS="ListAttributeGroups"
    LIST_BACKUP_PLANS="ListBackupPlans"
    LIST_BOTS="ListBots"
    LIST_BRIDGES="ListBridges"
    LIST_BUCKETS="ListBuckets"
    LIST_CALL_ANALYTICS_JOBS="ListCallAnalyticsJobs"
    LIST_CA_CERTIFICATES="ListCACertificates"
    LIST_CERTIFICATES="ListCertificates"
    LIST_CERTIFICATES="ListCertificates"
    LIST_CERTIFICATES="ListCertificates"
    LIST_CERTIFICATE_AUTHORITIES="ListCertificateAuthorities"
    LIST_CHANGE_SETS="ListChangeSets"
    LIST_CHANNELS="ListChannels"
    LIST_CLUSTERS="ListClusters"
    LIST_CLUSTERS="ListClusters"
    LIST_CLUSTERS="ListClusters"
    LIST_CLUSTERS="ListClusters"
    LIST_CODE_REPOSITORIES="ListCodeRepositories"
    LIST_CODE_SIGNING_CONFIGS="ListCodeSigningConfigs"
    LIST_COLLABORATIONS="ListCollaborations"
    LIST_COMPONENTS="ListComponents"
    LIST_COMPONENTS="ListComponents"
    LIST_CONFIGS="ListConfigs"
    LIST_CONFIGURATION_RECORDERS="ListConfigurationRecorders"
    LIST_CONFIGURATION_SETS="ListConfigurationSets"
    LIST_CONNECTOR_DEFINITIONS="ListConnectorDefinitions"
    LIST_CONTACT_LISTS="ListContactLists"
    LIST_CONTAINERS="ListContainers"
    LIST_CONTAINER_RECIPES="ListContainerRecipes"
    LIST_CUSTOM_METRICS="ListCustomMetrics"
    LIST_DATASETS="ListDatasets"
    LIST_DATASETS="ListDatasets"
    LIST_DATASTORES="ListDatastores"
    LIST_DATA_CATALOGS="ListDataCatalogs"
    LIST_DATA_SETS="ListDataSets"
    LIST_DEPLOYMENT_STRATEGIES="ListDeploymentStrategies"
    LIST_DETECTORS="ListDetectors"
    LIST_DETECTOR_MODELS="ListDetectorModels"
    LIST_DEVICE_DEFINITIONS="ListDeviceDefinitions"
    LIST_DIMENSIONS="ListDimensions"
    LIST_DISCOVERED_RESOURCES="ListDiscoveredResources"
    LIST_DISTRIBUTION_CONFIGURATIONS="ListDistributionConfigurations"
    LIST_DOCUMENTS="ListDocuments"
    LIST_DOCUMENT_CLASSIFIERS="ListDocumentClassifiers"
    LIST_DOMAINS="ListDomains"
    LIST_DOMAINS="ListDomains"
    LIST_DOMAINS="ListDomains"
    LIST_DOMINANT_LANGUAGE_DETECTION_JOBS="ListDominantLanguageDetectionJobs"
    LIST_EMAIL_IDENTITIES="ListEmailIdentities"
    LIST_EMAIL_TEMPLATES="ListEmailTemplates"
    LIST_ENABLED_PRODUCTS_FOR_IMPORT="ListEnabledProductsForImport"
    LIST_ENDPOINTS="ListEndpoints"
    LIST_ENDPOINTS="ListEndpoints"
    LIST_ENDPOINT_CONFIGS="ListEndpointConfigs"
    LIST_ENTITIES_DETECTION_JOBS="ListEntitiesDetectionJobs"
    LIST_ENTITY_RECOGNIZERS="ListEntityRecognizers"
    LIST_EVENTS_DETECTION_JOBS="ListEventsDetectionJobs"
    LIST_EVENT_BUSES="ListEventBuses"
    LIST_EVENT_INTEGRATIONS="ListEventIntegrations"
    LIST_EXTENSION_ASSOCIATIONS="ListExtensionAssociations"
    LIST_FEATURE_GROUPS="ListFeatureGroups"
    LIST_FILTERS="ListFilters"
    LIST_FIREWALLS="ListFirewalls"
    LIST_FIREWALL_DOMAIN_LISTS="ListFirewallDomainLists"
    LIST_FIREWALL_POLICIES="ListFirewallPolicies"
    LIST_FLEET_METRICS="ListFleetMetrics"
    LIST_FLOWS="ListFlows"
    LIST_FLOWS="ListFlows"
    LIST_FLYWHEELS="ListFlywheels"
    LIST_FUNCTIONS20150331="ListFunctions20150331"
    LIST_FUNCTION_DEFINITIONS="ListFunctionDefinitions"
    LIST_FUNCTION_URL_CONFIGS="ListFunctionUrlConfigs"
    LIST_FUOTA_TASKS="ListFuotaTasks"
    LIST_GAME_SERVER_GROUPS="ListGameServerGroups"
    LIST_GATEWAYS="ListGateways"
    LIST_GATEWAYS="ListGateways"
    LIST_GRANTS="ListGrants"
    LIST_GRAPHS="ListGraphs"
    LIST_GRAPHS="ListGraphs"
    LIST_GRAPH_SNAPSHOTS="ListGraphSnapshots"
    LIST_GROUPS="ListGroups"
    LIST_GROUPS="ListGroups"
    LIST_IMAGES="ListImages"
    LIST_IMAGES="ListImages"
    LIST_IMAGE_RECIPES="ListImageRecipes"
    LIST_INFERENCE_EXPERIMENTS="ListInferenceExperiments"
    LIST_INFRASTRUCTURE_CONFIGURATIONS="ListInfrastructureConfigurations"
    LIST_INPUTS="ListInputs"
    LIST_INSTANCES="ListInstances"
    LIST_INVITATIONS="ListInvitations"
    LIST_KEYS="ListKeys"
    LIST_KEY_PHRASES_DETECTION_JOBS="ListKeyPhrasesDetectionJobs"
    LIST_KEY_ROTATIONS="ListKeyRotations"
    LIST_LANGUAGE_MODELS="ListLanguageModels"
    LIST_LAYERS20181031="ListLayers20181031"
    LIST_LEDGERS="ListLedgers"
    LIST_LOCATIONS="ListLocations"
    LIST_LOGGER_DEFINITIONS="ListLoggerDefinitions"
    LIST_LOGGING_CONFIGURATIONS="ListLoggingConfigurations"
    LIST_MAPS="ListMaps"
    LIST_MEDICAL_SCRIBE_JOBS="ListMedicalScribeJobs"
    LIST_MEDICAL_TRANSCRIPTION_JOBS="ListMedicalTranscriptionJobs"
    LIST_MEDICAL_VOCABULARIES="ListMedicalVocabularies"
    LIST_MEMBERS="ListMembers"
    LIST_MEMBERS="ListMembers"
    LIST_METRICS="ListMetrics"
    LIST_MISSION_PROFILES="ListMissionProfiles"
    LIST_MITIGATION_ACTIONS="ListMitigationActions"
    LIST_MULTICAST_GROUPS="ListMulticastGroups"
    LIST_MULTI_REGION_ACCESS_POINTS="ListMultiRegionAccessPoints"
    LIST_NOTEBOOK_INSTANCE_LIFECYCLE_CONFIGS="ListNotebookInstanceLifecycleConfigs"
    LIST_NOTIFICATION_HUBS="ListNotificationHubs"
    LIST_NOTIFICATION_RULES="ListNotificationRules"
    LIST_ORGANIZATIONS="ListOrganizations"
    LIST_PARALLEL_DATA="ListParallelData"
    LIST_PHONE_NUMBERS_V2="ListPhoneNumbersV2"
    LIST_PII_ENTITIES_DETECTION_JOBS="ListPiiEntitiesDetectionJobs"
    LIST_PIPELINES="ListPipelines"
    LIST_PIPELINES="ListPipelines"
    LIST_PLAYBACK_CONFIGURATIONS="ListPlaybackConfigurations"
    LIST_PLAYBACK_KEY_PAIRS="ListPlaybackKeyPairs"
    LIST_POLICIES="ListPolicies"
    LIST_PORTALS="ListPortals"
    LIST_PREPARED_STATEMENTS="ListPreparedStatements"
    LIST_PRESETS="ListPresets"
    LIST_PROFILES="ListProfiles"
    LIST_PROJECTS="ListProjects"
    LIST_PROJECTS="ListProjects"
    LIST_PROJECTS="ListProjects"
    LIST_PUBLISHING_DESTINATIONS="ListPublishingDestinations"
    LIST_RECEIPT_FILTERS="ListReceiptFilters"
    LIST_RECEIPT_RULE_SETS="ListReceiptRuleSets"
    LIST_RECIPES="ListRecipes"
    LIST_RECORDING_CONFIGURATIONS="ListRecordingConfigurations"
    LIST_RECOVERY_POINTS_BY_BACKUP_VAULT="ListRecoveryPointsByBackupVault"
    LIST_REPORT_GROUPS="ListReportGroups"
    LIST_REPOSITORIES="ListRepositories"
    LIST_REPOSITORIES="ListRepositories"
    LIST_RESOLVER_ENDPOINTS="ListResolverEndpoints"
    LIST_RESOLVER_QUERY_LOG_CONFIGS="ListResolverQueryLogConfigs"
    LIST_RESOURCE_DATA_SYNC="ListResourceDataSync"
    LIST_RESOURCE_DEFINITIONS="ListResourceDefinitions"
    LIST_RESOURCE_TAGS="ListResourceTags"
    LIST_ROBOT_APPLICATIONS="ListRobotApplications"
    LIST_ROLE_ALIASES="ListRoleAliases"
    LIST_RULES="ListRules"
    LIST_RULESETS="ListRulesets"
    LIST_SCHEDULED_AUDITS="ListScheduledAudits"
    LIST_SCHEDULES="ListSchedules"
    LIST_SCHEDULES="ListSchedules"
    LIST_SCHEDULE_GROUPS="ListScheduleGroups"
    LIST_SCHEDULING_POLICIES="ListSchedulingPolicies"
    LIST_SECRETS="ListSecrets"
    LIST_SECURITY_CONFIGURATIONS="ListSecurityConfigurations"
    LIST_SECURITY_CONFIGURATIONS="ListSecurityConfigurations"
    LIST_SECURITY_CONFIGURATIONS="ListSecurityConfigurations"
    LIST_SECURITY_PROFILES="ListSecurityProfiles"
    LIST_SENTIMENT_DETECTION_JOBS="ListSentimentDetectionJobs"
    LIST_SERVERS="ListServers"
    LIST_SERVICES="ListServices"
    LIST_SERVICE_PROFILES="ListServiceProfiles"
    LIST_SIGNALING_CHANNELS="ListSignalingChannels"
    LIST_SIMULATION_APPLICATIONS="ListSimulationApplications"
    LIST_SITES="ListSites"
    LIST_STACKS="ListStacks"
    LIST_STACK_RESOURCES="ListStackResources"
    LIST_STACK_SETS="ListStackSets"
    LIST_STORAGE_LENS_GROUPS="ListStorageLensGroups"
    LIST_STREAMS="ListStreams"
    LIST_SUBSCRIPTIONS="ListSubscriptions"
    LIST_SUBSCRIPTIONS_BY_TOPIC="ListSubscriptionsByTopic"
    LIST_TAGS="ListTags"
    LIST_TAGS_FOR_RESOURCE="ListTagsForResource"
    LIST_TAGS_FOR_RESOURCE="ListTagsForResource"
    LIST_TAGS_FOR_RESOURCE="ListTagsForResource"
    LIST_TAGS_FOR_RESOURCE="ListTagsForResource"
    LIST_TAGS_FOR_RESOURCE="ListTagsForResource"
    LIST_TAGS_FOR_RESOURCE="ListTagsForResource"
    LIST_TAGS_FOR_RESOURCE="ListTagsForResource"
    LIST_TARGETS_BY_RULE="ListTargetsByRule"
    LIST_TASKS="ListTasks"
    LIST_TEMPLATES="ListTemplates"
    LIST_TERMINOLOGIES="ListTerminologies"
    LIST_TEXT_TRANSLATION_JOBS="ListTextTranslationJobs"
    LIST_THINGS="ListThings"
    LIST_THREAT_INTEL_SETS="ListThreatIntelSets"
    LIST_TOPICS_DETECTION_JOBS="ListTopicsDetectionJobs"
    LIST_TOPIC_RULE_DESTINATIONS="ListTopicRuleDestinations"
    LIST_TRACKERS="ListTrackers"
    LIST_TYPES="ListTypes"
    LIST_USER_POOLS="ListUserPools"
    LIST_VAULTS="ListVaults"
    LIST_VERSIONS_BY_FUNCTION20150331="ListVersionsByFunction20150331"
    LIST_VIRTUAL_CLUSTERS="ListVirtualClusters"
    LIST_VOCABULARIES="ListVocabularies"
    LIST_WORKSPACES="ListWorkspaces"
    LIST_WORKSPACES="ListWorkspaces"
    LIST_WORKTEAMS="ListWorkteams"
    LIST_WORK_GROUPS="ListWorkGroups"
    MEMCACHED_NODES_PER_CLUSTER="MemcachedNodesPerCluster"
    NODES_PER_REGION="NodesPerRegion"
    NUMBER_OF_MESSAGES_PUBLISHED_PER_ACCOUNT="NumberOfMessagesPublishedPerAccount"
    PARAMETER_GROUP="ParameterGroup"
    PUT_EVALUATIONS="PutEvaluations"
    PUT_LOG_EVENTS="PutLogEvents"
    SELECT_RESOURCE_CONFIG="SelectResourceConfig"
    SNAPSHOTS_PER_DAY_PER_CACHE="SnapshotsPerDayPerCache"
    STACK_INSTANCE_OPERATIONS="StackInstanceOperations"
    SUBNETS_PER_SUBNET_GROUP="SubnetsPerSubnetGroup"
    USER="User"
    USERS_PER_USER_GROUP="UsersPerUserGroup"
    USER_GROUP="UserGroup"
    USER_POOL_READ="UserPoolRead"


class CloudServiceAPIOpsMap:

    def __init__(self):
        self._api_ops_map: dict[
            CloudWatchAPIOperationName,
            CloudWatchAPIOperation
        ] = {
            service.name.lower().replace(
                '_',
                '-'
            ): service for service in CloudWatchAPIOperation
        }

        self._service_api_ops_map = {
            "DYNAMODB": [
                "accountprovisionedreadcapacityunits",
                "accountprovisionedwritecapacityunits"
            ],
            "ELASTICACHE": [
                "cachesperregion",
                "describecacheparametergroups",
                "describecachesubnetgroups",
                "describereplicationgroups",
                "describereservedcachenodes",
                "describeserverlesscaches",
                "describesnapshots",
                "describeusers",
                "memcachednodespercluster",
                "nodesperregion",
                "parametergroup",
                "snapshotsperdaypercache",
                "subnetspersubnetgroup",
                "user",
                "usergroup",
                "usersperusergroup"
            ],
            "CLOUDTRAIL": [
                "channel",
                "describetrails",
                "getinsightselectors",
                "gettrailstatus",
                "listchannels"
            ],
            "LOGS": [
                "createlogstream",
                "describedestinations",
                "describeloggroups",
                "describelogstreams",
                "describemetricfilters",
                "describeresourcepolicies",
                "describesubscriptionfilters",
                "putlogevents"
            ],
            "CLOUDSHELL": [
                "deletesession",
                "getenvironmentstatus"
            ],
            "EFS": [
                "describeaccesspoints"
            ],
            "EC2": [
                "describeaccountattributes",
                "describeaccountlimits",
                "describeaddresses",
                "describeaddressesattribute",
                "describeautoscalinggroups",
                "describeautoscalinginstances",
                "describebyoipcidrs",
                "describecapacityreservationfleets",
                "describecapacityreservations",
                "describecarriergateways",
                "describeclientvpnendpoints",
                "describecoippools",
                "describedhcpoptions",
                "describeegressonlyinternetgateways",
                "describefleets",
                "describeflowlogs",
                "describefpgaimages",
                "describehostreservations",
                "describeimages",
                "describeinstanceconnectendpoints",
                "describeinstances",
                "describeinstancestatus",
                "describeinstancetypes",
                "describeinternetgateways",
                "describeipampools",
                "describeipamresourcediscoveries",
                "describeipamresourcediscoveryassociations",
                "describeipams",
                "describeipamscopes",
                "describelaunchconfigurations",
                "describelaunchtemplateversions",
                "describelocalgatewayroutetables",
                "describenatgateways",
                "describenetworkinsightsaccessscopeanalyses",
                "describenetworkinsightsaccessscopes",
                "describenetworkinsightsanalyses",
                "describenetworkinsightspaths",
                "describenetworkinterfaces",
                "describeplacementgroups",
                "describeregions",
                "describereservedinstances",
                "describereservedinstancesmodifications",
                "describescalabletargets",
                "describescalingpolicies",
                "describesecuritygrouprules",
                "describesecuritygroups",
                "describesnapshots",
                "describespotfleetrequests",
                "describespotinstancerequests",
                "describesubnets",
                "describetags",
                "describetags",
                "describetrafficmirrortargets",
                "describetransitgatewayattachments",
                "describetransitgatewayconnectpeers",
                "describetransitgatewayconnects",
                "describetransitgatewayroutetableannouncements",
                "describetransitgatewayroutetables",
                "describetransitgateways",
                "describetransitgatewayvpcattachments",
                "describeverifiedaccessgroups",
                "describeverifiedaccesstrustproviders",
                "describevpcblockpublicaccessexclusions",
                "describevpcblockpublicaccessoptions",
                "describevpcendpointconnectionnotifications",
                "describevpcendpoints",
                "describevpcendpointserviceconfigurations",
                "describevpcendpointservices",
                "describevpcs",
                "describevpnconnections",
                "describevpngateways",
                "getallowedimagessettings",
                "getebsencryptionbydefault",
                "getimageblockpublicaccessstate",
                "getinstancemetadatadefaults",
                "getmanagedprefixlistentries",
                "getsnapshotblockpublicaccessstate"
            ],
            "RDS": [
                "describeaccountattributes",
                "describebluegreendeployments",
                "describedbclusterendpoints",
                "describedbclusterparametergroups",
                "describedbclusters",
                "describedbclustersnapshots",
                "describedbinstanceautomatedbackups",
                "describedbinstances",
                "describedbsecuritygroups",
                "describedbsnapshots",
                "describedbsubnetgroups",
                "describeeventsubscriptions",
                "describeglobalclusters",
                "describeoptiongroups",
                "describependingmaintenanceactions",
                "describereserveddbinstances"
            ],
            "CLOUDFORMATION": [
                "describeaccountlimits",
                "describeorganizationsaccess",
                "describestacks",
                "getstackpolicy",
                "gettemplate",
                "gettemplatesummary",
                "listchangesets",
                "liststackresources",
                "liststacks",
                "liststacksets",
                "listtypes",
                "stackinstanceoperations"
            ],
            "MEMORYDB": [
                "describeacls",
                "describeclusters",
                "describeparametergroups",
                "describesnapshots",
                "describesubnetgroups",
                "describeusers"
            ],
            "SES": [
                "describeactivereceiptruleset",
                "getaccount",
                "listconfigurationsets",
                "listcontactlists",
                "listemailidentities",
                "listemailtemplates",
                "listreceiptfilters",
                "listreceiptrulesets"
            ],
            "CLOUDWATCH": [
                "describealarms",
                "describeinsightrules",
                "getmetricdata",
                "getmetricstatistics",
                "listapplications",
                "listmetrics",
                "listtagsforresource"
            ],
            "ELASTIC": [
                "describeapplications",
                "describeapplicationversions",
                "describeenvironments",
                "describesslpolicies",
                "describetargetgroups"
            ],
            "BACKUP": [
                "describebackupvault",
                "getbackupvaultaccesspolicy",
                "listbackupplans",
                "listrecoverypointsbybackupvault",
                "listtags"
            ],
            "CLOUDHSM": [
                "describeclusters"
            ],
            "REDSHIFT": [
                "describeclusters",
                "describeclustersecuritygroups",
                "describeclustersnapshots",
                "describeclustersubnetgroups",
                "describeendpointaccess",
                "describeendpointauthorization",
                "describeeventsubscriptions",
                "describereservednodes",
                "describesnapshotschedules",
                "describeusagelimits"
            ],
            "AWS": [
                "describecompliancebyconfigrule",
                "describecompliancebyresource",
                "describeconfigruleevaluationstatus",
                "describeconfigrules",
                "describeconfigurationrecorders",
                "describeconfigurationrecorderstatus",
                "describependingaggregationrequests",
                "describeremediationconfigurations",
                "getcompliancedetailsbyconfigrule",
                "getdatabases",
                "getdeploymentstrategy",
                "getdiscoveredresourcecounts",
                "getresourcepolicy",
                "listapplications",
                "listconfigurationrecorders",
                "listdatastores",
                "listdeploymentstrategies",
                "listdiscoveredresources",
                "listdomains",
                "listextensionassociations",
                "listnotificationhubs",
                "listrepositories",
                "listtagsforresource",
                "putevaluations",
                "selectresourceconfig"
            ],
            "BATCH": [
                "describecomputeenvironments",
                "describejobdefinitions",
                "describejobqueues",
                "listschedulingpolicies"
            ],
            "KMS": [
                "describecustomkeystores",
                "describekey",
                "getkeypolicy",
                "keysperaccount",
                "listaliases",
                "listgrants",
                "listkeyrotations",
                "listkeys",
                "listresourcetags"
            ],
            "DIRECTORY": [
                "describedirectories"
            ],
            "SSM": [
                "describedocument",
                "describedocumentpermission",
                "describeinstanceinformation",
                "describemaintenancewindows",
                "describeparameters",
                "getparameter",
                "getservicesetting",
                "listassociations",
                "listdocuments",
                "listresourcedatasync"
            ],
            "EVENTBRIDGE": [
                "describeeventbus",
                "listapidestinations",
                "listarchives",
                "listendpoints",
                "listeventbuses",
                "listrules",
                "listtagsforresource",
                "listtargetsbyrule"
            ],
            "DATABASE": [
                "describeeventsubscriptions",
                "describereplicationinstances",
                "describereplicationsubnetgroups"
            ],
            "GAMELIFT": [
                "describefleetattributes",
                "describegamesessionqueues",
                "describematchmakingconfigurations",
                "listaliases",
                "listgameservergroups",
                "listlocations"
            ],
            "APPSTREAM": [
                "describefleets",
                "describeimagebuilders",
                "describestacks"
            ],
            "KINESIS": [
                "describelimits",
                "listapplications",
                "listsignalingchannels",
                "liststreams"
            ],
            "ECR": [
                "describepullthroughcacherules",
                "describeregistry",
                "describerepositories",
                "getaccountsetting",
                "getregistrypolicy",
                "getregistryscanningconfiguration"
            ],
            "SECRETS": [
                "describesecret",
                "getsecretvalue",
                "listsecrets"
            ],
            "SECURITY": [
                "describestandardscontrols",
                "getadministratoraccount",
                "getenabledstandards",
                "getfindings",
                "listenabledproductsforimport",
                "listinvitations",
                "listmembers",
                "listtagsforresource"
            ],
            "WORKSPACES": [
                "describeworkspaces"
            ],
            "COMPUTEOPTIMIZER": [
                "exportautoscalinggrouprecommendations",
                "exportebsvolumerecommendations",
                "exportec2instancerecommendations",
                "exportecsservicerecommendations",
                "exportlambdafunctionrecommendations",
                "exportlicenserecommendations",
                "exportrdsdatabaserecommendations",
                "getenrollmentstatus",
                "getrdsdatabaserecommendations",
                "getrecommendationsummaries"
            ],
            "RESOURCE": [
                "getaccountsettings",
                "getresources",
                "getresourceshares",
                "listgroups"
            ],
            "LAMBDA": [
                "getaccountsettings20160819",
                "getfunction20150331v2",
                "getfunctionurlconfig",
                "getpolicy20150331",
                "listcodesigningconfigs",
                "listfunctions20150331",
                "listfunctionurlconfigs",
                "listlayers20181031",
                "listversionsbyfunction20150331"
            ],
            "AUDIT": [
                "getaccountstatus"
            ],
            "API": [
                "getapis",
                "getdomainnames",
                "getvpclinks"
            ],
            "PINPOINT": [
                "getapps",
                "listtemplates"
            ],
            "EMR": [
                "getblockpublicaccessconfiguration",
                "getblockpublicaccessconfiguration",
                "listapplications",
                "listclusters",
                "listclusters",
                "listsecurityconfigurations",
                "listsecurityconfigurations",
                "listvirtualclusters"
            ],
            "AMAZON": [
                "getblockpublicaccessconfiguration",
                "listbots",
                "listclusters",
                "listdatasets",
                "listorganizations",
                "listsecurityconfigurations",
                "listvaults"
            ],
            "LIGHTSAIL": [
                "getblueprints",
                "getbuckets",
                "getcertificates",
                "getcontainerservices",
                "getrelationaldatabases",
                "getstaticips"
            ],
            "S3": [
                "getbucketacl",
                "getbucketcors",
                "getbucketencryption",
                "getbucketintelligenttieringconfiguration",
                "getbucketlifecycle",
                "getbucketlocation",
                "getbucketlogging",
                "getbucketmetricsconfiguration",
                "getbucketnotification",
                "getbucketobjectlockconfiguration",
                "getbucketownershipcontrols",
                "getbucketreplication",
                "getbucketrequestpayment",
                "getbucketversioning",
                "getbucketwebsite",
                "listaccesspoints",
                "listbuckets",
                "listmultiregionaccesspoints",
                "liststoragelensgroups"
            ],
            "ATHENA": [
                "getdatacatalog",
                "getworkgroup",
                "listdatacatalogs",
                "listpreparedstatements",
                "listtagsforresource",
                "listworkgroups"
            ],
            "GUARDDUTY": [
                "getdetector",
                "getinvitationscount",
                "getmalwarescansettings",
                "getmasteraccount",
                "listdetectors",
                "listfilters",
                "listmembers",
                "listpublishingdestinations",
                "listthreatintelsets"
            ],
            "FRAUD": [
                "getdetectors",
                "getentitytypes",
                "geteventtypes",
                "getexternalmodels",
                "getoutcomes",
                "getvariables"
            ],
            "X_RAY": [
                "getencryptionconfig"
            ],
            "DATA": [
                "getlifecyclepolicies",
                "listdatasets"
            ],
            "MACIE": [
                "getmaciesession"
            ],
            "ROUTE": [
                "getresolverrule",
                "listfirewalldomainlists",
                "listresolverendpoints",
                "listresolverquerylogconfigs"
            ],
            "SERVICE": [
                "getservicequota",
                "listapplications",
                "listattributegroups"
            ],
            "SNS": [
                "gettopicattributes",
                "listsubscriptions",
                "listsubscriptionsbytopic",
                "listtagsforresource",
                "numberofmessagespublishedperaccount"
            ],
            "BEDROCK": [
                "listagents"
            ],
            "IOT": [
                "listalarmmodels",
                "listassetmodels",
                "listcacertificates",
                "listcertificates",
                "listcustommetrics",
                "listdetectormodels",
                "listdimensions",
                "listfleetmetrics",
                "listfuotatasks",
                "listgateways",
                "listinputs",
                "listmitigationactions",
                "listmulticastgroups",
                "listpolicies",
                "listportals",
                "listrolealiases",
                "listscheduledaudits",
                "listsecurityprofiles",
                "listserviceprofiles",
                "listthings",
                "listtopicruledestinations",
                "listworkspaces"
            ],
            "ACCESS": [
                "listanalyzers",
                "listarchiverules"
            ],
            "APPINTEGRATIONS": [
                "listapplications",
                "listeventintegrations"
            ],
            "MEDIACONNECT": [
                "listbridges",
                "listflows",
                "listgateways"
            ],
            "TRANSCRIBE": [
                "listcallanalyticsjobs",
                "listlanguagemodels",
                "listmedicalscribejobs",
                "listmedicaltranscriptionjobs",
                "listmedicalvocabularies",
                "listvocabularies"
            ],
            "PRIVATE": [
                "listcertificateauthorities"
            ],
            "CERTIFICATE": [
                "listcertificates"
            ],
            "TRANSFER": [
                "listcertificates",
                "listprofiles",
                "listservers",
                "listworkflows"
            ],
            "EKS": [
                "listclusters"
            ],
            "SAGEMAKER": [
                "listcoderepositories",
                "listdomains",
                "listendpointconfigs",
                "listendpoints",
                "listfeaturegroups",
                "listimages",
                "listinferenceexperiments",
                "listnotebookinstancelifecycleconfigs",
                "listpipelines",
                "listworkteams"
            ],
            "CLEAN": [
                "listcollaborations"
            ],
            "GREENGRASS": [
                "listcomponents",
                "listconnectordefinitions",
                "listdevicedefinitions",
                "listfunctiondefinitions",
                "listgroups",
                "listloggerdefinitions",
                "listresourcedefinitions"
            ],
            "IMAGE": [
                "listcomponents",
                "listcontainerrecipes",
                "listdistributionconfigurations",
                "listimagerecipes",
                "listimages",
                "listinfrastructureconfigurations"
            ],
            "GROUND": [
                "listconfigs",
                "listmissionprofiles"
            ],
            "MEDIASTORE": [
                "listcontainers"
            ],
            "DATABREW": [
                "listdatasets",
                "listprojects",
                "listrecipes",
                "listrulesets",
                "listschedules"
            ],
            "COMPREHEND": [
                "listdocumentclassifiers",
                "listdominantlanguagedetectionjobs",
                "listentitiesdetectionjobs",
                "listentityrecognizers",
                "listeventsdetectionjobs",
                "listflywheels",
                "listkeyphrasesdetectionjobs",
                "listpiientitiesdetectionjobs",
                "listsentimentdetectionjobs",
                "listtopicsdetectionjobs"
            ],
            "CUSTOMER": [
                "listdomains"
            ],
            "NETWORK": [
                "listfirewallpolicies",
                "listfirewalls"
            ],
            "APPFLOW": [
                "listflows"
            ],
            "NEPTUNEGRAPH": [
                "listgraphs",
                "listgraphsnapshots"
            ],
            "DETECTIVE": [
                "listgraphs"
            ],
            "CONNECT": [
                "listinstances",
                "listphonenumbersv2"
            ],
            "QLDB": [
                "listledgers"
            ],
            "IVSCHAT": [
                "listloggingconfigurations"
            ],
            "LOCATION": [
                "listmaps",
                "listtrackers"
            ],
            "CODESTAR": [
                "listnotificationrules"
            ],
            "TRANSLATE": [
                "listparalleldata",
                "listterminologies",
                "listtexttranslationjobs"
            ],
            "CODEPIPELINE": [
                "listpipelines"
            ],
            "MEDIATAILOR": [
                "listplaybackconfigurations"
            ],
            "IVS": [
                "listplaybackkeypairs",
                "listrecordingconfigurations"
            ],
            "MEDIACONVERT": [
                "listpresets"
            ],
            "LOOKOUT": [
                "listprojects"
            ],
            "CODEBUILD": [
                "listprojects",
                "listreportgroups"
            ],
            "CODECOMMIT": [
                "listrepositories"
            ],
            "ROBOMAKER": [
                "listrobotapplications",
                "listsimulationapplications"
            ],
            "SCHEDULER": [
                "listschedulegroups",
                "listschedules"
            ],
            "CLOUD": [
                "listservices"
            ],
            "OUTPOSTS": [
                "listsites"
            ],
            "ECS": [
                "listtagsforresource"
            ],
            "DATASYNC": [
                "listtasks"
            ],
            "COGNITO": [
                "listuserpools",
                "userpoolread"
            ],
            "GRAFANA": [
                "listworkspaces"
            ]
        }

        self._services = CloudWatchAWSServicesMap()

    def get(self, operation_name: CloudWatchAPIOperationName):
        return self._api_ops_map[operation_name]
    
    def get_service_operations(self, service_name: CloudWatchServiceName) -> list[CloudWatchAPIOperationName]:
        service = self._services.get(service_name)
        return self._service_api_ops_map.get(service.name, [])
