cartography 0.109.0rc1__py3-none-any.whl → 0.109.0rc2__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 (45) hide show
  1. cartography/_version.py +2 -2
  2. cartography/data/indexes.cypher +0 -15
  3. cartography/intel/aws/glue.py +117 -0
  4. cartography/intel/aws/identitycenter.py +71 -23
  5. cartography/intel/aws/kms.py +160 -200
  6. cartography/intel/aws/lambda_function.py +206 -190
  7. cartography/intel/aws/rds.py +243 -458
  8. cartography/intel/aws/resources.py +2 -0
  9. cartography/intel/aws/route53.py +334 -332
  10. cartography/models/aws/glue/__init__.py +0 -0
  11. cartography/models/aws/glue/connection.py +51 -0
  12. cartography/models/aws/identitycenter/awspermissionset.py +44 -0
  13. cartography/models/aws/kms/__init__.py +0 -0
  14. cartography/models/aws/kms/aliases.py +86 -0
  15. cartography/models/aws/kms/grants.py +65 -0
  16. cartography/models/aws/kms/keys.py +88 -0
  17. cartography/models/aws/lambda_function/__init__.py +0 -0
  18. cartography/models/aws/lambda_function/alias.py +74 -0
  19. cartography/models/aws/lambda_function/event_source_mapping.py +88 -0
  20. cartography/models/aws/lambda_function/lambda_function.py +89 -0
  21. cartography/models/aws/lambda_function/layer.py +72 -0
  22. cartography/models/aws/rds/__init__.py +0 -0
  23. cartography/models/aws/rds/cluster.py +89 -0
  24. cartography/models/aws/rds/instance.py +154 -0
  25. cartography/models/aws/rds/snapshot.py +108 -0
  26. cartography/models/aws/rds/subnet_group.py +101 -0
  27. cartography/models/aws/route53/__init__.py +0 -0
  28. cartography/models/aws/route53/dnsrecord.py +214 -0
  29. cartography/models/aws/route53/nameserver.py +63 -0
  30. cartography/models/aws/route53/subzone.py +40 -0
  31. cartography/models/aws/route53/zone.py +47 -0
  32. cartography/util.py +8 -1
  33. {cartography-0.109.0rc1.dist-info → cartography-0.109.0rc2.dist-info}/METADATA +2 -2
  34. {cartography-0.109.0rc1.dist-info → cartography-0.109.0rc2.dist-info}/RECORD +38 -23
  35. cartography/data/jobs/cleanup/aws_dns_cleanup.json +0 -65
  36. cartography/data/jobs/cleanup/aws_import_identity_center_cleanup.json +0 -16
  37. cartography/data/jobs/cleanup/aws_import_lambda_cleanup.json +0 -50
  38. cartography/data/jobs/cleanup/aws_import_rds_clusters_cleanup.json +0 -23
  39. cartography/data/jobs/cleanup/aws_import_rds_instances_cleanup.json +0 -47
  40. cartography/data/jobs/cleanup/aws_import_rds_snapshots_cleanup.json +0 -23
  41. cartography/data/jobs/cleanup/aws_kms_details.json +0 -10
  42. {cartography-0.109.0rc1.dist-info → cartography-0.109.0rc2.dist-info}/WHEEL +0 -0
  43. {cartography-0.109.0rc1.dist-info → cartography-0.109.0rc2.dist-info}/entry_points.txt +0 -0
  44. {cartography-0.109.0rc1.dist-info → cartography-0.109.0rc2.dist-info}/licenses/LICENSE +0 -0
  45. {cartography-0.109.0rc1.dist-info → cartography-0.109.0rc2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,214 @@
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 AWSDNSRecordNodeProperties(CartographyNodeProperties):
17
+ id: PropertyRef = PropertyRef("id")
18
+ name: PropertyRef = PropertyRef("name", extra_index=True)
19
+ type: PropertyRef = PropertyRef("type")
20
+ value: PropertyRef = PropertyRef("value")
21
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
22
+
23
+
24
+ @dataclass(frozen=True)
25
+ class AWSDNSRecordToZoneRelProperties(CartographyRelProperties):
26
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
27
+
28
+
29
+ @dataclass(frozen=True)
30
+ class AWSDNSRecordToZoneRel(CartographyRelSchema):
31
+ target_node_label: str = "AWSDNSZone"
32
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
33
+ {"zoneid": PropertyRef("zoneid")}
34
+ )
35
+ direction: LinkDirection = LinkDirection.OUTWARD
36
+ rel_label: str = "MEMBER_OF_DNS_ZONE"
37
+ properties: AWSDNSRecordToZoneRelProperties = AWSDNSRecordToZoneRelProperties()
38
+
39
+
40
+ @dataclass(frozen=True)
41
+ class AWSDNSRecordToAWSAccountRelProperties(CartographyRelProperties):
42
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
43
+
44
+
45
+ @dataclass(frozen=True)
46
+ class AWSDNSRecordToAWSAccountRel(CartographyRelSchema):
47
+ target_node_label: str = "AWSAccount"
48
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
49
+ {"id": PropertyRef("AWS_ID", set_in_kwargs=True)}
50
+ )
51
+ direction: LinkDirection = LinkDirection.INWARD
52
+ rel_label: str = "RESOURCE"
53
+ properties: AWSDNSRecordToAWSAccountRelProperties = (
54
+ AWSDNSRecordToAWSAccountRelProperties()
55
+ )
56
+
57
+
58
+ @dataclass(frozen=True)
59
+ class AWSDNSRecordToNameServerRelProperties(CartographyRelProperties):
60
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
61
+
62
+
63
+ @dataclass(frozen=True)
64
+ class AWSDNSRecordToNameServerRel(CartographyRelSchema):
65
+ target_node_label: str = "NameServer"
66
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
67
+ {
68
+ "id": PropertyRef("servers", one_to_many=True),
69
+ }
70
+ )
71
+ direction: LinkDirection = LinkDirection.OUTWARD
72
+ rel_label: str = "DNS_POINTS_TO"
73
+ properties: AWSDNSRecordToNameServerRelProperties = (
74
+ AWSDNSRecordToNameServerRelProperties()
75
+ )
76
+
77
+
78
+ @dataclass(frozen=True)
79
+ class AWSDNSRecordToEC2InstanceRelProperties(CartographyRelProperties):
80
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
81
+
82
+
83
+ @dataclass(frozen=True)
84
+ class AWSDNSRecordToEC2InstanceRel(CartographyRelSchema):
85
+ target_node_label: str = "EC2Instance"
86
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
87
+ {
88
+ "publicdnsname": PropertyRef("value"),
89
+ }
90
+ )
91
+ direction: LinkDirection = LinkDirection.OUTWARD
92
+ rel_label: str = "DNS_POINTS_TO"
93
+ properties: AWSDNSRecordToEC2InstanceRelProperties = (
94
+ AWSDNSRecordToEC2InstanceRelProperties()
95
+ )
96
+
97
+
98
+ @dataclass(frozen=True)
99
+ class AWSDNSRecordToLoadBalancerRelProperties(CartographyRelProperties):
100
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
101
+
102
+
103
+ @dataclass(frozen=True)
104
+ class AWSDNSRecordToLoadBalancerRel(CartographyRelSchema):
105
+ target_node_label: str = "LoadBalancer"
106
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
107
+ {
108
+ "dnsname": PropertyRef("value"),
109
+ }
110
+ )
111
+ direction: LinkDirection = LinkDirection.OUTWARD
112
+ rel_label: str = "DNS_POINTS_TO"
113
+ properties: AWSDNSRecordToLoadBalancerRelProperties = (
114
+ AWSDNSRecordToLoadBalancerRelProperties()
115
+ )
116
+
117
+
118
+ @dataclass(frozen=True)
119
+ class AWSDNSRecordToLoadBalancerV2RelProperties(CartographyRelProperties):
120
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
121
+
122
+
123
+ @dataclass(frozen=True)
124
+ class AWSDNSRecordToLoadBalancerV2Rel(CartographyRelSchema):
125
+ target_node_label: str = "LoadBalancerV2"
126
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
127
+ {
128
+ "dnsname": PropertyRef("value"),
129
+ }
130
+ )
131
+ direction: LinkDirection = LinkDirection.OUTWARD
132
+ rel_label: str = "DNS_POINTS_TO"
133
+ properties: AWSDNSRecordToLoadBalancerV2RelProperties = (
134
+ AWSDNSRecordToLoadBalancerV2RelProperties()
135
+ )
136
+
137
+
138
+ @dataclass(frozen=True)
139
+ class AWSDNSRecordToESDomainRelProperties(CartographyRelProperties):
140
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
141
+
142
+
143
+ @dataclass(frozen=True)
144
+ class AWSDNSRecordToESDomainRel(CartographyRelSchema):
145
+ target_node_label: str = "ESDomain"
146
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
147
+ {
148
+ "endpoint": PropertyRef("value"),
149
+ }
150
+ )
151
+ direction: LinkDirection = LinkDirection.OUTWARD
152
+ rel_label: str = "DNS_POINTS_TO"
153
+ properties: AWSDNSRecordToESDomainRelProperties = (
154
+ AWSDNSRecordToESDomainRelProperties()
155
+ )
156
+
157
+
158
+ @dataclass(frozen=True)
159
+ class AWSDNSRecordToDNSRecordRelProperties(CartographyRelProperties):
160
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
161
+
162
+
163
+ @dataclass(frozen=True)
164
+ class AWSDNSRecordToDNSRecordRel(CartographyRelSchema):
165
+ target_node_label: str = "AWSDNSRecord"
166
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
167
+ {
168
+ "name": PropertyRef("value"),
169
+ }
170
+ )
171
+ direction: LinkDirection = LinkDirection.OUTWARD
172
+ rel_label: str = "DNS_POINTS_TO"
173
+ properties: AWSDNSRecordToDNSRecordRelProperties = (
174
+ AWSDNSRecordToDNSRecordRelProperties()
175
+ )
176
+
177
+
178
+ @dataclass(frozen=True)
179
+ class AWSDNSRecordToIpRelProperties(CartographyRelProperties):
180
+ lastupdated: PropertyRef = PropertyRef("lastupdated", set_in_kwargs=True)
181
+
182
+
183
+ @dataclass(frozen=True)
184
+ class AWSDNSRecordToIpRel(CartographyRelSchema):
185
+ target_node_label: str = "Ip"
186
+ target_node_matcher: TargetNodeMatcher = make_target_node_matcher(
187
+ {
188
+ "id": PropertyRef("ip_addresses", one_to_many=True),
189
+ }
190
+ )
191
+ direction: LinkDirection = LinkDirection.OUTWARD
192
+ rel_label: str = "DNS_POINTS_TO"
193
+ properties: AWSDNSRecordToIpRelProperties = AWSDNSRecordToIpRelProperties()
194
+
195
+
196
+ class AWSDNSRecordSchema(CartographyNodeSchema):
197
+ label: str = "AWSDNSRecord"
198
+ properties: AWSDNSRecordNodeProperties = AWSDNSRecordNodeProperties()
199
+ extra_node_labels: ExtraNodeLabels = ExtraNodeLabels(["DNSRecord"])
200
+ sub_resource_relationship: AWSDNSRecordToAWSAccountRel = (
201
+ AWSDNSRecordToAWSAccountRel()
202
+ )
203
+ other_relationships: OtherRelationships = OtherRelationships(
204
+ [
205
+ AWSDNSRecordToNameServerRel(),
206
+ AWSDNSRecordToEC2InstanceRel(),
207
+ AWSDNSRecordToLoadBalancerRel(),
208
+ AWSDNSRecordToLoadBalancerV2Rel(),
209
+ AWSDNSRecordToESDomainRel(),
210
+ AWSDNSRecordToDNSRecordRel(),
211
+ AWSDNSRecordToZoneRel(),
212
+ AWSDNSRecordToIpRel(),
213
+ ]
214
+ )
@@ -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()
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 e.response["Error"]["Code"] in ERROR_CODES:
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.109.0rc1
3
+ Version: 0.109.0rc2
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=ThpDtvU85F19Feu0CxbU2VZVzCSAwa5MahvagaUWtuE,525
3
+ cartography/_version.py,sha256=nimLevl7Lt41ABvOl3VLASk_dXzF0KzyiM-BgKu2SmU,525
4
4
  cartography/cli.py,sha256=qOu3nSIKWsuDbuPe5XrKBoAArFQKZP8jSjK8OtI69_E,46595
5
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
9
- cartography/util.py,sha256=YYynw4hblAf7xglGzS7vuHTJXxf7u4WjAiLVM4MiOLU,15535
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=TiTedBNkvIg3FHcIcn-zqbDv2WiboxTAHZ-qACO8-Ys,23435
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
@@ -166,20 +159,21 @@ 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/glue.py,sha256=-AQh1PIbWzi7y-uZbx2yaHnrEpMsENSBX-pGUFqc6xQ,3349
169
163
  cartography/intel/aws/guardduty.py,sha256=QpwWisz3TzbOxkRKNjByk4WWDCCMXr8jgNOgOdjQM5g,8532
170
164
  cartography/intel/aws/iam.py,sha256=bkyIzWw2OC4MHxuoCvTiZ5eEGEQhz2asiUgY_tkX2GY,34322
171
165
  cartography/intel/aws/iam_instance_profiles.py,sha256=QUyu30xid60BFaemp-q0y9FgNsHaIQyQnQ8gHUzWC4k,2211
172
- cartography/intel/aws/identitycenter.py,sha256=C2EOfwQO1zBjePAXtreUcJIy7RU__ior3liRT4SpGO8,9544
166
+ cartography/intel/aws/identitycenter.py,sha256=Q1k1BuBmtA85s5tHGS7lvgGxQ-H-piIyiWgyevFL92U,11161
173
167
  cartography/intel/aws/inspector.py,sha256=G8a60uuFCuENvR2DNJ9VmWEJwG9UDENaC1buULvuSZc,12415
174
- cartography/intel/aws/kms.py,sha256=RtCxNG-Den-f4Il-NO3YL_-BFUmg1qFt4lNucue9SQM,12130
175
- cartography/intel/aws/lambda_function.py,sha256=cutCsMnvyJB8vKUP0fHORrhijw944cXSoLKOHYdi6SM,10389
168
+ cartography/intel/aws/kms.py,sha256=cnWZtzI7hsaXAt4CpdddAVDqaPZvtoXCoJIdqapHAbA,10754
169
+ cartography/intel/aws/lambda_function.py,sha256=3hpgqI1HOeywcP3xV-OcoCOxfyyqfyMaYeb46xdf8B4,9585
176
170
  cartography/intel/aws/organizations.py,sha256=m5qk60N6pe7iKLN-Rtfg9aYv7OozoloSkcsuePd-RGs,4680
177
171
  cartography/intel/aws/permission_relationships.py,sha256=LTmnHS6zk9hcdL548V5ka3Ey-6NsFjy1JYZTfRyB9Ys,15647
178
- cartography/intel/aws/rds.py,sha256=9TQsoUQAJXj3x7laqJp06N9TQIN9ARyRiImBW9lQKOI,26574
172
+ cartography/intel/aws/rds.py,sha256=are2LsWe8tM4UkCaGVnXS7F-ZVawklpc9h4lsM-fpGY,16173
179
173
  cartography/intel/aws/redshift.py,sha256=FGcCzcnm1OOrbJvLqtR1DwWVn1pt4Y6_eKkTUERT7Ws,7108
180
174
  cartography/intel/aws/resourcegroupstaggingapi.py,sha256=TkMlUKLrRBWAyeUu-cHKce7TFkwBnWV_Im8DONgnLGU,12852
181
- cartography/intel/aws/resources.py,sha256=rr5TB5QiOymjoTR7Lr09HbdnCgycMGq52mC4CP7MhQo,4238
182
- cartography/intel/aws/route53.py,sha256=-AZDD4zVR5pQ_c1bx87UZuzbC0mDiI-YS_8llFMZkwI,14424
175
+ cartography/intel/aws/resources.py,sha256=R4pDieVCbvvz_gAde606vnxFafKWjE2YfyE8-fv6R7o,4280
176
+ cartography/intel/aws/route53.py,sha256=27ocRlNnxiXi7M7eYLUCVBNwaLyArX4CAExoOBxGl3Y,14294
183
177
  cartography/intel/aws/s3.py,sha256=Da_5NYvQ7MN1AIN7CK9XXlVZo0fPdNHkqBZY1JWnHH4,33598
184
178
  cartography/intel/aws/s3accountpublicaccessblock.py,sha256=XkqHnbj9ODRcc7Rbl4swi03qvw_T-7Bnx3BHpTmlxio,4688
185
179
  cartography/intel/aws/secretsmanager.py,sha256=xM6znqD0cKNJbAhO2Zg3svyO7YUOqPFbunhODAVXMgw,7777
@@ -432,17 +426,38 @@ cartography/models/aws/eks/clusters.py,sha256=OthI554MrYNSl-p6ArMJsSH43xKPRDSnEm
432
426
  cartography/models/aws/elasticache/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
433
427
  cartography/models/aws/elasticache/cluster.py,sha256=3tx3fL3FPSp4QX3pd42sV71t6kYRl-IfvU_56S7WmGo,3227
434
428
  cartography/models/aws/elasticache/topic.py,sha256=Rq-Hj6xo9xouRLw2NRNU1cmmVUlOP0ieRA8fT5GlZ2w,2757
429
+ cartography/models/aws/glue/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
430
+ cartography/models/aws/glue/connection.py,sha256=wG7mDMoYnmAHXrLfi52_1wPHF6VcrLOKfDmZaJJti1Q,2213
435
431
  cartography/models/aws/guardduty/__init__.py,sha256=ILQhP6R9RLgXzPKdmPzuGqhOgAXeIReUEyqKS-ZXS3k,19
436
432
  cartography/models/aws/guardduty/findings.py,sha256=LwUE1DbDyl9c3g5fUSZxsYKQ8U44wDS4Pps-QPMyr3Y,4184
437
433
  cartography/models/aws/iam/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
438
434
  cartography/models/aws/iam/instanceprofile.py,sha256=tlIkiCPX_9B9XPNAR0LcJAec8AbJq4dxgN8dgvEPXLs,2942
439
435
  cartography/models/aws/identitycenter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
440
436
  cartography/models/aws/identitycenter/awsidentitycenter.py,sha256=-ybcEgdZjwF0RINR_iLpmf5EOjuXYbz_CtixP-yqV30,2038
441
- cartography/models/aws/identitycenter/awspermissionset.py,sha256=12kDKzsJQOHg6d9dlX98sM9gKXGMQh7FaxzlJov7Dgo,3651
437
+ cartography/models/aws/identitycenter/awspermissionset.py,sha256=egFas3D4tkUZhaE2uQTwLihsVtJB8QBMlgBO5Px4UYs,5294
442
438
  cartography/models/aws/identitycenter/awsssouser.py,sha256=EWnyX5ev2aaK64YjKGuJSoknBF5b_kS5xc0kDf_0xfo,2886
443
439
  cartography/models/aws/inspector/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
444
440
  cartography/models/aws/inspector/findings.py,sha256=ikm0vvjhGK_-BDt5VGyS4_0KwJsq81T6VgROq9HK2NE,8188
445
441
  cartography/models/aws/inspector/packages.py,sha256=IoJT7w6n8Vx3vGGJPWKDgJLRpioqtOS5iMYZLnX7thg,2113
442
+ cartography/models/aws/kms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
443
+ cartography/models/aws/kms/aliases.py,sha256=dJizJxxPzsWuZGY77gPcX7OlPO5Y3nHOUJoqf0CNKos,2998
444
+ cartography/models/aws/kms/grants.py,sha256=oBSRRgme3dVejgilkBPcdPsHhyNAxGyhyQuVQmAP0fc,2623
445
+ cartography/models/aws/kms/keys.py,sha256=qfdc5wlN84j00Pjxq85GHQxLZ_asyNq2oD5Tj--MCZ4,3401
446
+ cartography/models/aws/lambda_function/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
447
+ cartography/models/aws/lambda_function/alias.py,sha256=4NSxgpxAIY1Zzx9ApH9v4Oli5czisRLDKKByaRWy2eQ,3023
448
+ cartography/models/aws/lambda_function/event_source_mapping.py,sha256=nx4niDZ-cKwMmQrieqOgmThN-ITfF-o8AB6epKDvBfs,3997
449
+ cartography/models/aws/lambda_function/lambda_function.py,sha256=YRwoVcfD8xpVPz2YJsgfA6Y0jEVF_PnJ0WFynMu6gXg,4027
450
+ cartography/models/aws/lambda_function/layer.py,sha256=kKMxm5XkAIx-VBZZX3teA6Md-jByBBdFnSoebjqq3ik,2868
451
+ cartography/models/aws/rds/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
452
+ cartography/models/aws/rds/cluster.py,sha256=chxwnOU7hGOvlnyTtaHx0ZxqyJIXQJ1qWEv68ti_nqo,4330
453
+ cartography/models/aws/rds/instance.py,sha256=B6vMGNDR9JhheJbnHGdrU0ZFyLorw55ZIsvlkkxjw6Q,6450
454
+ cartography/models/aws/rds/snapshot.py,sha256=T_2kqvJW2iDjPSg2cr9amXZNTotE9Zm66GSCDteiNbQ,4821
455
+ cartography/models/aws/rds/subnet_group.py,sha256=0tr68MYpWwRC-P23XLh-GecMQAfrQwLZ82LfdbcLsSc,3676
456
+ cartography/models/aws/route53/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
457
+ cartography/models/aws/route53/dnsrecord.py,sha256=JNkK7S1B7rB-uag1LuLhe2Rkct5foJ2X_bmUzUZsbuo,7552
458
+ cartography/models/aws/route53/nameserver.py,sha256=yKH3u_PDi7C-UQ69mNPiiFppsfiFC4nN0glouAGOoN8,2511
459
+ cartography/models/aws/route53/subzone.py,sha256=g3k4RHm5YqH-AjIZynlF4sj64cBhkiZ2L2CwV23j_L4,1674
460
+ cartography/models/aws/route53/zone.py,sha256=6yNSdZcmJZOzGjVG7HSC35P9fFKaxYTUp_O_Ptzt1Fk,2011
446
461
  cartography/models/aws/s3/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
447
462
  cartography/models/aws/s3/account_public_access_block.py,sha256=L6AS0OncfSOWHP4pOXshnJFDPwnWqywzUIeUppJcw-Q,2256
448
463
  cartography/models/aws/s3/notification.py,sha256=SF1VvCP_2WVh8K29d4ms8MUcg9AyO_MN8vCgzLFlGAs,1017
@@ -563,9 +578,9 @@ cartography/models/trivy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZ
563
578
  cartography/models/trivy/findings.py,sha256=SgI_h1aRyR20uAHvuXIZ1T6r4IZJt6SVhxRaF2bTsm0,3085
564
579
  cartography/models/trivy/fix.py,sha256=ho9ENVl9HSXqyggyCwR6ilkOBKDxpQ7rGibo_j21NA4,2587
565
580
  cartography/models/trivy/package.py,sha256=IwO1RZZ-MFRtNbt8Cq6YFl6fdNJMFmULnJkkK8Q4rL4,2809
566
- cartography-0.109.0rc1.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
567
- cartography-0.109.0rc1.dist-info/METADATA,sha256=9FTYbotYU554ja61uz3NBql3-KAmXR65ulsDLpHYfkk,12914
568
- cartography-0.109.0rc1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
569
- cartography-0.109.0rc1.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
570
- cartography-0.109.0rc1.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
571
- cartography-0.109.0rc1.dist-info/RECORD,,
581
+ cartography-0.109.0rc2.dist-info/licenses/LICENSE,sha256=kvLEBRYaQ1RvUni6y7Ti9uHeooqnjPoo6n_-0JO1ETc,11351
582
+ cartography-0.109.0rc2.dist-info/METADATA,sha256=x8x0Hg37Mn7ctpEhcGeHqxPkCZkB7CbuM-3xf3AJHvs,12930
583
+ cartography-0.109.0rc2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
584
+ cartography-0.109.0rc2.dist-info/entry_points.txt,sha256=GVIAWD0o0_K077qMA_k1oZU4v-M0a8GLKGJR8tZ-qH8,112
585
+ cartography-0.109.0rc2.dist-info/top_level.txt,sha256=BHqsNJQiI6Q72DeypC1IINQJE59SLhU4nllbQjgJi9g,12
586
+ cartography-0.109.0rc2.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
- }