Skip to content

Instantly share code, notes, and snippets.

@grizmin
Last active September 15, 2022 09:31
Show Gist options
  • Save grizmin/d5244f19f7e6ba6cee23e3848a832480 to your computer and use it in GitHub Desktop.
Save grizmin/d5244f19f7e6ba6cee23e3848a832480 to your computer and use it in GitHub Desktop.
python aws_cloud_formation_services_scraper.py | jq
from urllib import request
from time import sleep
import bs4
import json
BASE_URL="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide"
service_model = {}
def get_cf_service_resource_types(url: str):
with request.urlopen(url) as fd:
html = fd.read().decode('utf-8')
child_soup = bs4.BeautifulSoup(html, 'html.parser')
resource_types = [rt.p.a.contents[0] for rt in child_soup.find_all('li', attrs={'class': 'listitem'})]
return resource_types
with request.urlopen(f"{BASE_URL}/aws-template-resource-type-ref.html") as fd:
aws_cf_services = fd.read().decode('utf-8')
services_soup = bs4.BeautifulSoup(aws_cf_services, 'html.parser')
services_ul = services_soup.find(name='div', attrs={'class': 'highlights'}).ul
cf_services_list = [services.a.contents[0] for services in services_ul.children]
for service in services_ul.children:
sobj = {'name': service.a.contents[0]}
child_url = f"{BASE_URL}/{service.a.attrs['href'].lstrip('./')}"
# print(f"Fetching {child_url}")
sleep(0.1)
for resource_identifier in get_cf_service_resource_types(child_url):
try:
service_provider, service_name, resource_type = resource_identifier.split('::')
if service_provider not in service_model.keys():
service_model[service_provider] = {'services': {}}
if service_name not in service_model[service_provider]['services'].keys():
service_model[service_provider]['services'][service_name] = []
service_model[service_provider]['services'][service_name].append(resource_type)
except Exception as exc:
# print(exc)
pass
print(json.dumps(service_model))
{
"AWS": {
"services": {
"ACMPCA": [
"Certificate",
"CertificateAuthority",
"CertificateAuthorityActivation",
"Permission"
],
"Amplify": [
"App",
"Branch",
"Domain"
],
"AmplifyUIBuilder": [
"Component",
"Theme"
],
"ApiGateway": [
"Account",
"ApiKey",
"Authorizer",
"BasePathMapping",
"ClientCertificate",
"Deployment",
"DocumentationPart",
"DocumentationVersion",
"DomainName",
"GatewayResponse",
"Method",
"Model",
"RequestValidator",
"Resource",
"RestApi",
"Stage",
"UsagePlan",
"UsagePlanKey",
"VpcLink"
],
"ApiGatewayV2": [
"Api",
"ApiGatewayManagedOverrides",
"ApiMapping",
"Authorizer",
"Deployment",
"DomainName",
"Integration",
"IntegrationResponse",
"Model",
"Route",
"RouteResponse",
"Stage",
"VpcLink"
],
"AppConfig": [
"Application",
"ConfigurationProfile",
"Deployment",
"DeploymentStrategy",
"Environment",
"HostedConfigurationVersion"
],
"AppFlow": [
"ConnectorProfile",
"Flow"
],
"AppIntegrations": [
"DataIntegration",
"EventIntegration"
],
"ApplicationAutoScaling": [
"ScalableTarget",
"ScalingPolicy"
],
"AppMesh": [
"GatewayRoute",
"Mesh",
"Route",
"VirtualGateway",
"VirtualNode",
"VirtualRouter",
"VirtualService"
],
"AppRunner": [
"ObservabilityConfiguration",
"Service",
"VpcConnector"
],
"AppStream": [
"AppBlock",
"Application",
"ApplicationEntitlementAssociation",
"ApplicationFleetAssociation",
"DirectoryConfig",
"Entitlement",
"Fleet",
"ImageBuilder",
"Stack",
"StackFleetAssociation",
"StackUserAssociation",
"User"
],
"AppSync": [
"ApiCache",
"ApiKey",
"DataSource",
"DomainName",
"DomainNameApiAssociation",
"FunctionConfiguration",
"GraphQLApi",
"GraphQLSchema",
"Resolver"
],
"APS": [
"RuleGroupsNamespace",
"Workspace"
],
"Athena": [
"DataCatalog",
"NamedQuery",
"PreparedStatement",
"WorkGroup"
],
"AuditManager": [
"Assessment"
],
"AutoScalingPlans": [
"ScalingPlan"
],
"Backup": [
"BackupPlan",
"BackupSelection",
"BackupVault",
"Framework",
"ReportPlan"
],
"Batch": [
"ComputeEnvironment",
"JobDefinition",
"JobQueue",
"SchedulingPolicy"
],
"BillingConductor": [
"BillingGroup",
"CustomLineItem",
"PricingPlan",
"PricingRule"
],
"Budgets": [
"Budget",
"BudgetsAction"
],
"CertificateManager": [
"Account",
"Certificate"
],
"Chatbot": [
"SlackChannelConfiguration"
],
"Cloud9": [
"EnvironmentEC2"
],
"CloudFormation": [
"CustomResource",
"HookDefaultVersion",
"HookTypeConfig",
"HookVersion",
"Macro",
"ModuleDefaultVersion",
"ModuleVersion",
"PublicTypeVersion",
"Publisher",
"ResourceDefaultVersion",
"ResourceVersion",
"Stack",
"StackSet",
"TypeActivation",
"WaitCondition",
"WaitConditionHandle"
],
"CloudFront": [
"CachePolicy",
"CloudFrontOriginAccessIdentity",
"Distribution",
"Function",
"KeyGroup",
"OriginAccessControl",
"OriginRequestPolicy",
"PublicKey",
"RealtimeLogConfig",
"ResponseHeadersPolicy",
"StreamingDistribution"
],
"ServiceDiscovery": [
"HttpNamespace",
"Instance",
"PrivateDnsNamespace",
"PublicDnsNamespace",
"Service"
],
"CloudTrail": [
"EventDataStore",
"Trail"
],
"CloudWatch": [
"Alarm",
"AnomalyDetector",
"CompositeAlarm",
"Dashboard",
"InsightRule",
"MetricStream"
],
"ApplicationInsights": [
"Application"
],
"Logs": [
"Destination",
"LogGroup",
"LogStream",
"MetricFilter",
"QueryDefinition",
"ResourcePolicy",
"SubscriptionFilter"
],
"Synthetics": [
"Canary",
"Group"
],
"CodeArtifact": [
"Domain",
"Repository"
],
"CodeBuild": [
"Project",
"ReportGroup",
"SourceCredential"
],
"CodeCommit": [
"Repository"
],
"CodeDeploy": [
"Application",
"DeploymentConfig",
"DeploymentGroup"
],
"CodeGuruProfiler": [
"ProfilingGroup"
],
"CodeGuruReviewer": [
"RepositoryAssociation"
],
"CodePipeline": [
"CustomActionType",
"Pipeline",
"Webhook"
],
"CodeStar": [
"GitHubRepository"
],
"CodeStarConnections": [
"Connection"
],
"CodeStarNotifications": [
"NotificationRule"
],
"Cognito": [
"IdentityPool",
"IdentityPoolRoleAttachment",
"UserPool",
"UserPoolClient",
"UserPoolDomain",
"UserPoolGroup",
"UserPoolIdentityProvider",
"UserPoolResourceServer",
"UserPoolRiskConfigurationAttachment",
"UserPoolUICustomizationAttachment",
"UserPoolUser",
"UserPoolUserToGroupAttachment"
],
"Config": [
"AggregationAuthorization",
"ConfigRule",
"ConfigurationAggregator",
"ConfigurationRecorder",
"ConformancePack",
"DeliveryChannel",
"OrganizationConfigRule",
"OrganizationConformancePack",
"RemediationConfiguration",
"StoredQuery"
],
"Connect": [
"ContactFlow",
"ContactFlowModule",
"HoursOfOperation",
"Instance",
"InstanceStorageConfig",
"PhoneNumber",
"QuickConnect",
"TaskTemplate",
"User",
"UserHierarchyGroup"
],
"ConnectCampaigns": [
"Campaign"
],
"ControlTower": [
"EnabledControl"
],
"CustomerProfiles": [
"Domain",
"Integration",
"ObjectType"
],
"CE": [
"AnomalyMonitor",
"AnomalySubscription",
"CostCategory"
],
"CUR": [
"ReportDefinition"
],
"DataBrew": [
"Dataset",
"Job",
"Project",
"Recipe",
"Ruleset",
"Schedule"
],
"DLM": [
"LifecyclePolicy"
],
"DataPipeline": [
"Pipeline"
],
"DataSync": [
"Agent",
"LocationEFS",
"LocationFSxLustre",
"LocationFSxONTAP",
"LocationFSxOpenZFS",
"LocationFSxWindows",
"LocationHDFS",
"LocationNFS",
"LocationObjectStorage",
"LocationS3",
"LocationSMB",
"Task"
],
"DAX": [
"Cluster",
"ParameterGroup",
"SubnetGroup"
],
"Detective": [
"Graph",
"MemberInvitation"
],
"DeviceFarm": [
"DevicePool",
"InstanceProfile",
"NetworkProfile",
"Project",
"TestGridProject",
"VPCEConfiguration"
],
"DevOpsGuru": [
"NotificationChannel",
"ResourceCollection"
],
"DirectoryService": [
"MicrosoftAD",
"SimpleAD"
],
"DMS": [
"Certificate",
"Endpoint",
"EventSubscription",
"ReplicationInstance",
"ReplicationSubnetGroup",
"ReplicationTask"
],
"DocDB": [
"DBCluster",
"DBClusterParameterGroup",
"DBInstance",
"DBSubnetGroup"
],
"DynamoDB": [
"GlobalTable",
"Table"
],
"EC2": [
"CapacityReservation",
"CapacityReservationFleet",
"CarrierGateway",
"ClientVpnAuthorizationRule",
"ClientVpnEndpoint",
"ClientVpnRoute",
"ClientVpnTargetNetworkAssociation",
"CustomerGateway",
"DHCPOptions",
"EC2Fleet",
"EgressOnlyInternetGateway",
"EIP",
"EIPAssociation",
"EnclaveCertificateIamRoleAssociation",
"FlowLog",
"GatewayRouteTableAssociation",
"Host",
"Instance",
"InternetGateway",
"IPAM",
"IPAMAllocation",
"IPAMPool",
"IPAMScope",
"KeyPair",
"LaunchTemplate",
"LocalGatewayRoute",
"LocalGatewayRouteTableVPCAssociation",
"NatGateway",
"NetworkAcl",
"NetworkAclEntry",
"NetworkInsightsAccessScope",
"NetworkInsightsAccessScopeAnalysis",
"NetworkInsightsAnalysis",
"NetworkInsightsPath",
"NetworkInterface",
"NetworkInterfaceAttachment",
"NetworkInterfacePermission",
"PlacementGroup",
"PrefixList",
"Route",
"RouteTable",
"SecurityGroup",
"SecurityGroupEgress",
"SecurityGroupIngress",
"SpotFleet",
"Subnet",
"SubnetCidrBlock",
"SubnetNetworkAclAssociation",
"SubnetRouteTableAssociation",
"TrafficMirrorFilter",
"TrafficMirrorFilterRule",
"TrafficMirrorSession",
"TrafficMirrorTarget",
"TransitGateway",
"TransitGatewayAttachment",
"TransitGatewayConnect",
"TransitGatewayMulticastDomain",
"TransitGatewayMulticastDomainAssociation",
"TransitGatewayMulticastGroupMember",
"TransitGatewayMulticastGroupSource",
"TransitGatewayPeeringAttachment",
"TransitGatewayRoute",
"TransitGatewayRouteTable",
"TransitGatewayRouteTableAssociation",
"TransitGatewayRouteTablePropagation",
"TransitGatewayVpcAttachment",
"Volume",
"VolumeAttachment",
"VPC",
"VPCCidrBlock",
"VPCDHCPOptionsAssociation",
"VPCEndpoint",
"VPCEndpointConnectionNotification",
"VPCEndpointService",
"VPCEndpointServicePermissions",
"VPCGatewayAttachment",
"VPCPeeringConnection",
"VPNConnection",
"VPNConnectionRoute",
"VPNGateway",
"VPNGatewayRoutePropagation",
"LaunchTemplate"
],
"AutoScaling": [
"AutoScalingGroup",
"LaunchConfiguration",
"LifecycleHook",
"ScalingPolicy",
"ScheduledAction",
"WarmPool"
],
"ECR": [
"PublicRepository",
"PullThroughCacheRule",
"RegistryPolicy",
"ReplicationConfiguration",
"Repository"
],
"ECS": [
"CapacityProvider",
"Cluster",
"ClusterCapacityProviderAssociations",
"PrimaryTaskSet",
"Service",
"TaskDefinition",
"TaskSet"
],
"EFS": [
"AccessPoint",
"FileSystem",
"MountTarget"
],
"EKS": [
"Addon",
"Cluster",
"FargateProfile",
"IdentityProviderConfig",
"Nodegroup"
],
"ElasticBeanstalk": [
"Application",
"ApplicationVersion",
"ConfigurationTemplate",
"Environment"
],
"ElasticLoadBalancing": [
"LoadBalancer"
],
"ElasticLoadBalancingV2": [
"Listener",
"ListenerCertificate",
"ListenerRule",
"LoadBalancer",
"TargetGroup"
],
"EMR": [
"Cluster",
"InstanceFleetConfig",
"InstanceGroupConfig",
"SecurityConfiguration",
"Step",
"Studio",
"StudioSessionMapping"
],
"EMRServerless": [
"Application"
],
"EMRContainers": [
"VirtualCluster"
],
"ElastiCache": [
"CacheCluster",
"GlobalReplicationGroup",
"ParameterGroup",
"ReplicationGroup",
"SecurityGroup",
"SecurityGroupIngress",
"SubnetGroup",
"User",
"UserGroup"
],
"Events": [
"ApiDestination",
"Archive",
"Connection",
"Endpoint",
"EventBus",
"EventBusPolicy",
"Rule"
],
"EventSchemas": [
"Discoverer",
"Registry",
"RegistryPolicy",
"Schema"
],
"Evidently": [
"Experiment",
"Feature",
"Launch",
"Project",
"Segment"
],
"FinSpace": [
"Environment"
],
"FIS": [
"ExperimentTemplate"
],
"FMS": [
"NotificationChannel",
"Policy"
],
"Forecast": [
"Dataset",
"DatasetGroup"
],
"FraudDetector": [
"Detector",
"EntityType",
"EventType",
"Label",
"Outcome",
"Variable"
],
"FSx": [
"FileSystem",
"Snapshot",
"StorageVirtualMachine",
"Volume"
],
"GameLift": [
"Alias",
"Build",
"Fleet",
"GameServerGroup",
"GameSessionQueue",
"MatchmakingConfiguration",
"MatchmakingRuleSet",
"Script"
],
"GlobalAccelerator": [
"Accelerator",
"EndpointGroup",
"Listener"
],
"Glue": [
"Classifier",
"Connection",
"Crawler",
"Database",
"DataCatalogEncryptionSettings",
"DevEndpoint",
"Job",
"MLTransform",
"Partition",
"Registry",
"Schema",
"SchemaVersion",
"SchemaVersionMetadata",
"SecurityConfiguration",
"Table",
"Trigger",
"Workflow"
],
"GroundStation": [
"Config",
"DataflowEndpointGroup",
"MissionProfile"
],
"GuardDuty": [
"Detector",
"Filter",
"IPSet",
"Master",
"Member",
"ThreatIntelSet"
],
"HealthLake": [
"FHIRDatastore"
],
"IAM": [
"AccessKey",
"Group",
"InstanceProfile",
"ManagedPolicy",
"OIDCProvider",
"Policy",
"Role",
"SAMLProvider",
"ServerCertificate",
"ServiceLinkedRole",
"User",
"UserToGroupAddition",
"VirtualMFADevice"
],
"AccessAnalyzer": [
"Analyzer"
],
"ImageBuilder": [
"Component",
"ContainerRecipe",
"DistributionConfiguration",
"Image",
"ImagePipeline",
"ImageRecipe",
"InfrastructureConfiguration"
],
"SSMIncidents": [
"ReplicationSet",
"ResponsePlan"
],
"SSMContacts": [
"Contact",
"ContactChannel"
],
"Inspector": [
"AssessmentTarget",
"AssessmentTemplate",
"ResourceGroup"
],
"InspectorV2": [
"Filter"
],
"IoT": [
"AccountAuditConfiguration",
"Authorizer",
"CACertificate",
"Certificate",
"CustomMetric",
"Dimension",
"DomainConfiguration",
"FleetMetric",
"JobTemplate",
"Logging",
"MitigationAction",
"Policy",
"PolicyPrincipalAttachment",
"ProvisioningTemplate",
"ResourceSpecificLogging",
"RoleAlias",
"ScheduledAudit",
"SecurityProfile",
"Thing",
"ThingPrincipalAttachment",
"TopicRule",
"TopicRuleDestination"
],
"IoT1Click": [
"Device",
"Placement",
"Project"
],
"IoTAnalytics": [
"Channel",
"Dataset",
"Datastore",
"Pipeline"
],
"IoTCoreDeviceAdvisor": [
"SuiteDefinition"
],
"IoTEvents": [
"AlarmModel",
"DetectorModel",
"Input"
],
"IoTFleetHub": [
"Application"
],
"Greengrass": [
"ConnectorDefinition",
"ConnectorDefinitionVersion",
"CoreDefinition",
"CoreDefinitionVersion",
"DeviceDefinition",
"DeviceDefinitionVersion",
"FunctionDefinition",
"FunctionDefinitionVersion",
"Group",
"GroupVersion",
"LoggerDefinition",
"LoggerDefinitionVersion",
"ResourceDefinition",
"ResourceDefinitionVersion",
"SubscriptionDefinition",
"SubscriptionDefinitionVersion"
],
"GreengrassV2": [
"ComponentVersion"
],
"IoTSiteWise": [
"AccessPolicy",
"Asset",
"AssetModel",
"Dashboard",
"Gateway",
"Portal",
"Project"
],
"IoTThingsGraph": [
"FlowTemplate"
],
"IoTTwinMaker": [
"ComponentType",
"Entity",
"Scene",
"Workspace"
],
"IoTWireless": [
"Destination",
"DeviceProfile",
"FuotaTask",
"MulticastGroup",
"NetworkAnalyzerConfiguration",
"PartnerAccount",
"ServiceProfile",
"TaskDefinition",
"WirelessDevice",
"WirelessGateway"
],
"IVS": [
"Channel",
"PlaybackKeyPair",
"RecordingConfiguration",
"StreamKey"
],
"Kendra": [
"DataSource",
"Faq",
"Index"
],
"Cassandra": [
"Keyspace",
"Table"
],
"Kinesis": [
"Stream",
"StreamConsumer"
],
"KinesisAnalytics": [
"Application",
"ApplicationOutput",
"ApplicationReferenceDataSource"
],
"KinesisAnalyticsV2": [
"Application",
"ApplicationCloudWatchLoggingOption",
"ApplicationOutput",
"ApplicationReferenceDataSource"
],
"KinesisFirehose": [
"DeliveryStream"
],
"KinesisVideo": [
"SignalingChannel",
"Stream"
],
"KMS": [
"Alias",
"Key",
"ReplicaKey"
],
"LakeFormation": [
"DataCellsFilter",
"DataLakeSettings",
"Permissions",
"PrincipalPermissions",
"Resource",
"Tag",
"TagAssociation"
],
"Lambda": [
"Alias",
"CodeSigningConfig",
"EventInvokeConfig",
"EventSourceMapping",
"Function",
"LayerVersion",
"LayerVersionPermission",
"Permission",
"Url",
"Version"
],
"Lex": [
"Bot",
"BotAlias",
"BotVersion",
"ResourcePolicy"
],
"LicenseManager": [
"Grant",
"License"
],
"Lightsail": [
"Alarm",
"Bucket",
"Certificate",
"Container",
"Database",
"Disk",
"Distribution",
"Instance",
"LoadBalancer",
"LoadBalancerTlsCertificate",
"StaticIp"
],
"Location": [
"GeofenceCollection",
"Map",
"PlaceIndex",
"RouteCalculator",
"Tracker",
"TrackerConsumer"
],
"LookoutEquipment": [
"InferenceScheduler"
],
"LookoutMetrics": [
"Alert",
"AnomalyDetector"
],
"LookoutVision": [
"Project"
],
"M2": [
"Application",
"Environment"
],
"Macie": [
"AllowList",
"CustomDataIdentifier",
"FindingsFilter",
"Session"
],
"ManagedBlockchain": [
"Member",
"Node"
],
"MediaConnect": [
"Flow",
"FlowEntitlement",
"FlowOutput",
"FlowSource",
"FlowVpcInterface"
],
"MediaConvert": [
"JobTemplate",
"Preset",
"Queue"
],
"MediaLive": [
"Channel",
"Input",
"InputSecurityGroup"
],
"MediaPackage": [
"Asset",
"Channel",
"OriginEndpoint",
"PackagingConfiguration",
"PackagingGroup"
],
"MediaTailor": [
"PlaybackConfiguration"
],
"MediaStore": [
"Container"
],
"AmazonMQ": [
"Broker",
"Configuration",
"ConfigurationAssociation"
],
"MemoryDB": [
"ACL",
"Cluster",
"ParameterGroup",
"SubnetGroup",
"User"
],
"MSK": [
"BatchScramSecret",
"Cluster",
"Configuration",
"ServerlessCluster"
],
"KafkaConnect": [
"Connector"
],
"MWAA": [
"Environment"
],
"Neptune": [
"DBCluster",
"DBClusterParameterGroup",
"DBInstance",
"DBParameterGroup",
"DBSubnetGroup"
],
"NetworkFirewall": [
"Firewall",
"FirewallPolicy",
"LoggingConfiguration",
"RuleGroup"
],
"NetworkManager": [
"ConnectAttachment",
"ConnectPeer",
"CoreNetwork",
"CustomerGatewayAssociation",
"Device",
"GlobalNetwork",
"Link",
"LinkAssociation",
"Site",
"SiteToSiteVpnAttachment",
"TransitGatewayRegistration",
"VpcAttachment"
],
"NimbleStudio": [
"LaunchProfile",
"StreamingImage",
"Studio",
"StudioComponent"
],
"Elasticsearch": [
"Domain"
],
"OpenSearchService": [
"Domain"
],
"OpsWorks": [
"App",
"ElasticLoadBalancerAttachment",
"Instance",
"Layer",
"Stack",
"UserProfile",
"Volume"
],
"OpsWorksCM": [
"Server"
],
"Panorama": [
"ApplicationInstance",
"Package",
"PackageVersion"
],
"Personalize": [
"Dataset",
"DatasetGroup",
"Schema",
"Solution"
],
"Pinpoint": [
"ADMChannel",
"APNSChannel",
"APNSSandboxChannel",
"APNSVoipChannel",
"APNSVoipSandboxChannel",
"App",
"ApplicationSettings",
"BaiduChannel",
"Campaign",
"EmailChannel",
"EmailTemplate",
"EventStream",
"GCMChannel",
"InAppTemplate",
"PushTemplate",
"Segment",
"SMSChannel",
"SmsTemplate",
"VoiceChannel"
],
"PinpointEmail": [
"ConfigurationSet",
"ConfigurationSetEventDestination",
"DedicatedIpPool",
"Identity"
],
"QLDB": [
"Ledger",
"Stream"
],
"QuickSight": [
"Analysis",
"Dashboard",
"DataSet",
"DataSource",
"Template",
"Theme"
],
"RAM": [
"ResourceShare"
],
"RDS": [
"DBCluster",
"DBClusterParameterGroup",
"DBInstance",
"DBParameterGroup",
"DBProxy",
"DBProxyEndpoint",
"DBProxyTargetGroup",
"DBSecurityGroup",
"DBSecurityGroupIngress",
"DBSubnetGroup",
"EventSubscription",
"GlobalCluster",
"OptionGroup"
],
"Redshift": [
"Cluster",
"ClusterParameterGroup",
"ClusterSecurityGroup",
"ClusterSecurityGroupIngress",
"ClusterSubnetGroup",
"EndpointAccess",
"EndpointAuthorization",
"EventSubscription",
"ScheduledAction"
],
"RedshiftServerless": [
"Namespace",
"Workgroup"
],
"RefactorSpaces": [
"Application",
"Environment",
"Route",
"Service"
],
"Rekognition": [
"Collection",
"Project",
"StreamProcessor"
],
"ResilienceHub": [
"App",
"ResiliencyPolicy"
],
"ResourceGroups": [
"Group"
],
"RoboMaker": [
"Fleet",
"Robot",
"RobotApplication",
"RobotApplicationVersion",
"SimulationApplication",
"SimulationApplicationVersion"
],
"RolesAnywhere": [
"CRL",
"Profile",
"TrustAnchor"
],
"Route53": [
"CidrCollection",
"DNSSEC",
"HealthCheck",
"HostedZone",
"KeySigningKey",
"RecordSet",
"RecordSetGroup"
],
"Route53RecoveryControl": [
"Cluster",
"ControlPanel",
"RoutingControl",
"SafetyRule"
],
"Route53RecoveryReadiness": [
"Cell",
"ReadinessCheck",
"RecoveryGroup",
"ResourceSet"
],
"Route53Resolver": [
"FirewallDomainList",
"FirewallRuleGroup",
"FirewallRuleGroupAssociation",
"ResolverConfig",
"ResolverDNSSECConfig",
"ResolverEndpoint",
"ResolverQueryLoggingConfig",
"ResolverQueryLoggingConfigAssociation",
"ResolverRule",
"ResolverRuleAssociation"
],
"RUM": [
"AppMonitor"
],
"S3": [
"AccessPoint",
"Bucket",
"BucketPolicy",
"MultiRegionAccessPoint",
"MultiRegionAccessPointPolicy",
"StorageLens"
],
"S3ObjectLambda": [
"AccessPoint",
"AccessPointPolicy"
],
"S3Outposts": [
"AccessPoint",
"Bucket",
"BucketPolicy",
"Endpoint"
],
"SageMaker": [
"App",
"AppImageConfig",
"CodeRepository",
"DataQualityJobDefinition",
"Device",
"DeviceFleet",
"Domain",
"Endpoint",
"EndpointConfig",
"FeatureGroup",
"Image",
"ImageVersion",
"Model",
"ModelBiasJobDefinition",
"ModelExplainabilityJobDefinition",
"ModelPackage",
"ModelPackageGroup",
"ModelQualityJobDefinition",
"MonitoringSchedule",
"NotebookInstance",
"NotebookInstanceLifecycleConfig",
"Pipeline",
"Project",
"UserProfile",
"Workteam"
],
"SecretsManager": [
"ResourcePolicy",
"RotationSchedule",
"Secret",
"SecretTargetAttachment"
],
"ServiceCatalog": [
"AcceptedPortfolioShare",
"CloudFormationProduct",
"CloudFormationProvisionedProduct",
"LaunchNotificationConstraint",
"LaunchRoleConstraint",
"LaunchTemplateConstraint",
"Portfolio",
"PortfolioPrincipalAssociation",
"PortfolioProductAssociation",
"PortfolioShare",
"ResourceUpdateConstraint",
"ServiceAction",
"ServiceActionAssociation",
"StackSetConstraint",
"TagOption",
"TagOptionAssociation"
],
"ServiceCatalogAppRegistry": [
"Application",
"AttributeGroup",
"AttributeGroupAssociation",
"ResourceAssociation"
],
"SecurityHub": [
"Hub"
],
"SES": [
"ConfigurationSet",
"ConfigurationSetEventDestination",
"ContactList",
"DedicatedIpPool",
"EmailIdentity",
"ReceiptFilter",
"ReceiptRule",
"ReceiptRuleSet",
"Template"
],
"Signer": [
"ProfilePermission",
"SigningProfile"
],
"SDB": [
"Domain"
],
"SNS": [
"Subscription",
"Topic",
"TopicPolicy"
],
"SQS": [
"Queue",
"QueuePolicy"
],
"SSO": [
"Assignment",
"InstanceAccessControlAttributeConfiguration",
"PermissionSet"
],
"StepFunctions": [
"Activity",
"StateMachine"
],
"SSM": [
"Association",
"Document",
"MaintenanceWindow",
"MaintenanceWindowTarget",
"MaintenanceWindowTask",
"Parameter",
"PatchBaseline",
"ResourceDataSync"
],
"SupportApp": [
"AccountAlias",
"SlackChannelConfiguration"
],
"Timestream": [
"Database",
"ScheduledQuery",
"Table"
],
"Transfer": [
"Server",
"User",
"Workflow"
],
"VoiceID": [
"Domain"
],
"WAF": [
"ByteMatchSet",
"IPSet",
"Rule",
"SizeConstraintSet",
"SqlInjectionMatchSet",
"WebACL",
"XssMatchSet"
],
"WAFRegional": [
"ByteMatchSet",
"GeoMatchSet",
"IPSet",
"RateBasedRule",
"RegexPatternSet",
"Rule",
"SizeConstraintSet",
"SqlInjectionMatchSet",
"WebACL",
"WebACLAssociation",
"XssMatchSet"
],
"WAFv2": [
"IPSet",
"LoggingConfiguration",
"RegexPatternSet",
"RuleGroup",
"WebACL",
"WebACLAssociation"
],
"Wisdom": [
"Assistant",
"AssistantAssociation",
"KnowledgeBase"
],
"WorkSpaces": [
"ConnectionAlias",
"Workspace"
],
"XRay": [
"Group",
"SamplingRule"
]
}
},
"Alexa": {
"services": {
"ASK": [
"Skill"
]
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment