replimap 0.1.36__tar.gz

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.
Files changed (244) hide show
  1. replimap-0.1.36/.gitignore +78 -0
  2. replimap-0.1.36/LICENSE +31 -0
  3. replimap-0.1.36/MANIFEST.in +13 -0
  4. replimap-0.1.36/PKG-INFO +716 -0
  5. replimap-0.1.36/README.md +666 -0
  6. replimap-0.1.36/docs/assets/demo.gif +0 -0
  7. replimap-0.1.36/pyproject.toml +175 -0
  8. replimap-0.1.36/replimap/__init__.py +9 -0
  9. replimap-0.1.36/replimap/audit/__init__.py +90 -0
  10. replimap-0.1.36/replimap/audit/checkov_runner.py +362 -0
  11. replimap-0.1.36/replimap/audit/classifier.py +316 -0
  12. replimap-0.1.36/replimap/audit/engine.py +264 -0
  13. replimap-0.1.36/replimap/audit/exporters.py +328 -0
  14. replimap-0.1.36/replimap/audit/fix_suggestions.py +746 -0
  15. replimap-0.1.36/replimap/audit/hooks.py +269 -0
  16. replimap-0.1.36/replimap/audit/models.py +325 -0
  17. replimap-0.1.36/replimap/audit/remediation/__init__.py +33 -0
  18. replimap-0.1.36/replimap/audit/remediation/generator.py +653 -0
  19. replimap-0.1.36/replimap/audit/remediation/models.py +228 -0
  20. replimap-0.1.36/replimap/audit/remediation/templates/__init__.py +54 -0
  21. replimap-0.1.36/replimap/audit/remediation/templates/ec2.py +271 -0
  22. replimap-0.1.36/replimap/audit/remediation/templates/kms.py +222 -0
  23. replimap-0.1.36/replimap/audit/remediation/templates/rds.py +322 -0
  24. replimap-0.1.36/replimap/audit/remediation/templates/s3.py +248 -0
  25. replimap-0.1.36/replimap/audit/renderer.py +1418 -0
  26. replimap-0.1.36/replimap/audit/reporter.py +268 -0
  27. replimap-0.1.36/replimap/audit/soc2_mapping.py +534 -0
  28. replimap-0.1.36/replimap/audit/templates/audit_report.html.j2 +501 -0
  29. replimap-0.1.36/replimap/audit/terminal_reporter.py +230 -0
  30. replimap-0.1.36/replimap/audit/trust_center.py +807 -0
  31. replimap-0.1.36/replimap/blast/__init__.py +66 -0
  32. replimap-0.1.36/replimap/blast/graph_builder.py +333 -0
  33. replimap-0.1.36/replimap/blast/impact_calculator.py +347 -0
  34. replimap-0.1.36/replimap/blast/models.py +162 -0
  35. replimap-0.1.36/replimap/blast/reporter.py +490 -0
  36. replimap-0.1.36/replimap/cache/__init__.py +39 -0
  37. replimap-0.1.36/replimap/cache/snapshots.py +868 -0
  38. replimap-0.1.36/replimap/cli/__init__.py +96 -0
  39. replimap-0.1.36/replimap/cli/commands/__init__.py +100 -0
  40. replimap-0.1.36/replimap/cli/commands/audit.py +533 -0
  41. replimap-0.1.36/replimap/cli/commands/cache.py +315 -0
  42. replimap-0.1.36/replimap/cli/commands/clone.py +468 -0
  43. replimap-0.1.36/replimap/cli/commands/cost.py +391 -0
  44. replimap-0.1.36/replimap/cli/commands/deps.py +474 -0
  45. replimap-0.1.36/replimap/cli/commands/dr.py +304 -0
  46. replimap-0.1.36/replimap/cli/commands/drift.py +337 -0
  47. replimap-0.1.36/replimap/cli/commands/graph.py +252 -0
  48. replimap-0.1.36/replimap/cli/commands/license.py +289 -0
  49. replimap-0.1.36/replimap/cli/commands/load.py +77 -0
  50. replimap-0.1.36/replimap/cli/commands/profiles.py +61 -0
  51. replimap-0.1.36/replimap/cli/commands/remediate.py +157 -0
  52. replimap-0.1.36/replimap/cli/commands/scan.py +555 -0
  53. replimap-0.1.36/replimap/cli/commands/snapshot.py +469 -0
  54. replimap-0.1.36/replimap/cli/commands/transfer.py +203 -0
  55. replimap-0.1.36/replimap/cli/commands/trends.py +183 -0
  56. replimap-0.1.36/replimap/cli/commands/trust_center.py +146 -0
  57. replimap-0.1.36/replimap/cli/commands/unused.py +329 -0
  58. replimap-0.1.36/replimap/cli/commands/upgrade.py +151 -0
  59. replimap-0.1.36/replimap/cli/commands/validate.py +301 -0
  60. replimap-0.1.36/replimap/cli/utils/__init__.py +66 -0
  61. replimap-0.1.36/replimap/cli/utils/aws_session.py +367 -0
  62. replimap-0.1.36/replimap/cli/utils/console.py +36 -0
  63. replimap-0.1.36/replimap/cli/utils/console_links.py +116 -0
  64. replimap-0.1.36/replimap/cli/utils/error_handler.py +315 -0
  65. replimap-0.1.36/replimap/cli/utils/helpers.py +95 -0
  66. replimap-0.1.36/replimap/cli/utils/options.py +130 -0
  67. replimap-0.1.36/replimap/cli/utils/tips.py +94 -0
  68. replimap-0.1.36/replimap/cli/utils/update_checker.py +174 -0
  69. replimap-0.1.36/replimap/core/__init__.py +221 -0
  70. replimap-0.1.36/replimap/core/async_aws.py +654 -0
  71. replimap-0.1.36/replimap/core/aws_config.py +124 -0
  72. replimap-0.1.36/replimap/core/bootstrap.py +640 -0
  73. replimap-0.1.36/replimap/core/browser.py +241 -0
  74. replimap-0.1.36/replimap/core/cache.py +600 -0
  75. replimap-0.1.36/replimap/core/cache_manager.py +397 -0
  76. replimap-0.1.36/replimap/core/circuit_breaker.py +332 -0
  77. replimap-0.1.36/replimap/core/concurrency.py +113 -0
  78. replimap-0.1.36/replimap/core/config.py +486 -0
  79. replimap-0.1.36/replimap/core/errors.py +595 -0
  80. replimap-0.1.36/replimap/core/filters.py +377 -0
  81. replimap-0.1.36/replimap/core/first_run.py +94 -0
  82. replimap-0.1.36/replimap/core/graph_engine.py +792 -0
  83. replimap-0.1.36/replimap/core/graph_tracer.py +404 -0
  84. replimap-0.1.36/replimap/core/identity_resolver.py +396 -0
  85. replimap-0.1.36/replimap/core/logging.py +400 -0
  86. replimap-0.1.36/replimap/core/models.py +242 -0
  87. replimap-0.1.36/replimap/core/naming.py +234 -0
  88. replimap-0.1.36/replimap/core/retry.py +232 -0
  89. replimap-0.1.36/replimap/core/sanitizer.py +409 -0
  90. replimap-0.1.36/replimap/core/scope.py +544 -0
  91. replimap-0.1.36/replimap/core/security/__init__.py +10 -0
  92. replimap-0.1.36/replimap/core/security/scrubber.py +191 -0
  93. replimap-0.1.36/replimap/core/selection.py +990 -0
  94. replimap-0.1.36/replimap/core/signals.py +78 -0
  95. replimap-0.1.36/replimap/core/state.py +714 -0
  96. replimap-0.1.36/replimap/core/storage.py +1051 -0
  97. replimap-0.1.36/replimap/core/topology_constraints.py +826 -0
  98. replimap-0.1.36/replimap/cost/__init__.py +275 -0
  99. replimap-0.1.36/replimap/cost/au_pricing.py +570 -0
  100. replimap-0.1.36/replimap/cost/enterprise_pricing.py +858 -0
  101. replimap-0.1.36/replimap/cost/estimator.py +946 -0
  102. replimap-0.1.36/replimap/cost/explorer.py +612 -0
  103. replimap-0.1.36/replimap/cost/local_rightsizer.py +501 -0
  104. replimap-0.1.36/replimap/cost/models.py +340 -0
  105. replimap-0.1.36/replimap/cost/pricing.py +911 -0
  106. replimap-0.1.36/replimap/cost/pricing_engine.py +886 -0
  107. replimap-0.1.36/replimap/cost/reporter.py +1437 -0
  108. replimap-0.1.36/replimap/cost/ri_aware.py +1231 -0
  109. replimap-0.1.36/replimap/cost/rightsizer.py +920 -0
  110. replimap-0.1.36/replimap/cost/savings_plans.py +613 -0
  111. replimap-0.1.36/replimap/cost/transfer_analyzer.py +776 -0
  112. replimap-0.1.36/replimap/cost/trends.py +730 -0
  113. replimap-0.1.36/replimap/cost/unused_detector.py +771 -0
  114. replimap-0.1.36/replimap/dependencies/__init__.py +74 -0
  115. replimap-0.1.36/replimap/dependencies/graph_builder.py +398 -0
  116. replimap-0.1.36/replimap/dependencies/impact_calculator.py +446 -0
  117. replimap-0.1.36/replimap/dependencies/models.py +316 -0
  118. replimap-0.1.36/replimap/dependencies/reporter.py +993 -0
  119. replimap-0.1.36/replimap/deps/__init__.py +31 -0
  120. replimap-0.1.36/replimap/deps/analyzers/__init__.py +92 -0
  121. replimap-0.1.36/replimap/deps/analyzers/asg.py +404 -0
  122. replimap-0.1.36/replimap/deps/analyzers/ec2.py +449 -0
  123. replimap-0.1.36/replimap/deps/analyzers/elasticache.py +307 -0
  124. replimap-0.1.36/replimap/deps/analyzers/elb.py +311 -0
  125. replimap-0.1.36/replimap/deps/analyzers/iam_role.py +468 -0
  126. replimap-0.1.36/replimap/deps/analyzers/lambda_func.py +412 -0
  127. replimap-0.1.36/replimap/deps/analyzers/rds.py +410 -0
  128. replimap-0.1.36/replimap/deps/analyzers/s3.py +406 -0
  129. replimap-0.1.36/replimap/deps/analyzers/security_group.py +485 -0
  130. replimap-0.1.36/replimap/deps/base_analyzer.py +202 -0
  131. replimap-0.1.36/replimap/deps/blast_radius.py +121 -0
  132. replimap-0.1.36/replimap/deps/models.py +216 -0
  133. replimap-0.1.36/replimap/deps/reporter.py +442 -0
  134. replimap-0.1.36/replimap/dr/__init__.py +54 -0
  135. replimap-0.1.36/replimap/dr/readiness.py +1177 -0
  136. replimap-0.1.36/replimap/drift/__init__.py +42 -0
  137. replimap-0.1.36/replimap/drift/comparator.py +333 -0
  138. replimap-0.1.36/replimap/drift/engine.py +264 -0
  139. replimap-0.1.36/replimap/drift/models.py +162 -0
  140. replimap-0.1.36/replimap/drift/normalizer.py +493 -0
  141. replimap-0.1.36/replimap/drift/plan_engine.py +740 -0
  142. replimap-0.1.36/replimap/drift/reporter.py +384 -0
  143. replimap-0.1.36/replimap/drift/state_parser.py +231 -0
  144. replimap-0.1.36/replimap/drift/templates/drift_report.html.j2 +573 -0
  145. replimap-0.1.36/replimap/graph/__init__.py +324 -0
  146. replimap-0.1.36/replimap/graph/aggregation.py +617 -0
  147. replimap-0.1.36/replimap/graph/blast_radius.py +439 -0
  148. replimap-0.1.36/replimap/graph/builder.py +466 -0
  149. replimap-0.1.36/replimap/graph/cost_overlay.py +587 -0
  150. replimap-0.1.36/replimap/graph/cross_region.py +955 -0
  151. replimap-0.1.36/replimap/graph/drift.py +572 -0
  152. replimap-0.1.36/replimap/graph/environment.py +474 -0
  153. replimap-0.1.36/replimap/graph/filters.py +271 -0
  154. replimap-0.1.36/replimap/graph/formatters/__init__.py +11 -0
  155. replimap-0.1.36/replimap/graph/formatters/d3.py +231 -0
  156. replimap-0.1.36/replimap/graph/formatters/json_format.py +104 -0
  157. replimap-0.1.36/replimap/graph/formatters/mermaid.py +196 -0
  158. replimap-0.1.36/replimap/graph/global_context.py +804 -0
  159. replimap-0.1.36/replimap/graph/grouper.py +399 -0
  160. replimap-0.1.36/replimap/graph/layout.py +705 -0
  161. replimap-0.1.36/replimap/graph/link_classification.py +267 -0
  162. replimap-0.1.36/replimap/graph/multi_region.py +785 -0
  163. replimap-0.1.36/replimap/graph/naming.py +356 -0
  164. replimap-0.1.36/replimap/graph/orphan_detection.py +606 -0
  165. replimap-0.1.36/replimap/graph/summary_links.py +262 -0
  166. replimap-0.1.36/replimap/graph/templates/graph.html.j2 +2197 -0
  167. replimap-0.1.36/replimap/graph/tool_modes.py +497 -0
  168. replimap-0.1.36/replimap/graph/views.py +771 -0
  169. replimap-0.1.36/replimap/graph/visualizer.py +452 -0
  170. replimap-0.1.36/replimap/licensing/__init__.py +113 -0
  171. replimap-0.1.36/replimap/licensing/gates.py +1062 -0
  172. replimap-0.1.36/replimap/licensing/manager.py +422 -0
  173. replimap-0.1.36/replimap/licensing/models.py +873 -0
  174. replimap-0.1.36/replimap/licensing/prompts.py +962 -0
  175. replimap-0.1.36/replimap/licensing/tracker.py +332 -0
  176. replimap-0.1.36/replimap/main.py +111 -0
  177. replimap-0.1.36/replimap/patterns/__init__.py +19 -0
  178. replimap-0.1.36/replimap/patterns/local_module.py +922 -0
  179. replimap-0.1.36/replimap/renderers/__init__.py +64 -0
  180. replimap-0.1.36/replimap/renderers/audit_annotator.py +491 -0
  181. replimap-0.1.36/replimap/renderers/base.py +74 -0
  182. replimap-0.1.36/replimap/renderers/cloudformation.py +663 -0
  183. replimap-0.1.36/replimap/renderers/file_router.py +357 -0
  184. replimap-0.1.36/replimap/renderers/import_generator.py +401 -0
  185. replimap-0.1.36/replimap/renderers/name_generator.py +381 -0
  186. replimap-0.1.36/replimap/renderers/pulumi.py +765 -0
  187. replimap-0.1.36/replimap/renderers/refactoring.py +505 -0
  188. replimap-0.1.36/replimap/renderers/terraform.py +2219 -0
  189. replimap-0.1.36/replimap/renderers/terraform_v2.py +500 -0
  190. replimap-0.1.36/replimap/renderers/variable_extractor.py +389 -0
  191. replimap-0.1.36/replimap/scanners/__init__.py +101 -0
  192. replimap-0.1.36/replimap/scanners/async_base.py +211 -0
  193. replimap-0.1.36/replimap/scanners/async_vpc_scanner.py +230 -0
  194. replimap-0.1.36/replimap/scanners/base.py +647 -0
  195. replimap-0.1.36/replimap/scanners/compute_scanner.py +467 -0
  196. replimap-0.1.36/replimap/scanners/ec2_scanner.py +255 -0
  197. replimap-0.1.36/replimap/scanners/elasticache_scanner.py +277 -0
  198. replimap-0.1.36/replimap/scanners/iam_scanner.py +194 -0
  199. replimap-0.1.36/replimap/scanners/incremental.py +771 -0
  200. replimap-0.1.36/replimap/scanners/messaging_scanner.py +256 -0
  201. replimap-0.1.36/replimap/scanners/monitoring_scanner.py +217 -0
  202. replimap-0.1.36/replimap/scanners/networking_scanner.py +461 -0
  203. replimap-0.1.36/replimap/scanners/rds_scanner.py +254 -0
  204. replimap-0.1.36/replimap/scanners/s3_scanner.py +257 -0
  205. replimap-0.1.36/replimap/scanners/storage_scanner.py +196 -0
  206. replimap-0.1.36/replimap/scanners/unified_scanners.py +698 -0
  207. replimap-0.1.36/replimap/scanners/vpc_scanner.py +256 -0
  208. replimap-0.1.36/replimap/snapshot/__init__.py +38 -0
  209. replimap-0.1.36/replimap/snapshot/differ.py +388 -0
  210. replimap-0.1.36/replimap/snapshot/models.py +329 -0
  211. replimap-0.1.36/replimap/snapshot/reporter.py +476 -0
  212. replimap-0.1.36/replimap/snapshot/store.py +269 -0
  213. replimap-0.1.36/replimap/templates/autoscaling_group.tf.j2 +123 -0
  214. replimap-0.1.36/replimap/templates/db_parameter_group.tf.j2 +30 -0
  215. replimap-0.1.36/replimap/templates/db_subnet_group.tf.j2 +31 -0
  216. replimap-0.1.36/replimap/templates/ebs_volume.tf.j2 +75 -0
  217. replimap-0.1.36/replimap/templates/ec2_instance.tf.j2 +76 -0
  218. replimap-0.1.36/replimap/templates/elasticache_cluster.tf.j2 +84 -0
  219. replimap-0.1.36/replimap/templates/elasticache_subnet_group.tf.j2 +31 -0
  220. replimap-0.1.36/replimap/templates/internet_gateway.tf.j2 +24 -0
  221. replimap-0.1.36/replimap/templates/launch_template.tf.j2 +154 -0
  222. replimap-0.1.36/replimap/templates/lb.tf.j2 +52 -0
  223. replimap-0.1.36/replimap/templates/lb_listener.tf.j2 +101 -0
  224. replimap-0.1.36/replimap/templates/lb_target_group.tf.j2 +79 -0
  225. replimap-0.1.36/replimap/templates/nat_gateway.tf.j2 +41 -0
  226. replimap-0.1.36/replimap/templates/network_acl.tf.j2 +178 -0
  227. replimap-0.1.36/replimap/templates/rds_instance.tf.j2 +127 -0
  228. replimap-0.1.36/replimap/templates/route_table.tf.j2 +210 -0
  229. replimap-0.1.36/replimap/templates/s3_bucket.tf.j2 +63 -0
  230. replimap-0.1.36/replimap/templates/s3_bucket_policy.tf.j2 +16 -0
  231. replimap-0.1.36/replimap/templates/security_group.tf.j2 +148 -0
  232. replimap-0.1.36/replimap/templates/sns_topic.tf.j2 +27 -0
  233. replimap-0.1.36/replimap/templates/sqs_queue.tf.j2 +48 -0
  234. replimap-0.1.36/replimap/templates/subnet.tf.j2 +32 -0
  235. replimap-0.1.36/replimap/templates/vpc.tf.j2 +31 -0
  236. replimap-0.1.36/replimap/templates/vpc_endpoint.tf.j2 +78 -0
  237. replimap-0.1.36/replimap/transformers/__init__.py +62 -0
  238. replimap-0.1.36/replimap/transformers/base.py +103 -0
  239. replimap-0.1.36/replimap/transformers/downsizer.py +402 -0
  240. replimap-0.1.36/replimap/transformers/network_remapper.py +246 -0
  241. replimap-0.1.36/replimap/transformers/renamer.py +234 -0
  242. replimap-0.1.36/replimap/transformers/sanitizer.py +260 -0
  243. replimap-0.1.36/replimap/ui/__init__.py +21 -0
  244. replimap-0.1.36/replimap/ui/rich_output.py +351 -0
@@ -0,0 +1,78 @@
1
+ # Python
2
+ __pycache__/
3
+ .pypirc
4
+ *.py[cod]
5
+ *$py.class
6
+ *.so
7
+ .Python
8
+ build/
9
+ develop-eggs/
10
+ dist/
11
+ downloads/
12
+ eggs/
13
+ .eggs/
14
+ lib/
15
+ lib64/
16
+ parts/
17
+ sdist/
18
+ var/
19
+ wheels/
20
+ *.egg-info/
21
+ .installed.cfg
22
+ *.egg
23
+
24
+ # Virtual environments
25
+ .env
26
+ .venv
27
+ env/
28
+ venv/
29
+ ENV/
30
+
31
+ # IDE
32
+ .idea/
33
+ .vscode/
34
+ *.swp
35
+ *.swo
36
+ *~
37
+
38
+ # Testing
39
+ .pytest_cache/
40
+ .coverage
41
+ htmlcov/
42
+ .tox/
43
+ .nox/
44
+
45
+ # mypy
46
+ .mypy_cache/
47
+ .dmypy.json
48
+ dmypy.json
49
+
50
+ # Generated outputs (can be regenerated with `replimap clone`)
51
+ terraform/
52
+ staging-tf/
53
+ audit_output/
54
+ !templates/*.j2
55
+ *.html
56
+
57
+ # Terraform
58
+ .terraform/
59
+ *.tfstate
60
+ *.tfstate.*
61
+ crash.log
62
+ crash.*.log
63
+ override.tf
64
+ override.tf.json
65
+ *_override.tf
66
+ *_override.tf.json
67
+ .terraformrc
68
+ terraform.rc
69
+
70
+ # Logs
71
+ *.log
72
+
73
+ # OS
74
+ .DS_Store
75
+ Thumbs.db
76
+
77
+ # RepliMap cache/data directories
78
+ .replimap/
@@ -0,0 +1,31 @@
1
+ RepliMap Proprietary License
2
+
3
+ Copyright (c) 2024-2025 RepliMap. All rights reserved.
4
+
5
+ This software and associated documentation files (the "Software") are the
6
+ proprietary property of RepliMap and are protected by copyright law and
7
+ international treaties.
8
+
9
+ PERMITTED USE:
10
+ - Personal evaluation and testing
11
+ - Use in accordance with a valid commercial license agreement
12
+
13
+ RESTRICTIONS:
14
+ Without a valid commercial license, you may NOT:
15
+ - Use the Software in production environments
16
+ - Redistribute, sublicense, or sell copies of the Software
17
+ - Modify, adapt, or create derivative works based on the Software
18
+ - Remove or alter any proprietary notices or labels on the Software
19
+
20
+ COMMERCIAL LICENSING:
21
+ For commercial use, enterprise licensing, or custom deployments, please
22
+ contact: licensing@replimap.io
23
+
24
+ DISCLAIMER:
25
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
26
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
27
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
28
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
29
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
30
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
31
+ SOFTWARE.
@@ -0,0 +1,13 @@
1
+ include LICENSE
2
+ include README.md
3
+ include CHANGELOG.md
4
+ recursive-include replimap/templates *.tf *.tf.j2 *.jinja2
5
+ recursive-include replimap *.py
6
+ global-exclude __pycache__
7
+ global-exclude *.pyc
8
+ global-exclude *.pyo
9
+ global-exclude .git*
10
+ global-exclude .env*
11
+ prune replimap-backend
12
+ prune tests
13
+ prune docs