cartography 0.107.0rc3__py3-none-any.whl → 0.108.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.

Files changed (27) hide show
  1. cartography/_version.py +2 -2
  2. cartography/cli.py +10 -0
  3. cartography/config.py +5 -0
  4. cartography/data/indexes.cypher +0 -8
  5. cartography/data/jobs/cleanup/github_repos_cleanup.json +2 -0
  6. cartography/intel/aws/__init__.py +1 -0
  7. cartography/intel/aws/ec2/security_groups.py +140 -122
  8. cartography/intel/aws/ec2/snapshots.py +47 -84
  9. cartography/intel/aws/guardduty.py +275 -0
  10. cartography/intel/aws/resources.py +2 -0
  11. cartography/intel/github/repos.py +370 -28
  12. cartography/models/aws/ec2/security_group_rules.py +109 -0
  13. cartography/models/aws/ec2/security_groups.py +90 -0
  14. cartography/models/aws/ec2/snapshots.py +58 -0
  15. cartography/models/aws/ec2/volumes.py +20 -0
  16. cartography/models/aws/guardduty/__init__.py +1 -0
  17. cartography/models/aws/guardduty/findings.py +102 -0
  18. cartography/models/github/dependencies.py +74 -0
  19. cartography/models/github/manifests.py +49 -0
  20. {cartography-0.107.0rc3.dist-info → cartography-0.108.0rc1.dist-info}/METADATA +3 -3
  21. {cartography-0.107.0rc3.dist-info → cartography-0.108.0rc1.dist-info}/RECORD +25 -19
  22. cartography/data/jobs/cleanup/aws_import_ec2_security_groupinfo_cleanup.json +0 -24
  23. cartography/data/jobs/cleanup/aws_import_snapshots_cleanup.json +0 -30
  24. {cartography-0.107.0rc3.dist-info → cartography-0.108.0rc1.dist-info}/WHEEL +0 -0
  25. {cartography-0.107.0rc3.dist-info → cartography-0.108.0rc1.dist-info}/entry_points.txt +0 -0
  26. {cartography-0.107.0rc3.dist-info → cartography-0.108.0rc1.dist-info}/licenses/LICENSE +0 -0
  27. {cartography-0.107.0rc3.dist-info → cartography-0.108.0rc1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,58 @@
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 EBSSnapshotNodeProperties(CartographyNodeProperties):
16
+ id: PropertyRef = PropertyRef("SnapshotId")
17
+ snapshotid: PropertyRef = PropertyRef("SnapshotId", extra_index=True)
18
+ description: PropertyRef = PropertyRef("Description")
19
+ encrypted: PropertyRef = PropertyRef("Encrypted")
20
+ progress: PropertyRef = PropertyRef("Progress")
21
+ starttime: PropertyRef = PropertyRef("StartTime")
22
+ state: PropertyRef = PropertyRef("State")
23
+ statemessage: PropertyRef = PropertyRef("StateMessage")
24
+ volumeid: PropertyRef = PropertyRef("VolumeId")
25
+ volumesize: PropertyRef = PropertyRef("VolumeSize")
26
+ outpostarn: PropertyRef = PropertyRef("OutpostArn")
27
+ dataencryptionkeyid: PropertyRef = PropertyRef("DataEncryptionKeyId")
28
+ kmskeyid: PropertyRef = PropertyRef("KmsKeyId")
29
+ region: PropertyRef = PropertyRef("Region", set_in_kwargs=True)
30
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
31
+
32
+
33
+ @dataclass(frozen=True)
34
+ class EBSSnapshotToAWSAccountRelProperties(CartographyRelProperties):
35
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
36
+
37
+
38
+ @dataclass(frozen=True)
39
+ class EBSSnapshotToAWSAccountRel(CartographyRelSchema):
40
+ target_node_label: str = "AWSAccount"
41
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
42
+ {
43
+ "id": PropertyRef("AWS_ID", set_in_kwargs=True),
44
+ }
45
+ )
46
+ direction: LinkDirection = LinkDirection.INWARD
47
+ rel_label: str = "RESOURCE"
48
+ properties: EBSSnapshotToAWSAccountRelProperties = (
49
+ EBSSnapshotToAWSAccountRelProperties()
50
+ )
51
+
52
+
53
+ @dataclass(frozen=True)
54
+ class EBSSnapshotSchema(CartographyNodeSchema):
55
+ label: str = "EBSSnapshot"
56
+ properties: EBSSnapshotNodeProperties = EBSSnapshotNodeProperties()
57
+ sub_resource_relationship: EBSSnapshotToAWSAccountRel = EBSSnapshotToAWSAccountRel()
58
+ other_relationships: OtherRelationships = OtherRelationships([])
@@ -68,6 +68,24 @@ class EBSVolumeToEC2InstanceRel(CartographyRelSchema):
68
68
  )
69
69
 
70
70
 
