forked from lyft/cartography
-
Notifications
You must be signed in to change notification settings - Fork 2
/
resources.py
96 lines (94 loc) · 3.32 KB
/
resources.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
from typing import Dict
from . import apigateway
from . import cloudtrail
from . import cloudwatch
from . import config
from . import dynamodb
from . import ecr
from . import ecs
from . import eks
from . import elasticache
from . import elasticsearch
from . import emr
from . import iam
from . import inspector
from . import kms
from . import lambda_function
from . import permission_relationships
from . import rds
from . import redshift
from . import route53
from . import s3
from . import secretsmanager
from . import securityhub
from . import sqs
from . import ssm
from . import cve
from .ec2.auto_scaling_groups import sync_ec2_auto_scaling_groups
from .ec2.elastic_ip_addresses import sync_elastic_ip_addresses
from .ec2.images import sync_ec2_images
from .ec2.instances import sync_ec2_instances
from .ec2.internet_gateways import sync_internet_gateways
from .ec2.key_pairs import sync_ec2_key_pairs
from .ec2.launch_templates import sync_ec2_launch_templates
from .ec2.load_balancer_v2s import sync_load_balancer_v2s
from .ec2.load_balancers import sync_load_balancers
from .ec2.network_interfaces import sync_network_interfaces
from .ec2.reserved_instances import sync_ec2_reserved_instances
from .ec2.security_groups import sync_ec2_security_groupinfo
from .ec2.snapshots import sync_ebs_snapshots
from .ec2.subnets import sync_subnets
from .ec2.tgw import sync_transit_gateways
from .ec2.volumes import sync_ebs_volumes
from .ec2.vpc import sync_vpc
from .ec2.vpc_peerings import sync_vpc_peerings
# from . import resourcegroupstaggingapi
RESOURCE_FUNCTIONS: Dict = {
'iam': iam.sync,
's3': s3.sync,
'dynamodb': dynamodb.sync,
'ec2:launch_templates': sync_ec2_launch_templates,
'ec2:autoscalinggroup': sync_ec2_auto_scaling_groups,
# `ec2:instance` must be included before `ssm` and `ec2:images`,
# they rely on EC2Instance data provided by this module.
'ec2:instance': sync_ec2_instances,
'ec2:images': sync_ec2_images,
'ec2:keypair': sync_ec2_key_pairs,
'ec2:load_balancer': sync_load_balancers,
'ec2:load_balancer_v2': sync_load_balancer_v2s,
'ec2:network_interface': sync_network_interfaces,
'ec2:security_group': sync_ec2_security_groupinfo,
'ec2:subnet': sync_subnets,
'ec2:tgw': sync_transit_gateways,
'ec2:vpc': sync_vpc,
'ec2:vpc_peering': sync_vpc_peerings,
'ec2:internet_gateway': sync_internet_gateways,
'ec2:reserved_instances': sync_ec2_reserved_instances,
'ec2:volumes': sync_ebs_volumes,
'ec2:snapshots': sync_ebs_snapshots,
'ecr': ecr.sync,
'ecs': ecs.sync,
'eks': eks.sync,
'elasticache': elasticache.sync,
'elastic_ip_addresses': sync_elastic_ip_addresses,
'emr': emr.sync,
'lambda_function': lambda_function.sync,
'kms': kms.sync,
'rds': rds.sync,
'redshift': redshift.sync,
'route53': route53.sync,
'elasticsearch': elasticsearch.sync,
'permission_relationships': permission_relationships.sync,
# Intel module takes very long so skipping it for now
# 'resourcegroupstaggingapi': resourcegroupstaggingapi.sync,
'apigateway': apigateway.sync,
'secretsmanager': secretsmanager.sync,
'securityhub': securityhub.sync,
'sqs': sqs.sync,
'ssm': ssm.sync,
'inspector': inspector.sync,
'config': config.sync,
'cloudtrail': cloudtrail.sync,
'cloudwatch': cloudwatch.sync,
'cve': cve.sync
}