cartography 0.109.0rc1__py3-none-any.whl → 0.110.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cartography might be problematic. Click here for more details.
- cartography/_version.py +2 -2
- cartography/cli.py +22 -0
- cartography/config.py +13 -0
- cartography/data/indexes.cypher +0 -15
- cartography/intel/aws/cloudtrail_management_events.py +21 -0
- cartography/intel/aws/eventbridge.py +91 -0
- cartography/intel/aws/glue.py +117 -0
- cartography/intel/aws/identitycenter.py +71 -23
- cartography/intel/aws/kms.py +160 -200
- cartography/intel/aws/lambda_function.py +206 -190
- cartography/intel/aws/rds.py +243 -458
- cartography/intel/aws/resources.py +4 -0
- cartography/intel/aws/route53.py +334 -332
- cartography/intel/entra/__init__.py +43 -41
- cartography/intel/entra/applications.py +1 -2
- cartography/intel/entra/ou.py +1 -1
- cartography/intel/entra/resources.py +20 -0
- cartography/intel/trivy/__init__.py +73 -13
- cartography/intel/trivy/scanner.py +115 -92
- cartography/models/aws/eventbridge/__init__.py +0 -0
- cartography/models/aws/eventbridge/rule.py +77 -0
- cartography/models/aws/glue/__init__.py +0 -0
- cartography/models/aws/glue/connection.py +51 -0
- cartography/models/aws/identitycenter/awspermissionset.py +44 -0
- cartography/models/aws/kms/__init__.py +0 -0
- cartography/models/aws/kms/aliases.py +86 -0
- cartography/models/aws/kms/grants.py +65 -0
- cartography/models/aws/kms/keys.py +88 -0
- cartography/models/aws/lambda_function/__init__.py +0 -0
- cartography/models/aws/lambda_function/alias.py +74 -0
- cartography/models/aws/lambda_function/event_source_mapping.py +88 -0
- cartography/models/aws/lambda_function/lambda_function.py +89 -0
- cartography/models/aws/lambda_function/layer.py +72 -0
- cartography/models/aws/rds/__init__.py +0 -0
- cartography/models/aws/rds/cluster.py +89 -0
- cartography/models/aws/rds/instance.py +154 -0
- cartography/models/aws/rds/snapshot.py +108 -0
- cartography/models/aws/rds/subnet_group.py +101 -0
- cartography/models/aws/route53/__init__.py +0 -0
- cartography/models/aws/route53/dnsrecord.py +214 -0
- cartography/models/aws/route53/nameserver.py +63 -0
- cartography/models/aws/route53/subzone.py +40 -0
- cartography/models/aws/route53/zone.py +47 -0
- cartography/models/snipeit/asset.py +1 -0
- cartography/util.py +8 -1
- {cartography-0.109.0rc1.dist-info → cartography-0.110.0rc1.dist-info}/METADATA +2 -2
- {cartography-0.109.0rc1.dist-info → cartography-0.110.0rc1.dist-info}/RECORD +51 -32
- cartography/data/jobs/cleanup/aws_dns_cleanup.json +0 -65
- cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json +0 -16
- cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json +0 -50
- cartography/data/jobs/cleanup/aws_import_rds_clusters_cleanup.json +0 -23
- cartography/data/jobs/cleanup/aws_import_rds_instances_cleanup.json +0 -47
- cartography/data/jobs/cleanup/aws_import_rds_snapshots_cleanup.json +0 -23
- cartography/data/jobs/cleanup/aws_kms_details.json +0 -10
- {cartography-0.109.0rc1.dist-info → cartography-0.110.0rc1.dist-info}/WHEEL +0 -0
- {cartography-0.109.0rc1.dist-info → cartography-0.110.0rc1.dist-info}/entry_points.txt +0 -0
- {cartography-0.109.0rc1.dist-info → cartography-0.110.0rc1.dist-info}/licenses/LICENSE +0 -0
- {cartography-0.109.0rc1.dist-info → cartography-0.110.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from cartography.models.core.common import PropertyRef
|
|
4
|
+
from cartography.models.core.nodes import CartographyNodeProperties
|
|
5
|
+
from cartography.models.core.nodes import CartographyNodeSchema
|
|
6
|
+
from cartography.models.core.relationships import CartographyRelProperties
|
|
7
|
+
from cartography.models.core.relationships import CartographyRelSchema
|
|
8
|
+
from cartography.models.core.relationships import LinkDirection
|
|
9
|
+
from cartography.models.core.relationships import make_target_node_matcher
|
|
10
|
+
from cartography.models.core.relationships import OtherRelationships
|
|
11
|
+
from cartography.models.core.relationships import TargetNodeMatcher
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass(frozen=True)
|
|
15
|
+
class NameServerNodeProperties(CartographyNodeProperties):
|
|
16
|
+
id: PropertyRef = PropertyRef("id")
|
|
17
|
+
name: PropertyRef = PropertyRef("id", extra_index=True)
|
|
18
|
+
zoneid: PropertyRef = PropertyRef("zoneid")
|
|
19
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
@dataclass(frozen=True)
|
|
23
|
+
class NameServerToZoneRelProperties(CartographyRelProperties):
|
|
24
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
@dataclass(frozen=True)
|
|
28
|
+
class NameServerToZoneRel(CartographyRelSchema):
|
|
29
|
+
target_node_label: str = "AWSDNSZone"
|
|
30
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
31
|
+
{"zoneid": PropertyRef("zoneid")}
|
|
32
|
+
)
|
|
33
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
34
|
+
rel_label: str = "NAMESERVER"
|
|
35
|
+
properties: NameServerToZoneRelProperties = NameServerToZoneRelProperties()
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
@dataclass(frozen=True)
|
|
39
|
+
class NameServerToAWSAccountRelProperties(CartographyRelProperties):
|
|
40
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
@dataclass(frozen=True)
|
|
44
|
+
class NameServerToAWSAccountRel(CartographyRelSchema):
|
|
45
|
+
target_node_label: str = "AWSAccount"
|
|
46
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
47
|
+
{"id": PropertyRef("AWS_ID", set_in_kwargs=True)}
|
|
48
|
+
)
|
|
49
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
50
|
+
rel_label: str = "RESOURCE"
|
|
51
|
+
properties: NameServerToAWSAccountRelProperties = (
|
|
52
|
+
NameServerToAWSAccountRelProperties()
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@dataclass(frozen=True)
|
|
57
|
+
class NameServerSchema(CartographyNodeSchema):
|
|
58
|
+
label: str = "NameServer"
|
|
59
|
+
properties: NameServerNodeProperties = NameServerNodeProperties()
|
|
60
|
+
sub_resource_relationship: NameServerToAWSAccountRel = NameServerToAWSAccountRel()
|
|
61
|
+
other_relationships: OtherRelationships = OtherRelationships(
|
|
62
|
+
[NameServerToZoneRel()]
|
|
63
|
+
)
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from cartography.models.core.common import PropertyRef
|
|
4
|
+
from cartography.models.core.relationships import CartographyRelProperties
|
|
5
|
+
from cartography.models.core.relationships import CartographyRelSchema
|
|
6
|
+
from cartography.models.core.relationships import LinkDirection
|
|
7
|
+
from cartography.models.core.relationships import make_source_node_matcher
|
|
8
|
+
from cartography.models.core.relationships import make_target_node_matcher
|
|
9
|
+
from cartography.models.core.relationships import SourceNodeMatcher
|
|
10
|
+
from cartography.models.core.relationships import TargetNodeMatcher
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@dataclass(frozen=True)
|
|
14
|
+
class AWSDNSZoneSubzoneRelProperties(CartographyRelProperties):
|
|
15
|
+
# Mandatory fields for MatchLinks
|
|
16
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
17
|
+
_sub_resource_label: PropertyRef = PropertyRef(
|
|
18
|
+
"_sub_resource_label", set_in_kwargs=True
|
|
19
|
+
)
|
|
20
|
+
_sub_resource_id: PropertyRef = PropertyRef("_sub_resource_id", set_in_kwargs=True)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
# MatchLink for creating SUBZONE relationships between DNS zones
|
|
24
|
+
@dataclass(frozen=True)
|
|
25
|
+
class AWSDNSZoneSubzoneMatchLink(CartographyRelSchema):
|
|
26
|
+
target_node_label: str = "AWSDNSZone"
|
|
27
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
28
|
+
{
|
|
29
|
+
"zoneid": PropertyRef("subzone_id"),
|
|
30
|
+
}
|
|
31
|
+
)
|
|
32
|
+
source_node_label: str = "AWSDNSZone"
|
|
33
|
+
source_node_matcher: SourceNodeMatcher = make_source_node_matcher(
|
|
34
|
+
{
|
|
35
|
+
"zoneid": PropertyRef("zone_id"),
|
|
36
|
+
}
|
|
37
|
+
)
|
|
38
|
+
properties: AWSDNSZoneSubzoneRelProperties = AWSDNSZoneSubzoneRelProperties()
|
|
39
|
+
direction: LinkDirection = LinkDirection.OUTWARD
|
|
40
|
+
rel_label: str = "SUBZONE"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
from dataclasses import dataclass
|
|
2
|
+
|
|
3
|
+
from cartography.models.core.common import PropertyRef
|
|
4
|
+
from cartography.models.core.nodes import CartographyNodeProperties
|
|
5
|
+
from cartography.models.core.nodes import CartographyNodeSchema
|
|
6
|
+
from cartography.models.core.nodes import ExtraNodeLabels
|
|
7
|
+
from cartography.models.core.relationships import CartographyRelProperties
|
|
8
|
+
from cartography.models.core.relationships import CartographyRelSchema
|
|
9
|
+
from cartography.models.core.relationships import LinkDirection
|
|
10
|
+
from cartography.models.core.relationships import make_target_node_matcher
|
|
11
|
+
from cartography.models.core.relationships import TargetNodeMatcher
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@dataclass(frozen=True)
|
|
15
|
+
class AWSDNSZoneNodeProperties(CartographyNodeProperties):
|
|
16
|
+
id: PropertyRef = PropertyRef("zoneid")
|
|
17
|
+
zoneid: PropertyRef = PropertyRef("zoneid")
|
|
18
|
+
name: PropertyRef = PropertyRef("name", extra_index=True)
|
|
19
|
+
comment: PropertyRef = PropertyRef("comment")
|
|
20
|
+
privatezone: PropertyRef = PropertyRef("privatezone")
|
|
21
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
@dataclass(frozen=True)
|
|
25
|
+
class AWSDNSZoneToAWSAccountRelProperties(CartographyRelProperties):
|
|
26
|
+
lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
@dataclass(frozen=True)
|
|
30
|
+
class AWSDNSZoneToAWSAccountRel(CartographyRelSchema):
|
|
31
|
+
target_node_label: str = "AWSAccount"
|
|
32
|
+
target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
|
|
33
|
+
{"id": PropertyRef("AWS_ID", set_in_kwargs=True)}
|
|
34
|
+
)
|
|
35
|
+
direction: LinkDirection = LinkDirection.INWARD
|
|
36
|
+
rel_label: str = "RESOURCE"
|
|
37
|
+
properties: AWSDNSZoneToAWSAccountRelProperties = (
|
|
38
|
+
AWSDNSZoneToAWSAccountRelProperties()
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
@dataclass(frozen=True)
|
|
43
|
+
class AWSDNSZoneSchema(CartographyNodeSchema):
|
|
44
|
+
label: str = "AWSDNSZone"
|
|
45
|
+
properties: AWSDNSZoneNodeProperties = AWSDNSZoneNodeProperties()
|
|
46
|
+
extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(["DNSZone"])
|
|
47
|
+
sub_resource_relationship: AWSDNSZoneToAWSAccountRel = AWSDNSZoneToAWSAccountRel()
|
|
@@ -29,6 +29,7 @@ class SnipeitAssetNodeProperties(CartographyNodeProperties):
|
|
|
29
29
|
manufacturer: PropertyRef = PropertyRef("manufacturer.name")
|
|
30
30
|
model: PropertyRef = PropertyRef("model.name")
|
|
31
31
|
serial: PropertyRef = PropertyRef("serial", extra_index=True)
|
|
32
|
+
status: PropertyRef = PropertyRef("status_label.name")
|
|
32
33
|
|
|
33
34
|
|
|
34
35
|
###
|
cartography/util.py
CHANGED
|
@@ -291,9 +291,16 @@ def aws_handle_regions(func: AWSGetFunc) -> AWSGetFunc:
|
|
|
291
291
|
try:
|
|
292
292
|
return func(*args, **kwargs)
|
|
293
293
|
except botocore.exceptions.ClientError as e:
|
|
294
|
+
error_code = e.response.get("Error", {}).get("Code")
|
|
295
|
+
if error_code == "InvalidToken":
|
|
296
|
+
raise RuntimeError(
|
|
297
|
+
"AWS returned an InvalidToken error. Configure regional STS endpoints by "
|
|
298
|
+
"setting environment variable AWS_STS_REGIONAL_ENDPOINTS=regional or adding "
|
|
299
|
+
"'sts_regional_endpoints = regional' to your AWS config file."
|
|
300
|
+
) from e
|
|
294
301
|
# The account is not authorized to use this service in this region
|
|
295
302
|
# so we can continue without raising an exception
|
|
296
|
-
if
|
|
303
|
+
if error_code in ERROR_CODES:
|
|
297
304
|
logger.warning(
|
|
298
305
|
"{} in this region. Skipping...".format(
|
|
299
306
|
e.response["Error"]["Message"],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cartography
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.110.0rc1
|
|
4
4
|
Summary: Explore assets and their relationships across your technical infrastructure.
|
|
5
5
|
Maintainer: Cartography Contributors
|
|
6
6
|
License: apache2
|
|
@@ -82,7 +82,7 @@ You can learn more about the story behind Cartography in our [presentation at BS
|
|
|
82
82
|
|
|
83
83
|
## Supported platforms
|
|
84
84
|
- [Airbyte](https://cartography-cncf.github.io/cartography/modules/airbyte/index.html) - Organization, Workspace, User, Source, Destination, Connection, Tag, Stream
|
|
85
|
-
- [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - ACM, API Gateway, CloudWatch, CodeBuild, Config, EC2, ECS, ECR, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, GuardDuty, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager(Secret Versions), Security Hub, SQS, SSM, STS, Tags
|
|
85
|
+
- [Amazon Web Services](https://cartography-cncf.github.io/cartography/modules/aws/index.html) - ACM, API Gateway, CloudWatch, CodeBuild, Config, EC2, ECS, ECR, EFS, Elasticsearch, Elastic Kubernetes Service (EKS), DynamoDB, Glue, GuardDuty, IAM, Inspector, KMS, Lambda, RDS, Redshift, Route53, S3, Secrets Manager(Secret Versions), Security Hub, SNS, SQS, SSM, STS, Tags
|
|
86
86
|
- [Anthropic](https://cartography-cncf.github.io/cartography/modules/anthropic/index.html) - Organization, ApiKey, User, Workspace
|
|
87
87
|
- [BigFix](https://cartography-cncf.github.io/cartography/modules/bigfix/index.html) - Computers
|
|
88
88
|
- [Cloudflare](https://cartography-cncf.github.io/cartography/modules/cloudflare/index.html) - Account, Role, Member, Zone, DNSRecord
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
cartography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
2
|
cartography/__main__.py,sha256=y5iqUrj4BmqZfjeDT-9balzpXeMARgHeIedRMRI1gr8,100
|
|
3
|
-
cartography/_version.py,sha256=
|
|
4
|
-
cartography/cli.py,sha256=
|
|
5
|
-
cartography/config.py,sha256=
|
|
3
|
+
cartography/_version.py,sha256=K77bmqqNrEr6adzs0e_JUxOx7UAa1mzTnIfy4pjE6lc,525
|
|
4
|
+
cartography/cli.py,sha256=S6O4FRxxBba60JAm6aLvQYiPS9DFxj0KLonWs4IU0Gw,47437
|
|
5
|
+
cartography/config.py,sha256=mRwjhJMSLp7BLxKmAAf96QZanpIaMK6GDImHPYlYFnM,17714
|
|
6
6
|
cartography/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
cartography/stats.py,sha256=N95prYlSzY8U52VFgKIDgOWOawu5Mig4N7GcVp3binQ,4420
|
|
8
8
|
cartography/sync.py,sha256=-WsU6tGUKpfxPRndm1QU_0HQyE20Q7fexQWRHWFrnQI,13867
|
|
9
|
-
cartography/util.py,sha256=
|
|
9
|
+
cartography/util.py,sha256=DTFfVRN1cv3msm2heIjFkpH3NBJs00IolwzuUcJiDHo,15965
|
|
10
10
|
cartography/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
cartography/client/aws/__init__.py,sha256=Zj7nX21QQELwPLZlpldm_22IiXZ1VFsEFQbWX_e4okU,558
|
|
12
12
|
cartography/client/aws/ecr.py,sha256=04IXnuEAauyO5Mx9Wmt79WdUnYDhYsk2QSOnwE5_BeM,1664
|
|
@@ -14,7 +14,7 @@ cartography/client/aws/iam.py,sha256=dYsGikc36DEsSeR2XVOVFFUDwuU9yWj_EVkpgVYCFgM
|
|
|
14
14
|
cartography/client/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
cartography/client/core/tx.py,sha256=Xx6_a5u7PE5pyREuBL_J39ORcafqieFf4KdosaEv1c4,13530
|
|
16
16
|
cartography/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
cartography/data/indexes.cypher,sha256=
|
|
17
|
+
cartography/data/indexes.cypher,sha256=R1UiBIAYqWGyZmwL0EPaaVWM2P64KKClSj0xPDF715s,22472
|
|
18
18
|
cartography/data/permission_relationships.yaml,sha256=RuKGGc_3ZUQ7ag0MssB8k_zaonCkVM5E8I_svBWTmGc,969
|
|
19
19
|
cartography/data/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
cartography/data/jobs/analysis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -30,7 +30,6 @@ cartography/data/jobs/analysis/gcp_gke_basic_auth.json,sha256=qLkrw1eZvV9ETtkIQN
|
|
|
30
30
|
cartography/data/jobs/analysis/gsuite_human_link.json,sha256=ArWA51fNIeeXwYiroJbKnuqN8y-TLrndOq0ZdC9q5os,541
|
|
31
31
|
cartography/data/jobs/cleanup/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
32
32
|
cartography/data/jobs/cleanup/aws_account_cleanup.json,sha256=DEB4h6Z4NSpYaLXECPhNk8HHbT0XNlqUA01pXIskBxc,473
|
|
33
|
-
cartography/data/jobs/cleanup/aws_dns_cleanup.json,sha256=H5uMZV4tN6HcjTYwh2I1dENzNGqu2D2Rs2q-5CK5e0Y,3498
|
|
34
33
|
cartography/data/jobs/cleanup/aws_import_account_access_key_cleanup.json,sha256=UCrAXf-8yQIoUa843VLLTpqrSpNa753c1cxzg32oqU0,737
|
|
35
34
|
cartography/data/jobs/cleanup/aws_import_config_cleanup.json,sha256=VCAJjEnFcQUR16VxKdpsOkBJEnhMuLk-7Kgm_p9k1NM,754
|
|
36
35
|
cartography/data/jobs/cleanup/aws_import_ec2_launch_configurations_cleanup.json,sha256=x9IIzb9Sr1353ygkA-qqUUbZS9XO2v3GzUHe-0J4Pw8,281
|
|
@@ -42,14 +41,9 @@ cartography/data/jobs/cleanup/aws_import_es_cleanup.json,sha256=VqRqiMcT0Ag0Qif2
|
|
|
42
41
|
cartography/data/jobs/cleanup/aws_import_groups_cleanup.json,sha256=QSdWIpC_Ru4TFBm9I5mpI-ZHyusbzCzCePWN-yn8TQU,463
|
|
43
42
|
cartography/data/jobs/cleanup/aws_import_groups_membership_cleanup.json,sha256=OSeasbv01pn47J1ib3yal_dAzbEOCZVJnldMqK0SAOQ,292
|
|
44
43
|
cartography/data/jobs/cleanup/aws_import_groups_policy_cleanup.json,sha256=U_yKHAsjHoI9fiiTqGyhlMazgeZumlZwMO70CpJpuAM,309
|
|
45
|
-
cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json,sha256=PSyerOlZkiLaWYFa3Hg1mqqX83FGwj36-p0BF1lR-Q8,650
|
|
46
44
|
cartography/data/jobs/cleanup/aws_import_internet_gateways_cleanup.json,sha256=SHHrR9pX0V1r-RxwJggHGeFA7JVQAAK02D-n-vqOvdU,287
|
|
47
45
|
cartography/data/jobs/cleanup/aws_import_kms_cleanup.json,sha256=NU9doXVk4UmAY59aYnld95Wc1b8DrfCbvJltUsATxko,1441
|
|
48
|
-
cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json,sha256=h219-cmOY19RjcGZiecM21HS52hw4S5EXFVAxIpyyTw,2267
|
|
49
46
|
cartography/data/jobs/cleanup/aws_import_principals_cleanup.json,sha256=yrI1FISGTlgaUZXFSj7XUCNzRoLqkcavLur4Lw4zSmU,1363
|
|
50
|
-
cartography/data/jobs/cleanup/aws_import_rds_clusters_cleanup.json,sha256=aHpM8qvN7TNTUJMQjOlv5-lxz0BzJl-tKIj_m5i_uqc,1166
|
|
51
|
-
cartography/data/jobs/cleanup/aws_import_rds_instances_cleanup.json,sha256=vmulpaxqqzBYSTtS6lYzbm55ksYjCab3UeRI0l13ktY,2733
|
|
52
|
-
cartography/data/jobs/cleanup/aws_import_rds_snapshots_cleanup.json,sha256=ckOaVSBL-7XLjc0_0sGKNWXj61oVQabj7ZEYG89HnfA,1171
|
|
53
47
|
cartography/data/jobs/cleanup/aws_import_redshift_clusters_cleanup.json,sha256=TNQ93Z7pPchdBAp3WiuoZMeDWdr_WQ139HiDPl32WhE,1963
|
|
54
48
|
cartography/data/jobs/cleanup/aws_import_reserved_instances_cleanup.json,sha256=P98o_cdNpso732eE-FjK4UYMp__--ZuedmiA3aXeQig,524
|
|
55
49
|
cartography/data/jobs/cleanup/aws_import_roles_cleanup.json,sha256=z6M8to_4TcOx4TKVbtfu86gRQgbDfVlJmRn3voNXbaI,500
|
|
@@ -67,7 +61,6 @@ cartography/data/jobs/cleanup/aws_ingest_ec2_auto_scaling_groups_cleanup.json,sh
|
|
|
67
61
|
cartography/data/jobs/cleanup/aws_ingest_load_balancers_cleanup.json,sha256=1vidNCrITt-_bxw5lsSzyqGsuyWiNhI6-bnuv5lMvRI,1729
|
|
68
62
|
cartography/data/jobs/cleanup/aws_ingest_load_balancers_v2_cleanup.json,sha256=kIMc5YTkWDOLdHCOAHPb7Q8Oz9pP6GzGO9gjBo0ZhR0,1596
|
|
69
63
|
cartography/data/jobs/cleanup/aws_ingest_subnets_cleanup.json,sha256=HtTXrA50PzBJ6LFnKZkO4hnnKxKqF6xUwqUrtFrp29Y,527
|
|
70
|
-
cartography/data/jobs/cleanup/aws_kms_details.json,sha256=awluz0DhiAcdABiTYL9M8EUQz2FAuXVpu8lICRpTEnU,319
|
|
71
64
|
cartography/data/jobs/cleanup/aws_post_ingestion_principals_cleanup.json,sha256=h3A6jNk7DGLFq6ob06-V9qzuYN-CltyHq_r2Gj8DqCI,266
|
|
72
65
|
cartography/data/jobs/cleanup/aws_s3_details.json,sha256=-GEnBicRjLBNEDS2k2MzE2PUFbQ5WmxXUbYeVTvlJzQ,316
|
|
73
66
|
cartography/data/jobs/cleanup/azure_cosmosdb_cassandra_keyspace_cleanup.json,sha256=_WIFvR-OGvG2q163NKsNXPqbDATz7rv7FLUTlWtnvK4,1358
|
|
@@ -154,7 +147,7 @@ cartography/intel/aws/__init__.py,sha256=lgu0kxERg_dJGuktEDU0ImpHuNGHJharoLEpirK
|
|
|
154
147
|
cartography/intel/aws/acm.py,sha256=a_i2pYPpocjlL8itwlcrmg8KrSLfjcmrkhcrPP-Omj8,3827
|
|
155
148
|
cartography/intel/aws/apigateway.py,sha256=hOYVSY70DbrEfhi9gkX7PAMtg9WiPE0Pbp2wqGes7Vs,12198
|
|
156
149
|
cartography/intel/aws/cloudtrail.py,sha256=LCqf3pQMiMY4h1Wehb_OjwXst2fMIEnNOD8HbXsK4X4,2753
|
|
157
|
-
cartography/intel/aws/cloudtrail_management_events.py,sha256=
|
|
150
|
+
cartography/intel/aws/cloudtrail_management_events.py,sha256=z5VZH1wQvl_ROG1sB9ZPdH4uexp-BKrI-WdEkhQKbkQ,35751
|
|
158
151
|
cartography/intel/aws/cloudwatch.py,sha256=bBPlx5W15nun-jhYs-UAZQpo9Qm7FcBs4gBQevTqmi4,7246
|
|
159
152
|
cartography/intel/aws/codebuild.py,sha256=8I-Xzm_c5-ixnGOOHIQLYYpClnaGjjHrEMjQ0-DGsgM,3958
|
|
160
153
|
cartography/intel/aws/config.py,sha256=IIICicLQ0OTT3H3o8LDakIkA1BPUMwSyzpKonet-PaY,7658
|
|
@@ -166,20 +159,22 @@ cartography/intel/aws/eks.py,sha256=bPItyEj5q0nSDltJrr0S5MIrTPV0fK3xkqF6EV8fcqA,
|
|
|
166
159
|
cartography/intel/aws/elasticache.py,sha256=ePTi-49Lbw94L6m7id5dUk1cG6FZRizFxojxKZBk8XY,5552
|
|
167
160
|
cartography/intel/aws/elasticsearch.py,sha256=8X_Rp1zejkvXho0Zz_Cr4g-w9IpompdYRc-YS595Aso,8645
|
|
168
161
|
cartography/intel/aws/emr.py,sha256=EJoKjHQP7-F_A1trUNU05Sb42yNR1i0C9VIpGcCfAXw,3662
|
|
162
|
+
cartography/intel/aws/eventbridge.py,sha256=XmF8Wfigbu94HOmpVR2w-fujpHjJi8HqJoBJ8wOZI0o,2285
|
|
163
|
+
cartography/intel/aws/glue.py,sha256=-AQh1PIbWzi7y-uZbx2yaHnrEpMsENSBX-pGUFqc6xQ,3349
|
|
169
164
|
cartography/intel/aws/guardduty.py,sha256=QpwWisz3TzbOxkRKNjByk4WWDCCMXr8jgNOgOdjQM5g,8532
|
|
170
165
|
cartography/intel/aws/iam.py,sha256=bkyIzWw2OC4MHxuoCvTiZ5eEGEQhz2asiUgY_tkX2GY,34322
|
|
171
166
|
cartography/intel/aws/iam_instance_profiles.py,sha256=QUyu30xid60BFaemp-q0y9FgNsHaIQyQnQ8gHUzWC4k,2211
|
|
172
|
-
cartography/intel/aws/identitycenter.py,sha256=
|
|
167
|
+
cartography/intel/aws/identitycenter.py,sha256=Q1k1BuBmtA85s5tHGS7lvgGxQ-H-piIyiWgyevFL92U,11161
|
|
173
168
|
cartography/intel/aws/inspector.py,sha256=G8a60uuFCuENvR2DNJ9VmWEJwG9UDENaC1buULvuSZc,12415
|
|
174
|
-
cartography/intel/aws/kms.py,sha256=
|
|
175
|
-
cartography/intel/aws/lambda_function.py,sha256=
|
|
169
|
+
cartography/intel/aws/kms.py,sha256=cnWZtzI7hsaXAt4CpdddAVDqaPZvtoXCoJIdqapHAbA,10754
|
|
170
|
+
cartography/intel/aws/lambda_function.py,sha256=3hpgqI1HOeywcP3xV-OcoCOxfyyqfyMaYeb46xdf8B4,9585
|
|
176
171
|
cartography/intel/aws/organizations.py,sha256=m5qk60N6pe7iKLN-Rtfg9aYv7OozoloSkcsuePd-RGs,4680
|
|
177
172
|
cartography/intel/aws/permission_relationships.py,sha256=LTmnHS6zk9hcdL548V5ka3Ey-6NsFjy1JYZTfRyB9Ys,15647
|
|
178
|
-
cartography/intel/aws/rds.py,sha256=
|
|
173
|
+
cartography/intel/aws/rds.py,sha256=are2LsWe8tM4UkCaGVnXS7F-ZVawklpc9h4lsM-fpGY,16173
|
|
179
174
|
cartography/intel/aws/redshift.py,sha256=FGcCzcnm1OOrbJvLqtR1DwWVn1pt4Y6_eKkTUERT7Ws,7108
|
|
180
175
|
cartography/intel/aws/resourcegroupstaggingapi.py,sha256=TkMlUKLrRBWAyeUu-cHKce7TFkwBnWV_Im8DONgnLGU,12852
|
|
181
|
-
cartography/intel/aws/resources.py,sha256=
|
|
182
|
-
cartography/intel/aws/route53.py,sha256
|
|
176
|
+
cartography/intel/aws/resources.py,sha256=7jTNcbbodPPrvJrnulgu3KfHCIk692saxfLW1AAXPM8,4343
|
|
177
|
+
cartography/intel/aws/route53.py,sha256=27ocRlNnxiXi7M7eYLUCVBNwaLyArX4CAExoOBxGl3Y,14294
|
|
183
178
|
cartography/intel/aws/s3.py,sha256=Da_5NYvQ7MN1AIN7CK9XXlVZo0fPdNHkqBZY1JWnHH4,33598
|
|
184
179
|
cartography/intel/aws/s3accountpublicaccessblock.py,sha256=XkqHnbj9ODRcc7Rbl4swi03qvw_T-7Bnx3BHpTmlxio,4688
|
|
185
180
|
cartography/intel/aws/secretsmanager.py,sha256=xM6znqD0cKNJbAhO2Zg3svyO7YUOqPFbunhODAVXMgw,7777
|
|
@@ -247,10 +242,11 @@ cartography/intel/duo/phones.py,sha256=3_MPXmR4ub4Jra0ISr6cKzC5z_Pvx7YhHojWeJJku
|
|
|
247
242
|
cartography/intel/duo/tokens.py,sha256=lVe0ByS3ncLA3FZXoqN8eLj_HMsl5s4uDT-uWlLJhSs,2407
|
|
248
243
|
cartography/intel/duo/users.py,sha256=e2eK716wVlO71O9Q9KrWZot2cHjHZ7KgC9ZW27pCDaI,4143
|
|
249
244
|
cartography/intel/duo/web_authn_credentials.py,sha256=mLWXdBe4V6fHCFotmtJmwhTSoOY6Hx87D3zI3hlL2nc,2656
|
|
250
|
-
cartography/intel/entra/__init__.py,sha256=
|
|
251
|
-
cartography/intel/entra/applications.py,sha256=
|
|
245
|
+
cartography/intel/entra/__init__.py,sha256=HU0A6XZ413vlSrMRMQzhloxmrr1k6g8ZxEUzb0kVHYw,2944
|
|
246
|
+
cartography/intel/entra/applications.py,sha256=FtZNq7VswfKEflSCqZKDaJ0Hxfs2noOqRsl3QKKtw2c,13550
|
|
252
247
|
cartography/intel/entra/groups.py,sha256=dENox8CUU_ngHkH0dDgzhH7mBthEovE6Trw6TyNAfGo,5994
|
|
253
|
-
cartography/intel/entra/ou.py,sha256=
|
|
248
|
+
cartography/intel/entra/ou.py,sha256=zFX9z0YdISgvHQBTswbEMI2MklrmPkKJyhz5cGC35RA,3786
|
|
249
|
+
cartography/intel/entra/resources.py,sha256=PiMt0-Y_KzNMhmNRkDxP9jmmhxDdmCh5b6PhTUkNZT4,759
|
|
254
250
|
cartography/intel/entra/users.py,sha256=LiQuvpzPefRWvW1o07l-8TYrr6sUmpiYFli_4ROKJEw,8491
|
|
255
251
|
cartography/intel/gcp/__init__.py,sha256=K8UOJmrhmG6b3ULJQVmOM4UC-v0KyKMKmhR_07_O41M,19421
|
|
256
252
|
cartography/intel/gcp/compute.py,sha256=id8B8RqrfyfRITD57KPh4zIHmjrQFSwtH4aNq3XHB2A,48897
|
|
@@ -344,8 +340,8 @@ cartography/intel/tailscale/postureintegrations.py,sha256=C75HPfJkWHqlcXjk81YYcS
|
|
|
344
340
|
cartography/intel/tailscale/tailnets.py,sha256=Ooc4XSOArWWFJoKykJDrk_tm2OKK1BHwfK_KEhckPp4,1679
|
|
345
341
|
cartography/intel/tailscale/users.py,sha256=kjHAdIVGUwx28RRQ0KwLsdsZT9L-HlfwTph9dis7grc,1820
|
|
346
342
|
cartography/intel/tailscale/utils.py,sha256=Xhwcb_31LWQy4MhoFWre_fX8gvddFVt13jjk5p0TPH4,4828
|
|
347
|
-
cartography/intel/trivy/__init__.py,sha256=
|
|
348
|
-
cartography/intel/trivy/scanner.py,sha256=
|
|
343
|
+
cartography/intel/trivy/__init__.py,sha256=cIWQfCVjl0EKtlod8dzLu543TPrr2XYecmY54TlMioU,7338
|
|
344
|
+
cartography/intel/trivy/scanner.py,sha256=gmWXtBxc_t4iiWp_OrgUkjR8aCZRbGKPAjida2gn58s,12895
|
|
349
345
|
cartography/models/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
350
346
|
cartography/models/airbyte/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
351
347
|
cartography/models/airbyte/connection.py,sha256=_tQSLqOwSU5tplBmLj331Knrv3n_czcvWWWHKpFuirg,5401
|
|
@@ -432,17 +428,40 @@ cartography/models/aws/eks/clusters.py,sha256=OthI554MrYNSl-p6ArMJsSH43xKPRDSnEm
|
|
|
432
428
|
cartography/models/aws/elasticache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
433
429
|
cartography/models/aws/elasticache/cluster.py,sha256=3tx3fL3FPSp4QX3pd42sV71t6kYRl-IfvU_56S7WmGo,3227
|
|
434
430
|
cartography/models/aws/elasticache/topic.py,sha256=Rq-Hj6xo9xouRLw2NRNU1cmmVUlOP0ieRA8fT5GlZ2w,2757
|
|
431
|
+
cartography/models/aws/eventbridge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
432
|
+
cartography/models/aws/eventbridge/rule.py,sha256=VH7oTferIyykITCJhVPWZKVx2-7H9Dxi4fm9GwDitJw,3135
|
|
433
|
+
cartography/models/aws/glue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
434
|
+
cartography/models/aws/glue/connection.py,sha256=wG7mDMoYnmAHXrLfi52_1wPHF6VcrLOKfDmZaJJti1Q,2213
|
|
435
435
|
cartography/models/aws/guardduty/__init__.py,sha256=ILQhP6R9RLgXzPKdmPzuGqhOgAXeIReUEyqKS-ZXS3k,19
|
|
436
436
|
cartography/models/aws/guardduty/findings.py,sha256=LwUE1DbDyl9c3g5fUSZxsYKQ8U44wDS4Pps-QPMyr3Y,4184
|
|
437
437
|
cartography/models/aws/iam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
438
438
|
cartography/models/aws/iam/instanceprofile.py,sha256=tlIkiCPX_9B9XPNAR0LcJAec8AbJq4dxgN8dgvEPXLs,2942
|
|
439
439
|
cartography/models/aws/identitycenter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
440
440
|
cartography/models/aws/identitycenter/awsidentitycenter.py,sha256=-ybcEgdZjwF0RINR_iLpmf5EOjuXYbz_CtixP-yqV30,2038
|
|
441
|
-
cartography/models/aws/identitycenter/awspermissionset.py,sha256=
|
|
441
|
+
cartography/models/aws/identitycenter/awspermissionset.py,sha256=egFas3D4tkUZhaE2uQTwLihsVtJB8QBMlgBO5Px4UYs,5294
|
|
442
442
|
cartography/models/aws/identitycenter/awsssouser.py,sha256=EWnyX5ev2aaK64YjKGuJSoknBF5b_kS5xc0kDf_0xfo,2886
|
|
443
443
|
cartography/models/aws/inspector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
444
444
|
cartography/models/aws/inspector/findings.py,sha256=ikm0vvjhGK_-BDt5VGyS4_0KwJsq81T6VgROq9HK2NE,8188
|
|
445
445
|
cartography/models/aws/inspector/packages.py,sha256=IoJT7w6n8Vx3vGGJPWKDgJLRpioqtOS5iMYZLnX7thg,2113
|
|
446
|
+
cartography/models/aws/kms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
447
|
+
cartography/models/aws/kms/aliases.py,sha256=dJizJxxPzsWuZGY77gPcX7OlPO5Y3nHOUJoqf0CNKos,2998
|
|
448
|
+
cartography/models/aws/kms/grants.py,sha256=oBSRRgme3dVejgilkBPcdPsHhyNAxGyhyQuVQmAP0fc,2623
|
|
449
|
+
cartography/models/aws/kms/keys.py,sha256=qfdc5wlN84j00Pjxq85GHQxLZ_asyNq2oD5Tj--MCZ4,3401
|
|
450
|
+
cartography/models/aws/lambda_function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
451
|
+
cartography/models/aws/lambda_function/alias.py,sha256=4NSxgpxAIY1Zzx9ApH9v4Oli5czisRLDKKByaRWy2eQ,3023
|
|
452
|
+
cartography/models/aws/lambda_function/event_source_mapping.py,sha256=nx4niDZ-cKwMmQrieqOgmThN-ITfF-o8AB6epKDvBfs,3997
|
|
453
|
+
cartography/models/aws/lambda_function/lambda_function.py,sha256=YRwoVcfD8xpVPz2YJsgfA6Y0jEVF_PnJ0WFynMu6gXg,4027
|
|
454
|
+
cartography/models/aws/lambda_function/layer.py,sha256=kKMxm5XkAIx-VBZZX3teA6Md-jByBBdFnSoebjqq3ik,2868
|
|
455
|
+
cartography/models/aws/rds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
456
|
+
cartography/models/aws/rds/cluster.py,sha256=chxwnOU7hGOvlnyTtaHx0ZxqyJIXQJ1qWEv68ti_nqo,4330
|
|
457
|
+
cartography/models/aws/rds/instance.py,sha256=B6vMGNDR9JhheJbnHGdrU0ZFyLorw55ZIsvlkkxjw6Q,6450
|
|
458
|
+
cartography/models/aws/rds/snapshot.py,sha256=T_2kqvJW2iDjPSg2cr9amXZNTotE9Zm66GSCDteiNbQ,4821
|
|
459
|
+
cartography/models/aws/rds/subnet_group.py,sha256=0tr68MYpWwRC-P23XLh-GecMQAfrQwLZ82LfdbcLsSc,3676
|
|
460
|
+
cartography/models/aws/route53/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
461
|
+
cartography/models/aws/route53/dnsrecord.py,sha256=JNkK7S1B7rB-uag1LuLhe2Rkct5foJ2X_bmUzUZsbuo,7552
|
|
462
|
+
cartography/models/aws/route53/nameserver.py,sha256=yKH3u_PDi7C-UQ69mNPiiFppsfiFC4nN0glouAGOoN8,2511
|
|
463
|
+
cartography/models/aws/route53/subzone.py,sha256=g3k4RHm5YqH-AjIZynlF4sj64cBhkiZ2L2CwV23j_L4,1674
|
|
464
|
+
cartography/models/aws/route53/zone.py,sha256=6yNSdZcmJZOzGjVG7HSC35P9fFKaxYTUp_O_Ptzt1Fk,2011
|
|
446
465
|
cartography/models/aws/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
447
466
|
cartography/models/aws/s3/account_public_access_block.py,sha256=L6AS0OncfSOWHP4pOXshnJFDPwnWqywzUIeUppJcw-Q,2256
|
|
448
467
|
cartography/models/aws/s3/notification.py,sha256=SF1VvCP_2WVh8K29d4ms8MUcg9AyO_MN8vCgzLFlGAs,1017
|
|
@@ -549,7 +568,7 @@ cartography/models/sentinelone/agent.py,sha256=3FTJQQ_QRq9GGeIjuV0_8ZeJcnKWGHHC3
|
|
|
549
568
|
cartography/models/sentinelone/application.py,sha256=g77cmjuTmiX_AwgZ7-x5eP-DsKXoCjzeAQuYtuCAcyo,1811
|
|
550
569
|
cartography/models/sentinelone/application_version.py,sha256=ICxaz1rndwBpaJUgbdTshhn-cbcU_KbV7VeKyUqsdoQ,3829
|
|
551
570
|
cartography/models/snipeit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
552
|
-
cartography/models/snipeit/asset.py,sha256=
|
|
571
|
+
cartography/models/snipeit/asset.py,sha256=hFvGPH6-6kGgG1yjztkf9wrrAmxNL2p38nc08vow6_w,3371
|
|
553
572
|
cartography/models/snipeit/tenant.py,sha256=E6uaY3d2W3MmfuUqF2TLpRP3T1QZkoIXRtp9BGxxSxk,695
|
|
554
573
|
cartography/models/snipeit/user.py,sha256=c-XWAnPTFrFnZLzR_sQB8pKNelwrLjHu-oWQLnQFnxg,2162
|
|
555
574
|
cartography/models/tailscale/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -563,9 +582,9 @@ cartography/models/trivy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
|
|
|
563
582
|
cartography/models/trivy/findings.py,sha256=SgI_h1aRyR20uAHvuXIZ1T6r4IZJt6SVhxRaF2bTsm0,3085
|
|
564
583
|
cartography/models/trivy/fix.py,sha256=ho9ENVl9HSXqyggyCwR6ilkOBKDxpQ7rGibo_j21NA4,2587
|
|
565
584
|
cartography/models/trivy/package.py,sha256=IwO1RZZ-MFRtNbt8Cq6YFl6fdNJMFmULnJkkK8Q4rL4,2809
|
|
566
|
-
cartography-0.
|
|
567
|
-
cartography-0.
|
|
568
|
-
cartography-0.
|
|
569
|
-
cartography-0.
|
|
570
|
-
cartography-0.
|
|
571
|
-
cartography-0.
|
|
585
|
+
cartography-0.110.0rc1.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
|
|
586
|
+
cartography-0.110.0rc1.dist-info/METADATA,sha256=KGMJ4cQnFq-pxGUDUYXa8OqAGvXjQ571C4gbBZiWrMM,12930
|
|
587
|
+
cartography-0.110.0rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
588
|
+
cartography-0.110.0rc1.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
|
|
589
|
+
cartography-0.110.0rc1.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
|
|
590
|
+
cartography-0.110.0rc1.dist-info/RECORD,,
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"statements": [
|
|
3
|
-
{
|
|
4
|
-
"query": "MATCH (n:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
5
|
-
"iterative": true,
|
|
6
|
-
"iterationsize": 100,
|
|
7
|
-
"__comment__": "cleanup AWS DNS Records linked to current account"
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"query": "MATCH (n:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
11
|
-
"iterative": true,
|
|
12
|
-
"iterationsize": 100
|
|
13
|
-
},
|
|
14
|
-
{
|
|
15
|
-
"query": "MATCH (n:NameServer)-[:NAMESERVER]->(:DNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
16
|
-
"iterative": true,
|
|
17
|
-
"iterationsize": 100
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
"query": "MATCH (:AWSDNSRecord)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
21
|
-
"iterative": true,
|
|
22
|
-
"iterationsize": 100,
|
|
23
|
-
"__comment__": "Clean up AWSDNSRecords pointing to other AWSDNSRecords within the current AWS account"
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"query": "MATCH (:LoadBalancer)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
27
|
-
"iterative": true,
|
|
28
|
-
"iterationsize": 100,
|
|
29
|
-
"__comment__": "Clean up AWSDNSRecords pointing to LoadBalancers within the current AWS account"
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"query": "MATCH (:EC2Instance)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
33
|
-
"iterative": true,
|
|
34
|
-
"iterationsize": 100,
|
|
35
|
-
"__comment__": "Clean up AWSDNSRecords pointing to EC2 Instances within the current AWS account"
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
"query": "MATCH (:NameServer)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
39
|
-
"iterative": true,
|
|
40
|
-
"iterationsize": 100,
|
|
41
|
-
"__comment__": "Clean up AWSDNSRecords pointing to NameServers within the current AWS account"
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"query": "MATCH (:AWSDNSZone)-[r:NAMESERVER]->(:NameServer)-[:NAMESERVER]->(:DNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
45
|
-
"iterative": true,
|
|
46
|
-
"iterationsize": 100
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
"query": "MATCH (:AWSDNSZone)<-[r:SUBZONE]-(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
50
|
-
"iterative": true,
|
|
51
|
-
"iterationsize": 100
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
"query": "MATCH (:ESDomain)<-[r:DNS_POINTS_TO]-(:DNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
55
|
-
"iterative": true,
|
|
56
|
-
"iterationsize": 100
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"query": "MATCH (:Ip)<-[r:DNS_POINTS_TO]-(:AWSDNSRecord)-[:MEMBER_OF_DNS_ZONE]->(:AWSDNSZone)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
60
|
-
"iterative": true,
|
|
61
|
-
"iterationsize": 100
|
|
62
|
-
}
|
|
63
|
-
],
|
|
64
|
-
"name": "cleanup AWS DNS"
|
|
65
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"statements": [
|
|
3
|
-
|
|
4
|
-
{
|
|
5
|
-
"query": "MATCH (:AWSAccount{id: $AWS_ID})-[:RESOURCE]->(:AWSSSOUser)<-[r:CAN_ASSUME_IDENTITY]-(:OktaUser) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r) RETURN COUNT(*) as TotalDeleted",
|
|
6
|
-
"iterative": true,
|
|
7
|
-
"iterationsize": 100
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"query": "MATCH (:AWSAccount{id: $AWS_ID})-[:RESOURCE]->(:AWSRole)-[r:ALLOWED_BY]->(:AWSSSOUser) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r) RETURN COUNT(*) as TotalDeleted",
|
|
11
|
-
"iterative": true,
|
|
12
|
-
"iterationsize": 100
|
|
13
|
-
}
|
|
14
|
-
],
|
|
15
|
-
"name": "cleanup AWS Identity Center Instances and Related Data"
|
|
16
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"statements": [
|
|
3
|
-
{
|
|
4
|
-
"query": "MATCH (n:AWSLambdaFunctionAlias)<-[:KNOWN_AS]-(:AWSLambda)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
5
|
-
"iterative": true,
|
|
6
|
-
"iterationsize": 100
|
|
7
|
-
},
|
|
8
|
-
{
|
|
9
|
-
"query": "MATCH (:AWSLambdaFunctionAlias)<-[r:KNOWN_AS]-(:AWSLambda)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
10
|
-
"iterative": true,
|
|
11
|
-
"iterationsize": 100
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"query": "MATCH (n:AWSLambdaEventSourceMapping)<-[:RESOURCE]-(:AWSLambda)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
15
|
-
"iterative": true,
|
|
16
|
-
"iterationsize": 100
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
"query": "MATCH (:AWSLambdaEventSourceMapping)<-[r:RESOURCE]-(:AWSLambda)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
20
|
-
"iterative": true,
|
|
21
|
-
"iterationsize": 100
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"query": "MATCH (n:AWSLambdaLayer)<-[:HAS]-(:AWSLambda)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
25
|
-
"iterative": true,
|
|
26
|
-
"iterationsize": 100
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"query": "MATCH (:AWSLambdaLayer)<-[r:HAS]-(:AWSLambda)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
30
|
-
"iterative": true,
|
|
31
|
-
"iterationsize": 100
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"query": "MATCH (:AWSAccount{id: $AWS_ID})-[:RESOURCE]->(:AWSLambda)-[r:STS_ASSUMEROLE_ALLOW]->(:AWSPrincipal) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE r",
|
|
35
|
-
"iterative": true,
|
|
36
|
-
"iterationsize": 100
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
"query": "MATCH (:AWSAccount{id: $AWS_ID})-[:RESOURCE]->(n:AWSLambda) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
40
|
-
"iterative": true,
|
|
41
|
-
"iterationsize": 100
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
"query": "MATCH (:AWSAccount{id: $AWS_ID})-[r:RESOURCE]->(:AWSLambda) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
45
|
-
"iterative": true,
|
|
46
|
-
"iterationsize": 100
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
"name": "cleanup AWSLambda"
|
|
50
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"statements": [
|
|
3
|
-
{
|
|
4
|
-
"query": "MATCH (n:RDSCluster)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
5
|
-
"iterative": true,
|
|
6
|
-
"iterationsize": 100,
|
|
7
|
-
"__comment__": "Delete RDS clusters that no longer exist and DETACH them from all nodes they were previously connected to."
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"query": "MATCH (:RDSCluster)<-[r:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
11
|
-
"iterative": true,
|
|
12
|
-
"iterationsize": 100,
|
|
13
|
-
"__comment__": "If an RDS cluster still exists but is no longer associated with its old AWS Account, delete the relationship between them."
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"query": "MATCH (:RDSCluster)<-[r:IS_CLUSTER_MEMBER_OF]-(:RDSInstance)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
17
|
-
"iterative": true,
|
|
18
|
-
"iterationsize": 100,
|
|
19
|
-
"__comment__": "If an RDS instance still exists and is no longer a member of an RDS cluster, delete the relationship between them."
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
"name": "cleanup RDSCluster"
|
|
23
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"statements": [
|
|
3
|
-
{
|
|
4
|
-
"query": "MATCH (sng:DBSubnetGroup)<-[:MEMBER_OF_DB_SUBNET_GROUP]-(:RDSInstance)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE sng.lastupdated <> $UPDATE_TAG WITH sng LIMIT $LIMIT_SIZE DETACH DELETE (sng)",
|
|
5
|
-
"iterative": true,
|
|
6
|
-
"iterationsize": 100,
|
|
7
|
-
"__comment__": "Delete DBSubnetGroups that no longer exist and DETACH them from their RDS instances."
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"query": "MATCH (:DBSubnetGroup)<-[r:MEMBER_OF_DB_SUBNET_GROUP]-(:RDSInstance)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
11
|
-
"iterative": true,
|
|
12
|
-
"iterationsize": 100,
|
|
13
|
-
"__comment__": "Delete the link between orphaned DB Subnet Groups and their RDS Instances."
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"query": "MATCH (:EC2Subnet)<-[r:RESOURCE]-(:DBSubnetGroup)<-[:MEMBER_OF_DB_SUBNET_GROUP]-(:RDSInstance)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
17
|
-
"iterative": true,
|
|
18
|
-
"iterationsize": 100,
|
|
19
|
-
"__comment__": "Delete the link between orphaned DB Subnet Groups and their EC2 Subnets."
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"query": "MATCH (n:RDSInstance)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
23
|
-
"iterative": true,
|
|
24
|
-
"iterationsize": 100,
|
|
25
|
-
"__comment__": "Delete RDS instances that no longer exist and DETACH them from all nodes they were previously connected to."
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"query": "MATCH (:RDSInstance)<-[r:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
29
|
-
"iterative": true,
|
|
30
|
-
"iterationsize": 100,
|
|
31
|
-
"__comment__": "If an RDS instance still exists but is no longer associated with its old AWS Account, delete the relationship between them."
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
"query": "MATCH (:EC2SecurityGroup)<-[r:MEMBER_OF_EC2_SECURITY_GROUP]-(:RDSInstance)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
35
|
-
"iterative": true,
|
|
36
|
-
"iterationsize": 100,
|
|
37
|
-
"__comment__": "If an RDS instance still exists and is no longer a part of its old EC2SecurityGroup, delete the relationship between them."
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
"query": "MATCH (:RDSInstance)<-[r:IS_READ_REPLICA_OF]-(:RDSInstance)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
41
|
-
"iterative": true,
|
|
42
|
-
"iterationsize": 100,
|
|
43
|
-
"__comment__": "If an RDS instance still exists and is no longer a read replica of another RDS instance, delete the relationship between them."
|
|
44
|
-
}
|
|
45
|
-
],
|
|
46
|
-
"name": "cleanup RDSInstance"
|
|
47
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"statements": [
|
|
3
|
-
{
|
|
4
|
-
"query": "MATCH (n:RDSSnapshot)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
|
|
5
|
-
"iterative": true,
|
|
6
|
-
"iterationsize": 100,
|
|
7
|
-
"__comment__": "Delete RDS snapshots that no longer exist and DETACH them from all nodes they were previously connected to."
|
|
8
|
-
},
|
|
9
|
-
{
|
|
10
|
-
"query": "MATCH (:RDSSnapshot)<-[r:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
11
|
-
"iterative": true,
|
|
12
|
-
"iterationsize": 100,
|
|
13
|
-
"__comment__": "If an RDS snapshot still exists but is no longer associated with its old AWS Account, delete the relationship between them."
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"query": "MATCH (:RDSInstance)<-[r:IS_SNAPSHOT_SOURCE]-(:RDSSnapshot)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
|
|
17
|
-
"iterative": true,
|
|
18
|
-
"iterationsize": 100,
|
|
19
|
-
"__comment__": "If an RDS snapshot still exists and is no longer a member of an RDS instance, delete the relationship between them."
|
|
20
|
-
}
|
|
21
|
-
],
|
|
22
|
-
"name": "cleanup RDSSnapshot"
|
|
23
|
-
}
|