71
+ @dataclass(frozen=True)
72
+ class EBSVolumeToEBSSnapshotRelProperties(CartographyRelProperties):
73
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
74
+
75
+
76
+ @dataclass(frozen=True)
77
+ class EBSVolumeToEBSSnapshotRel(CartographyRelSchema):
78
+ target_node_label: str = "EBSSnapshot"
79
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
80
+ {"id": PropertyRef("SnapshotId")},
81
+ )
82
+ direction: LinkDirection = LinkDirection.INWARD
83
+ rel_label: str = "CREATED_FROM"
84
+ properties: EBSVolumeToEBSSnapshotRelProperties = (
85
+ EBSVolumeToEBSSnapshotRelProperties()
86
+ )
87
+
88
+
71
89
  @dataclass(frozen=True)
72
90
  class EBSVolumeSchema(CartographyNodeSchema):
73
91
  """
@@ -80,6 +98,7 @@ class EBSVolumeSchema(CartographyNodeSchema):
80
98
  other_relationships: OtherRelationships = OtherRelationships(
81
99
  [
82
100
  EBSVolumeToEC2InstanceRel(),
101
+ EBSVolumeToEBSSnapshotRel(),
83
102
  ],
84
103
  )
85
104
 
@@ -110,5 +129,6 @@ class EBSVolumeInstanceSchema(CartographyNodeSchema):
110
129
  other_relationships: OtherRelationships = OtherRelationships(
111
130
  [
112
131
  EBSVolumeToEC2InstanceRel(),
132
+ EBSVolumeToEBSSnapshotRel(),
113
133
  ],
114
134
  )
@@ -0,0 +1 @@
1
+ # GuardDuty models
@@ -0,0 +1,102 @@
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 OtherRelationships
12
+ from cartography.models.core.relationships import TargetNodeMatcher
13
+
14
+
15
+ @dataclass(frozen=True)
16
+ class GuardDutyFindingNodeProperties(CartographyNodeProperties):
17
+ id: PropertyRef = PropertyRef("id")
18
+ arn: PropertyRef = PropertyRef("arn", extra_index=True)
19
+ title: PropertyRef = PropertyRef("title")
20
+ description: PropertyRef = PropertyRef("description")
21
+ type: PropertyRef = PropertyRef("type")
22
+ severity: PropertyRef = PropertyRef("severity")
23
+ confidence: PropertyRef = PropertyRef("confidence")
24
+ eventfirstseen: PropertyRef = PropertyRef("eventfirstseen")
25
+ eventlastseen: PropertyRef = PropertyRef("eventlastseen")
26
+ accountid: PropertyRef = PropertyRef("accountid")
27
+ region: PropertyRef = PropertyRef("region")
28
+ detectorid: PropertyRef = PropertyRef("detectorid")
29
+ resource_type: PropertyRef = PropertyRef("resource_type")
30
+ resource_id: PropertyRef = PropertyRef("resource_id")
31
+ archived: PropertyRef = PropertyRef("archived")
32
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
33
+
34
+
35
+ @dataclass(frozen=True)
36
+ class GuardDutyFindingToAWSAccountRelRelProperties(CartographyRelProperties):
37
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
38
+
39
+
40
+ @dataclass(frozen=True)
41
+ class GuardDutyFindingToAWSAccountRel(CartographyRelSchema):
42
+ target_node_label: str = "AWSAccount"
43
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
44
+ {"id": PropertyRef("AWS_ID", set_in_kwargs=True)},
45
+ )
46
+ direction: LinkDirection = LinkDirection.INWARD
47
+ rel_label: str = "RESOURCE"
48
+ properties: GuardDutyFindingToAWSAccountRelRelProperties = (
49
+ GuardDutyFindingToAWSAccountRelRelProperties()
50
+ )
51
+
52
+
53
+ @dataclass(frozen=True)
54
+ class GuardDutyFindingToEC2InstanceRelRelProperties(CartographyRelProperties):
55
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
56
+
57
+
58
+ @dataclass(frozen=True)
59
+ class GuardDutyFindingToEC2InstanceRel(CartographyRelSchema):
60
+ target_node_label: str = "EC2Instance"
61
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
62
+ {"id": PropertyRef("resource_id")},
63
+ )
64
+ direction: LinkDirection = LinkDirection.OUTWARD
65
+ rel_label: str = "AFFECTS"
66
+ properties: GuardDutyFindingToEC2InstanceRelRelProperties = (
67
+ GuardDutyFindingToEC2InstanceRelRelProperties()
68
+ )
69
+
70
+
71
+ @dataclass(frozen=True)
72
+ class GuardDutyFindingToS3BucketRelRelProperties(CartographyRelProperties):
73
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
74
+
75
+
76
+ @dataclass(frozen=True)
77
+ class GuardDutyFindingToS3BucketRel(CartographyRelSchema):
78
+ target_node_label: str = "S3Bucket"
79
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
80
+ {"id": PropertyRef("resource_id")},
81
+ )
82
+ direction: LinkDirection = LinkDirection.OUTWARD
83
+ rel_label: str = "AFFECTS"
84
+ properties: GuardDutyFindingToS3BucketRelRelProperties = (
85
+ GuardDutyFindingToS3BucketRelRelProperties()
86
+ )
87
+
88
+
89
+ @dataclass(frozen=True)
90
+ class GuardDutyFindingSchema(CartographyNodeSchema):
91
+ label: str = "GuardDutyFinding"
92
+ properties: GuardDutyFindingNodeProperties = GuardDutyFindingNodeProperties()
93
+ extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(["Risk"])
94
+ sub_resource_relationship: GuardDutyFindingToAWSAccountRel = (
95
+ GuardDutyFindingToAWSAccountRel()
96
+ )
97
+ other_relationships: OtherRelationships = OtherRelationships(
98
+ [
99
+ GuardDutyFindingToEC2InstanceRel(),
100
+ GuardDutyFindingToS3BucketRel(),
101
+ ],
102
+ )
@@ -0,0 +1,74 @@
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 GitHubDependencyNodeProperties(CartographyNodeProperties):
16
+ id: PropertyRef = PropertyRef("id")
17
+ name: PropertyRef = PropertyRef("name")
18
+ original_name: PropertyRef = PropertyRef("original_name")
19
+ version: PropertyRef = PropertyRef("version")
20
+ ecosystem: PropertyRef = PropertyRef("ecosystem")
21
+ package_manager: PropertyRef = PropertyRef("package_manager")
22
+ repo_name: PropertyRef = PropertyRef("repo_name")
23
+ manifest_file: PropertyRef = PropertyRef("manifest_file")
24
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
25
+
26
+
27
+ @dataclass(frozen=True)
28
+ class GitHubDependencyToRepositoryRelProperties(CartographyRelProperties):
29
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
30
+ requirements: PropertyRef = PropertyRef("requirements")
31
+ manifest_path: PropertyRef = PropertyRef("manifest_path")
32
+
33
+
34
+ @dataclass(frozen=True)
35
+ class GitHubDependencyToRepositoryRel(CartographyRelSchema):
36
+ target_node_label: str = "GitHubRepository"
37
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
38
+ {"id": PropertyRef("repo_url", set_in_kwargs=True)}
39
+ )
40
+ direction: LinkDirection = LinkDirection.INWARD
41
+ rel_label: str = "REQUIRES"
42
+ properties: GitHubDependencyToRepositoryRelProperties = (
43
+ GitHubDependencyToRepositoryRelProperties()
44
+ )
45
+
46
+
47
+ @dataclass(frozen=True)
48
+ class DependencyGraphManifestToDependencyRelProperties(CartographyRelProperties):
49
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
50
+
51
+
52
+ @dataclass(frozen=True)
53
+ class DependencyGraphManifestToDependencyRel(CartographyRelSchema):
54
+ target_node_label: str = "DependencyGraphManifest"
55
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
56
+ {"id": PropertyRef("manifest_id", set_in_kwargs=True)}
57
+ )
58
+ direction: LinkDirection = LinkDirection.INWARD
59
+ rel_label: str = "HAS_DEP"
60
+ properties: DependencyGraphManifestToDependencyRelProperties = (
61
+ DependencyGraphManifestToDependencyRelProperties()
62
+ )
63
+
64
+
65
+ @dataclass(frozen=True)
66
+ class GitHubDependencySchema(CartographyNodeSchema):
67
+ label: str = "Dependency"
68
+ properties: GitHubDependencyNodeProperties = GitHubDependencyNodeProperties()
69
+ sub_resource_relationship: GitHubDependencyToRepositoryRel = (
70
+ GitHubDependencyToRepositoryRel()
71
+ )
72
+ other_relationships: OtherRelationships = OtherRelationships(
73
+ [DependencyGraphManifestToDependencyRel()]
74
+ )
@@ -0,0 +1,49 @@
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 TargetNodeMatcher
11
+
12
+
13
+ @dataclass(frozen=True)
14
+ class DependencyGraphManifestNodeProperties(CartographyNodeProperties):
15
+ id: PropertyRef = PropertyRef("id")
16
+ blob_path: PropertyRef = PropertyRef("blob_path")
17
+ filename: PropertyRef = PropertyRef("filename")
18
+ dependencies_count: PropertyRef = PropertyRef("dependencies_count")
19
+ repo_url: PropertyRef = PropertyRef("repo_url")
20
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
21
+
22
+
23
+ @dataclass(frozen=True)
24
+ class DependencyGraphManifestToRepositoryRelProperties(CartographyRelProperties):
25
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
26
+
27
+
28
+ @dataclass(frozen=True)
29
+ class DependencyGraphManifestToRepositoryRel(CartographyRelSchema):
30
+ target_node_label: str = "GitHubRepository"
31
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
32
+ {"id": PropertyRef("repo_url", set_in_kwargs=True)}
33
+ )
34
+ direction: LinkDirection = LinkDirection.INWARD
35
+ rel_label: str = "HAS_MANIFEST"
36
+ properties: DependencyGraphManifestToRepositoryRelProperties = (
37
+ DependencyGraphManifestToRepositoryRelProperties()
38
+ )
39
+
40
+
41
+ @dataclass(frozen=True)
42
+ class DependencyGraphManifestSchema(CartographyNodeSchema):
43
+ label: str = "DependencyGraphManifest"
44
+ properties: DependencyGraphManifestNodeProperties = (
45
+ DependencyGraphManifestNodeProperties()
46
+ )
47
+ sub_resource_relationship: DependencyGraphManifestToRepositoryRel = (
48
+ DependencyGraphManifestToRepositoryRel()
49
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cartography
3
- Version: 0.107.0rc3
3
+ Version: 0.108.0rc1
4
4
  Summary: Explore assets and their relationships across your technical infrastructure.
5
5
  Maintainer: Cartography Contributors
6
6
  License: apache2
@@ -82,14 +82,14 @@ 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, 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, 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
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
89
89
  - [Crowdstrike Falcon](https://cartography-cncf.github.io/cartography/modules/crowdstrike/index.html) - Hosts, Spotlight vulnerabilities, CVEs
90
90
  - [DigitalOcean](https://cartography-cncf.github.io/cartography/modules/digitalocean/index.html)
91
91
  - [Duo](https://cartography-cncf.github.io/cartography/modules/duo/index.html) - Users, Groups, Endpoints
92
- - [GitHub](https://cartography-cncf.github.io/cartography/modules/github/index.html) - repos, branches, users, teams
92
+ - [GitHub](https://cartography-cncf.github.io/cartography/modules/github/index.html) - repos, branches, users, teams, dependency graph manifests, dependencies
93
93
  - [Google Cloud Platform](https://cartography-cncf.github.io/cartography/modules/gcp/index.html) - Cloud Resource Manager, Compute, DNS, Storage, Google Kubernetes Engine
94
94
  - [Google GSuite](https://cartography-cncf.github.io/cartography/modules/gsuite/index.html) - users, groups
95
95
  - [Kandji](https://cartography-cncf.github.io/cartography/modules/kandji/index.html) - Devices
@@ -1,8 +1,8 @@
1
1
  cartography/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  cartography/__main__.py,sha256=y5iqUrj4BmqZfjeDT-9balzpXeMARgHeIedRMRI1gr8,100
3
- cartography/_version.py,sha256=Mw8xqndv8cO5u8s9TF2NfNZPshP9CgkSEhbYGTmeNck,525
4
- cartography/cli.py,sha256=e5F9239v_JoLR293JMZI1toYg43li2RX_F-qOHTB-HA,46054
5
- cartography/config.py,sha256=mM7Frg8maGB4a0Oad2nvktM38uC7zgrwSmofO5l4Aus,16492
3
+ cartography/_version.py,sha256=eEqrH1vh8eixiAKTF8j2rZx8PgqciWc7qQgFtyY-itY,525
4
+ cartography/cli.py,sha256=qOu3nSIKWsuDbuPe5XrKBoAArFQKZP8jSjK8OtI69_E,46595
5
+ cartography/config.py,sha256=q-fVcWJH9ida_cAII9RcOT0FUpFFify7W6NMvmC3kGk,16873
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
@@ -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=vbKOyt87_MAxrDnKU8cbZBuiLnMyrbadSZq6aIaT6Zo,24112
17
+ cartography/data/indexes.cypher,sha256=QW6YFuxki0wkZKjHZ_AvETXPs2bxHK_mEw5oRZY-0lY,23578
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
@@ -34,7 +34,6 @@ cartography/data/jobs/cleanup/aws_dns_cleanup.json,sha256=H5uMZV4tN6HcjTYwh2I1dE
34
34
  cartography/data/jobs/cleanup/aws_import_account_access_key_cleanup.json,sha256=UCrAXf-8yQIoUa843VLLTpqrSpNa753c1cxzg32oqU0,737
35
35
  cartography/data/jobs/cleanup/aws_import_config_cleanup.json,sha256=VCAJjEnFcQUR16VxKdpsOkBJEnhMuLk-7Kgm_p9k1NM,754
36
36
  cartography/data/jobs/cleanup/aws_import_ec2_launch_configurations_cleanup.json,sha256=x9IIzb9Sr1353ygkA-qqUUbZS9XO2v3GzUHe-0J4Pw8,281
37
- cartography/data/jobs/cleanup/aws_import_ec2_security_groupinfo_cleanup.json,sha256=CackEgSs1PN15pTg8oIdS0amB-n-PsKODLAaqC3gf_A,1183
38
37
  cartography/data/jobs/cleanup/aws_import_ecr_cleanup.json,sha256=7Sga9WlbhHe-VyoFaF0LrlhbAFvSSOjVKiRf_VW8To8,1355
39
38
  cartography/data/jobs/cleanup/aws_import_ecs_cleanup.json,sha256=6HtmZy7gNC0ZxLU7I6C2KKcqpZhYRFyaJZCDA50DzAs,2126
40
39
  cartography/data/jobs/cleanup/aws_import_elastic_ip_addresses_cleanup.json,sha256=Gd4cppQTr9X4646UNS8g0VLR1eSOm8r0GjBxQMuuEic,1043
@@ -59,7 +58,6 @@ cartography/data/jobs/cleanup/aws_import_s3_acl_cleanup.json,sha256=AmQDF8VZwXLt
59
58
  cartography/data/jobs/cleanup/aws_import_s3_buckets_cleanup.json,sha256=zF_TRTZGorQO6SIXryO3qAUVWM8We2fBABuTS3rflQU,756
60
59
  cartography/data/jobs/cleanup/aws_import_secrets_cleanup.json,sha256=ehQJQSoWmDths9FjhBJZA3SndlvmzWjzrUaKxmz-2PY,283
61
60
  cartography/data/jobs/cleanup/aws_import_securityhub_cleanup.json,sha256=WO6OrIFr6tqbRtF0bG_JwVp4ofnnsHciJISnDBZkZxU,266
62
- cartography/data/jobs/cleanup/aws_import_snapshots_cleanup.json,sha256=qAE2PoEuhYIueduzrLC7C1PzyZynm4G_DUhmrmc6Ctw,1244
63
61
  cartography/data/jobs/cleanup/aws_import_sqs_queues_cleanup.json,sha256=Mla8y-CWaQdPJO9IDmWDz_zCAuclcJ4GRhlAlYVj_qw,629
64
62
  cartography/data/jobs/cleanup/aws_import_tags_cleanup.json,sha256=mVOmhpoeHYItYQFATlTTeBhUt2GipAliRhh69zQcHok,7360
65
63
  cartography/data/jobs/cleanup/aws_import_tgw_cleanup.json,sha256=jHlKj2jcI3avvDMOCbFd89hTS0HcNVrZinJ4AYgykQs,2097
@@ -100,7 +98,7 @@ cartography/data/jobs/cleanup/gcp_crm_project_cleanup.json,sha256=JImcuuz9HI2TL0
100
98
  cartography/data/jobs/cleanup/gcp_dns_cleanup.json,sha256=NGs5UYFmm65Rq8gyqbzIe8_OnFchfpNFf9iAcIj_hyY,1286
101
99
  cartography/data/jobs/cleanup/gcp_gke_cluster_cleanup.json,sha256=3bMEJ44AEvjkj_1ibclk6Ys5r1LniUWefpZ_U5hTwHI,671
102
100
  cartography/data/jobs/cleanup/gcp_storage_bucket_cleanup.json,sha256=sGygB_meoCpGdGgEZtIlC4L-19meAXdfP99gkNJHD7o,1288
103
- cartography/data/jobs/cleanup/github_repos_cleanup.json,sha256=Ko6zya72yLjLt_m-wogAUmuzzL2-IJiO457clEHFxPk,3676
101
+ cartography/data/jobs/cleanup/github_repos_cleanup.json,sha256=HsQbGviHXyEYm9bITWByjQAyC4zSE0eLkg9_CNlKFcA,3678
104
102
  cartography/data/jobs/cleanup/gsuite_ingest_groups_cleanup.json,sha256=ddXAUi6aVi2htf5R1bNn6YrC3SjshjLBgWtlzBgZ9Do,961
105
103
  cartography/data/jobs/cleanup/gsuite_ingest_users_cleanup.json,sha256=0qMLbVSTyq5F9vt4-TvVa3YAAvZCpPtzF9EwblaTxWg,353
106
104
  cartography/data/jobs/cleanup/jamf_import_computers_cleanup.json,sha256=sEF6VSkOcFO210y3VHFO45PDYi5ZePS6xRm3GL9lW7A,248
@@ -153,7 +151,7 @@ cartography/intel/anthropic/apikeys.py,sha256=wdXnjPuZ1VaO0X96E6rk-tIhMSnXWNNPeU
153
151
  cartography/intel/anthropic/users.py,sha256=8tE18LVlweG2BhdMPdicEw-_WCmFs5AR6cyFABE3pvs,1948
154
152
  cartography/intel/anthropic/util.py,sha256=m2OopxCC6chCwOxUXmc9nWW--nOlYyBL_Nc3Kd4CEwY,1847
155
153
  cartography/intel/anthropic/workspaces.py,sha256=_t2kdGIFceDziC_BqIJa9-nLWIoWJbPoFNX1JYqbQ-w,2544
156
- cartography/intel/aws/__init__.py,sha256=GOMkWtprFPZmPPe5ZfVPLLWovTo_Wj1271_rCCyCYyc,12245
154
+ cartography/intel/aws/__init__.py,sha256=lgu0kxERg_dJGuktEDU0ImpHuNGHJharoLEpirKWPZM,12330
157
155
  cartography/intel/aws/acm.py,sha256=a_i2pYPpocjlL8itwlcrmg8KrSLfjcmrkhcrPP-Omj8,3827
158
156
  cartography/intel/aws/apigateway.py,sha256=hOYVSY70DbrEfhi9gkX7PAMtg9WiPE0Pbp2wqGes7Vs,12198
159
157
  cartography/intel/aws/cloudtrail.py,sha256=kip3O39ulRmuo9RpfkofzUcGnkNnF8ksD7hP0Qe75-A,2441
@@ -169,6 +167,7 @@ cartography/intel/aws/eks.py,sha256=bPItyEj5q0nSDltJrr0S5MIrTPV0fK3xkqF6EV8fcqA,
169
167
  cartography/intel/aws/elasticache.py,sha256=dpRJCYxgUW2ImgGMt4L54xFil8apUoJxZq6hpewXxAE,4590
170
168
  cartography/intel/aws/elasticsearch.py,sha256=8X_Rp1zejkvXho0Zz_Cr4g-w9IpompdYRc-YS595Aso,8645
171
169
  cartography/intel/aws/emr.py,sha256=EJoKjHQP7-F_A1trUNU05Sb42yNR1i0C9VIpGcCfAXw,3662
170
+ cartography/intel/aws/guardduty.py,sha256=QpwWisz3TzbOxkRKNjByk4WWDCCMXr8jgNOgOdjQM5g,8532
172
171
  cartography/intel/aws/iam.py,sha256=bkyIzWw2OC4MHxuoCvTiZ5eEGEQhz2asiUgY_tkX2GY,34322
173
172
  cartography/intel/aws/iam_instance_profiles.py,sha256=QUyu30xid60BFaemp-q0y9FgNsHaIQyQnQ8gHUzWC4k,2211
174
173
  cartography/intel/aws/identitycenter.py,sha256=C2EOfwQO1zBjePAXtreUcJIy7RU__ior3liRT4SpGO8,9544
@@ -180,7 +179,7 @@ cartography/intel/aws/permission_relationships.py,sha256=LTmnHS6zk9hcdL548V5ka3E
180
179
  cartography/intel/aws/rds.py,sha256=9TQsoUQAJXj3x7laqJp06N9TQIN9ARyRiImBW9lQKOI,26574
181
180
  cartography/intel/aws/redshift.py,sha256=FGcCzcnm1OOrbJvLqtR1DwWVn1pt4Y6_eKkTUERT7Ws,7108
182
181
  cartography/intel/aws/resourcegroupstaggingapi.py,sha256=CebHaVLh8cr4CDYz54p5MGANPuE5Ni-_nFC78Znh4uU,10807
183
- cartography/intel/aws/resources.py,sha256=q0YTxhrFbD9ELamRNYhf4oAtvSlP0Y4xVjVVZUqU2rw,4181
182
+ cartography/intel/aws/resources.py,sha256=rr5TB5QiOymjoTR7Lr09HbdnCgycMGq52mC4CP7MhQo,4238
184
183
  cartography/intel/aws/route53.py,sha256=-AZDD4zVR5pQ_c1bx87UZuzbC0mDiI-YS_8llFMZkwI,14424
185
184
  cartography/intel/aws/s3.py,sha256=Da_5NYvQ7MN1AIN7CK9XXlVZo0fPdNHkqBZY1JWnHH4,33598
186
185
  cartography/intel/aws/s3accountpublicaccessblock.py,sha256=XkqHnbj9ODRcc7Rbl4swi03qvw_T-7Bnx3BHpTmlxio,4688
@@ -203,8 +202,8 @@ cartography/intel/aws/ec2/network_acls.py,sha256=UqAYCA6uA7UWbJVjC9wRBM8W0410j-b
203
202
  cartography/intel/aws/ec2/network_interfaces.py,sha256=3-3TFjDOQ4sFTNdjFkkFrxcxntN5KK_dE7nkVLqAswU,9553
204
203
  cartography/intel/aws/ec2/reserved_instances.py,sha256=BsshVUzkuOstbidYEGq0By2Y-ZM5T7OVxfVrHVJ6HS8,3321
205
204
  cartography/intel/aws/ec2/route_tables.py,sha256=NSW7B-4wII4mf5ClX5F1q4cKfSNAjxBSnrdk4EhxXz0,10465
206
- cartography/intel/aws/ec2/security_groups.py,sha256=JT3UFD-LgcdH85bel0GomHDEkCntPjvH0IXl9-ELMqI,6447
207
- cartography/intel/aws/ec2/snapshots.py,sha256=BiTvxR8ibt7wdBTNNpz75zRqc1Iiy6ksmowBSyBUhEU,5685
205
+ cartography/intel/aws/ec2/security_groups.py,sha256=VAa4Cp0PJtjLrl95MIudXdF8VR4ZafY3bOjuyrlPnmc,6582
206
+ cartography/intel/aws/ec2/snapshots.py,sha256=X7J9xmhrvPILFEt7yS6yiQFElvddjkhZj2V8b9KaGRM,4460
208
207
  cartography/intel/aws/ec2/subnets.py,sha256=LDuWdkQH-2O8TmqYlvyIn3STUgP6vlhKjG8o8XNMuGE,4142
209
208
  cartography/intel/aws/ec2/tgw.py,sha256=FcXWgLkr4EcD9DRXJMeyWQIgIHidaq40UrZneKhvnuE,9621
210
209
  cartography/intel/aws/ec2/util.py,sha256=t6oJX9nCTejvp0D9ihxfhmCoD1aoOXQB0cuvz0pMCe0,226
@@ -262,7 +261,7 @@ cartography/intel/gcp/gke.py,sha256=2-lhTzFEh-gAQ756Sr0kZZJY5_zcFWPS7_p0EVNzuR8,
262
261
  cartography/intel/gcp/iam.py,sha256=0aSVXeSuPLE5g0Ckl8mC0vM9d2dIi-W_8tcp1xLUhoE,7694
263
262
  cartography/intel/gcp/storage.py,sha256=ARDDySshRza90Biw33z_oNxLGJqvxLYBDyuRJ270muc,9307
264
263
  cartography/intel/github/__init__.py,sha256=_d2t6M41rAKPCLq6sQI3KxhG1Z9GbuC72z--2Q7MSTU,1937
265
- cartography/intel/github/repos.py,sha256=i_ZGj2vbeQN28EYtoco6pa3cWozfaXbRrAFWSTPPDek,31020
264
+ cartography/intel/github/repos.py,sha256=jFbFECG_nu8napA14AOd0ZA9_GGq40UpaXnxUtYp5Ig,43202
266
265
  cartography/intel/github/teams.py,sha256=JICUXVScYbowtbOtIe-D4bibPmSBbQnL5z8IjzqSJ3s,14657
267
266
  cartography/intel/github/users.py,sha256=meAkOpymGGdXXqZDCqv0hPIqCP4FHJvHkVug7L8jA10,9125
268
267
  cartography/intel/github/util.py,sha256=00MihS14j95xjwEdoSHlC8BYXQYJzDHCMc43DkCH55o,8098
@@ -403,11 +402,14 @@ cartography/models/aws/ec2/reservations.py,sha256=Lep6M-srupbAZZzCFmOpiwz22AafJL
403
402
  cartography/models/aws/ec2/route_table_associations.py,sha256=Rs9uG976zZazcUIGL5oGpLkB72gLxWHFNCUqrvjMTvg,3974
404
403
  cartography/models/aws/ec2/route_tables.py,sha256=R0gcwaOsLXRjpuvL9Pq-uGosetZysHPrQiqycYkJLB0,4852
405
404
  cartography/models/aws/ec2/routes.py,sha256=T_PR1-pf_ZiE_w3zNaHaksXI5sIsaDwmH3sRctlP4uc,3725
405
+ cartography/models/aws/ec2/security_group_rules.py,sha256=79MULpVkdI0IzFIFdnxYHloLRg8L7n2paGodXndY0EU,4350
406
+ cartography/models/aws/ec2/security_groups.py,sha256=qFWC3Guj7NYgjWBtVulm0vYCXa-dWKlUAQK_cvSsbi0,3540
406
407
  cartography/models/aws/ec2/securitygroup_instance.py,sha256=j-g1CQHYFTb0D0YsLP5QLy-lBJ0IUc3xTtaX8r9nzIY,2974
407
408
  cartography/models/aws/ec2/securitygroup_networkinterface.py,sha256=2MBxYXxuq_L0COeC04SgFfwxeXw-pc4N4JAH9oZyWQE,2481
409
+ cartography/models/aws/ec2/snapshots.py,sha256=2J5bAwW6ZK2R7NW_zGGkQe64bxr2uBvQckBK0yjtGmM,2597
408
410
  cartography/models/aws/ec2/subnet_instance.py,sha256=6bgrWbFcCjBIjqd_6lcKv6rWyll-Zx1aA5TK68DcIhg,2952
409
411
  cartography/models/aws/ec2/subnet_networkinterface.py,sha256=B60S1YvEopVWNlRL5W-hMby3-P06uaNcC_8oOLoRGik,3872
410
- cartography/models/aws/ec2/volumes.py,sha256=ITSJ_1HgrU5wTF1zZV8sYRZsI0QzktoHkvTgpnfM1hI,4547
412
+ cartography/models/aws/ec2/volumes.py,sha256=spAi4QjoYjp5G-qNuFJdW4b-oZg7by5g5FEaqJv1mZo,5242
411
413
  cartography/models/aws/ecs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
412
414
  cartography/models/aws/ecs/clusters.py,sha256=uu-UzkSbpLu4UG5I6NsFMaThrPYl6jYe71EX8baMy1Q,2845
413
415
  cartography/models/aws/ecs/container_definitions.py,sha256=ocJMyl6wfxbW3aPrR6xwzqP9VMpkanKA3ghqcM5BWL0,4169
@@ -422,6 +424,8 @@ cartography/models/aws/efs/file_system.py,sha256=6BNzjQJKZ-rYlDLw1UvDBhVRKre07-9
422
424
  cartography/models/aws/efs/mount_target.py,sha256=Bdd2zgWp9HtsK9EmEAgoIYpT9AOTs5wzH3sgCq4HLMU,3347
423
425
  cartography/models/aws/eks/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
424
426
  cartography/models/aws/eks/clusters.py,sha256=OthI554MrYNSl-p6ArMJsSH43xKPRDSnEmvJEmXwLeU,2327
427
+ cartography/models/aws/guardduty/__init__.py,sha256=ILQhP6R9RLgXzPKdmPzuGqhOgAXeIReUEyqKS-ZXS3k,19
428
+ cartography/models/aws/guardduty/findings.py,sha256=LwUE1DbDyl9c3g5fUSZxsYKQ8U44wDS4Pps-QPMyr3Y,4184
425
429
  cartography/models/aws/iam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
426
430
  cartography/models/aws/iam/instanceprofile.py,sha256=tlIkiCPX_9B9XPNAR0LcJAec8AbJq4dxgN8dgvEPXLs,2942
427
431
  cartography/models/aws/identitycenter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -484,6 +488,8 @@ cartography/models/entra/tenant.py,sha256=abpNTvOtXHgdrU-y7q6jt--odcq1eRsT2j5nMd
484
488
  cartography/models/entra/user.py,sha256=uVMOYhVMwnR1dqokhAzk1IlHpmKwGpz0H5osS_9ENBE,3144
485
489
  cartography/models/gcp/iam.py,sha256=k6egP-DHvMX18QcLuwklxqLZXd4YPMhAs5-qWWloqJ4,3071
486
490
  cartography/models/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
491
+ cartography/models/github/dependencies.py,sha256=QHUgWSLTkSdhTxcgx5ct-yD2-Il7plg3N-fcZGZpKM4,3143
492
+ cartography/models/github/manifests.py,sha256=1trwgECCjvZKS63z2k8mB55Fa8d2l-uU7HSgfL95iwA,2078
487
493
  cartography/models/github/orgs.py,sha256=cEG7yX56VzzI3OkQFjUum2LdrXCLWl4ExvNqSZ7Bmiw,1107
488
494
  cartography/models/github/teams.py,sha256=CZ1zENzWthFyK_zUculhgNFTbAgHx0ELv-omIB7EPTw,6117
489
495
  cartography/models/github/users.py,sha256=ltCiOCuK6luBXVV47LSoaPgAPdZyYMUz2nJXjLDsS7k,6050
@@ -546,9 +552,9 @@ cartography/models/trivy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
546
552
  cartography/models/trivy/findings.py,sha256=SgI_h1aRyR20uAHvuXIZ1T6r4IZJt6SVhxRaF2bTsm0,3085
547
553
  cartography/models/trivy/fix.py,sha256=ho9ENVl9HSXqyggyCwR6ilkOBKDxpQ7rGibo_j21NA4,2587
548
554
  cartography/models/trivy/package.py,sha256=IwO1RZZ-MFRtNbt8Cq6YFl6fdNJMFmULnJkkK8Q4rL4,2809
549
- cartography-0.107.0rc3.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
550
- cartography-0.107.0rc3.dist-info/METADATA,sha256=JGMCRDlbdo4dqinKGOf1MUnv_1tQ-i4v38lYyJ1_jfg,12861
551
- cartography-0.107.0rc3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
552
- cartography-0.107.0rc3.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
553
- cartography-0.107.0rc3.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
554
- cartography-0.107.0rc3.dist-info/RECORD,,
555
+ cartography-0.108.0rc1.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
556
+ cartography-0.108.0rc1.dist-info/METADATA,sha256=Px6J_NNZibJQ4mUuBGy5e24Gl97Dfe9FNx0QyPIC9fw,12914
557
+ cartography-0.108.0rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
558
+ cartography-0.108.0rc1.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
559
+ cartography-0.108.0rc1.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
560
+ cartography-0.108.0rc1.dist-info/RECORD,,
@@ -1,24 +0,0 @@
1
- {
2
- "statements": [
3
- {
4
- "query": "MATCH (n:IpRule)-[:MEMBER_OF_EC2_SECURITY_GROUP]->(:EC2SecurityGroup)<-[: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 (n:IpRange)-[:MEMBER_OF_IP_RULE]->(:IpRule)-[:MEMBER_OF_EC2_SECURITY_GROUP]->(:EC2SecurityGroup)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE n.lastupdated <> $UPDATE_TAG WITH n LIMIT $LIMIT_SIZE DETACH DELETE (n)",
10
- "iterative": true,
11
- "iterationsize": 100
12
- },
13
- {
14
- "query": "MATCH (:IpRule)-[r:MEMBER_OF_EC2_SECURITY_GROUP]->(:EC2SecurityGroup)<-[:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
15
- "iterative": true,
16
- "iterationsize": 100
17
- },
18
- {
19
- "query": "MATCH (:IpRange)-[r:MEMBER_OF_IP_RULE]->(:IpRule)-[:MEMBER_OF_EC2_SECURITY_GROUP]->(:EC2SecurityGroup)<-[: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
- "name": "cleanup EC2SecurityGroup|IpRule|IpRange"
24
- }
@@ -1,30 +0,0 @@
1
- {
2
- "statements": [
3
- {
4
- "query": "MATCH (n:EBSSnapshot)<-[: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 (:EBSSnapshot)<-[r: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 (:EBSSnapshot)-[:CREATED_FROM]->(n:EBSVolume)<-[: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 (:EBSSnapshot)-[r:CREATED_FROM]->(:EBSVolume)<-[: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 (:EBSSnapshot)-[:CREATED_FROM]->(:EBSVolume)<-[r:RESOURCE]-(:AWSAccount{id: $AWS_ID}) WHERE r.lastupdated <> $UPDATE_TAG WITH r LIMIT $LIMIT_SIZE DELETE (r)",
25
- "iterative": true,
26
- "iterationsize": 100
27
- }
28
- ],
29
- "name": "cleanup EBS Snapshots"
30
- }