runbooks 1.1.3__py3-none-any.whl → 1.1.5__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.
Files changed (247) hide show
  1. runbooks/__init__.py +31 -2
  2. runbooks/__init___optimized.py +18 -4
  3. runbooks/_platform/__init__.py +1 -5
  4. runbooks/_platform/core/runbooks_wrapper.py +141 -138
  5. runbooks/aws2/accuracy_validator.py +812 -0
  6. runbooks/base.py +7 -0
  7. runbooks/cfat/WEIGHT_CONFIG_README.md +1 -1
  8. runbooks/cfat/assessment/compliance.py +8 -8
  9. runbooks/cfat/assessment/runner.py +1 -0
  10. runbooks/cfat/cloud_foundations_assessment.py +227 -239
  11. runbooks/cfat/models.py +6 -2
  12. runbooks/cfat/tests/__init__.py +6 -1
  13. runbooks/cli/__init__.py +13 -0
  14. runbooks/cli/commands/cfat.py +274 -0
  15. runbooks/cli/commands/finops.py +1164 -0
  16. runbooks/cli/commands/inventory.py +379 -0
  17. runbooks/cli/commands/operate.py +239 -0
  18. runbooks/cli/commands/security.py +248 -0
  19. runbooks/cli/commands/validation.py +825 -0
  20. runbooks/cli/commands/vpc.py +310 -0
  21. runbooks/cli/registry.py +107 -0
  22. runbooks/cloudops/__init__.py +23 -30
  23. runbooks/cloudops/base.py +96 -107
  24. runbooks/cloudops/cost_optimizer.py +549 -547
  25. runbooks/cloudops/infrastructure_optimizer.py +5 -4
  26. runbooks/cloudops/interfaces.py +226 -227
  27. runbooks/cloudops/lifecycle_manager.py +5 -4
  28. runbooks/cloudops/mcp_cost_validation.py +252 -235
  29. runbooks/cloudops/models.py +78 -53
  30. runbooks/cloudops/monitoring_automation.py +5 -4
  31. runbooks/cloudops/notebook_framework.py +179 -215
  32. runbooks/cloudops/security_enforcer.py +125 -159
  33. runbooks/common/accuracy_validator.py +11 -0
  34. runbooks/common/aws_pricing.py +349 -326
  35. runbooks/common/aws_pricing_api.py +211 -212
  36. runbooks/common/aws_profile_manager.py +341 -0
  37. runbooks/common/aws_utils.py +75 -80
  38. runbooks/common/business_logic.py +127 -105
  39. runbooks/common/cli_decorators.py +36 -60
  40. runbooks/common/comprehensive_cost_explorer_integration.py +456 -464
  41. runbooks/common/cross_account_manager.py +198 -205
  42. runbooks/common/date_utils.py +27 -39
  43. runbooks/common/decorators.py +235 -0
  44. runbooks/common/dry_run_examples.py +173 -208
  45. runbooks/common/dry_run_framework.py +157 -155
  46. runbooks/common/enhanced_exception_handler.py +15 -4
  47. runbooks/common/enhanced_logging_example.py +50 -64
  48. runbooks/common/enhanced_logging_integration_example.py +65 -37
  49. runbooks/common/env_utils.py +16 -16
  50. runbooks/common/error_handling.py +40 -38
  51. runbooks/common/lazy_loader.py +41 -23
  52. runbooks/common/logging_integration_helper.py +79 -86
  53. runbooks/common/mcp_cost_explorer_integration.py +478 -495
  54. runbooks/common/mcp_integration.py +63 -74
  55. runbooks/common/memory_optimization.py +140 -118
  56. runbooks/common/module_cli_base.py +37 -58
  57. runbooks/common/organizations_client.py +176 -194
  58. runbooks/common/patterns.py +204 -0
  59. runbooks/common/performance_monitoring.py +67 -71
  60. runbooks/common/performance_optimization_engine.py +283 -274
  61. runbooks/common/profile_utils.py +248 -39
  62. runbooks/common/rich_utils.py +643 -92
  63. runbooks/common/sre_performance_suite.py +177 -186
  64. runbooks/enterprise/__init__.py +1 -1
  65. runbooks/enterprise/logging.py +144 -106
  66. runbooks/enterprise/security.py +187 -204
  67. runbooks/enterprise/validation.py +43 -56
  68. runbooks/finops/__init__.py +29 -33
  69. runbooks/finops/account_resolver.py +1 -1
  70. runbooks/finops/advanced_optimization_engine.py +980 -0
  71. runbooks/finops/automation_core.py +268 -231
  72. runbooks/finops/business_case_config.py +184 -179
  73. runbooks/finops/cli.py +660 -139
  74. runbooks/finops/commvault_ec2_analysis.py +157 -164
  75. runbooks/finops/compute_cost_optimizer.py +336 -320
  76. runbooks/finops/config.py +20 -20
  77. runbooks/finops/cost_optimizer.py +488 -622
  78. runbooks/finops/cost_processor.py +332 -214
  79. runbooks/finops/dashboard_runner.py +1006 -172
  80. runbooks/finops/ebs_cost_optimizer.py +991 -657
  81. runbooks/finops/elastic_ip_optimizer.py +317 -257
  82. runbooks/finops/enhanced_mcp_integration.py +340 -0
  83. runbooks/finops/enhanced_progress.py +40 -37
  84. runbooks/finops/enhanced_trend_visualization.py +3 -2
  85. runbooks/finops/enterprise_wrappers.py +230 -292
  86. runbooks/finops/executive_export.py +203 -160
  87. runbooks/finops/helpers.py +130 -288
  88. runbooks/finops/iam_guidance.py +1 -1
  89. runbooks/finops/infrastructure/__init__.py +80 -0
  90. runbooks/finops/infrastructure/commands.py +506 -0
  91. runbooks/finops/infrastructure/load_balancer_optimizer.py +866 -0
  92. runbooks/finops/infrastructure/vpc_endpoint_optimizer.py +832 -0
  93. runbooks/finops/markdown_exporter.py +338 -175
  94. runbooks/finops/mcp_validator.py +1952 -0
  95. runbooks/finops/nat_gateway_optimizer.py +1513 -482
  96. runbooks/finops/network_cost_optimizer.py +657 -587
  97. runbooks/finops/notebook_utils.py +226 -188
  98. runbooks/finops/optimization_engine.py +1136 -0
  99. runbooks/finops/optimizer.py +25 -29
  100. runbooks/finops/rds_snapshot_optimizer.py +367 -411
  101. runbooks/finops/reservation_optimizer.py +427 -363
  102. runbooks/finops/scenario_cli_integration.py +77 -78
  103. runbooks/finops/scenarios.py +1278 -439
  104. runbooks/finops/schemas.py +218 -182
  105. runbooks/finops/snapshot_manager.py +2289 -0
  106. runbooks/finops/tests/test_finops_dashboard.py +3 -3
  107. runbooks/finops/tests/test_reference_images_validation.py +2 -2
  108. runbooks/finops/tests/test_single_account_features.py +17 -17
  109. runbooks/finops/tests/validate_test_suite.py +1 -1
  110. runbooks/finops/types.py +3 -3
  111. runbooks/finops/validation_framework.py +263 -269
  112. runbooks/finops/vpc_cleanup_exporter.py +191 -146
  113. runbooks/finops/vpc_cleanup_optimizer.py +593 -575
  114. runbooks/finops/workspaces_analyzer.py +171 -182
  115. runbooks/hitl/enhanced_workflow_engine.py +1 -1
  116. runbooks/integration/__init__.py +89 -0
  117. runbooks/integration/mcp_integration.py +1920 -0
  118. runbooks/inventory/CLAUDE.md +816 -0
  119. runbooks/inventory/README.md +3 -3
  120. runbooks/inventory/Tests/common_test_data.py +30 -30
  121. runbooks/inventory/__init__.py +2 -2
  122. runbooks/inventory/cloud_foundations_integration.py +144 -149
  123. runbooks/inventory/collectors/aws_comprehensive.py +28 -11
  124. runbooks/inventory/collectors/aws_networking.py +111 -101
  125. runbooks/inventory/collectors/base.py +4 -0
  126. runbooks/inventory/core/collector.py +495 -313
  127. runbooks/inventory/discovery.md +2 -2
  128. runbooks/inventory/drift_detection_cli.py +69 -96
  129. runbooks/inventory/find_ec2_security_groups.py +1 -1
  130. runbooks/inventory/inventory_mcp_cli.py +48 -46
  131. runbooks/inventory/list_rds_snapshots_aggregator.py +192 -208
  132. runbooks/inventory/mcp_inventory_validator.py +549 -465
  133. runbooks/inventory/mcp_vpc_validator.py +359 -442
  134. runbooks/inventory/organizations_discovery.py +56 -52
  135. runbooks/inventory/rich_inventory_display.py +33 -32
  136. runbooks/inventory/unified_validation_engine.py +278 -251
  137. runbooks/inventory/vpc_analyzer.py +733 -696
  138. runbooks/inventory/vpc_architecture_validator.py +293 -348
  139. runbooks/inventory/vpc_dependency_analyzer.py +382 -378
  140. runbooks/inventory/vpc_flow_analyzer.py +3 -3
  141. runbooks/main.py +152 -9147
  142. runbooks/main_final.py +91 -60
  143. runbooks/main_minimal.py +22 -10
  144. runbooks/main_optimized.py +131 -100
  145. runbooks/main_ultra_minimal.py +7 -2
  146. runbooks/mcp/__init__.py +36 -0
  147. runbooks/mcp/integration.py +679 -0
  148. runbooks/metrics/dora_metrics_engine.py +2 -2
  149. runbooks/monitoring/performance_monitor.py +9 -4
  150. runbooks/operate/dynamodb_operations.py +3 -1
  151. runbooks/operate/ec2_operations.py +145 -137
  152. runbooks/operate/iam_operations.py +146 -152
  153. runbooks/operate/mcp_integration.py +1 -1
  154. runbooks/operate/networking_cost_heatmap.py +33 -10
  155. runbooks/operate/privatelink_operations.py +1 -1
  156. runbooks/operate/rds_operations.py +223 -254
  157. runbooks/operate/s3_operations.py +107 -118
  158. runbooks/operate/vpc_endpoints.py +1 -1
  159. runbooks/operate/vpc_operations.py +648 -618
  160. runbooks/remediation/base.py +1 -1
  161. runbooks/remediation/commons.py +10 -7
  162. runbooks/remediation/commvault_ec2_analysis.py +71 -67
  163. runbooks/remediation/ec2_unattached_ebs_volumes.py +1 -0
  164. runbooks/remediation/multi_account.py +24 -21
  165. runbooks/remediation/rds_snapshot_list.py +91 -65
  166. runbooks/remediation/remediation_cli.py +92 -146
  167. runbooks/remediation/universal_account_discovery.py +83 -79
  168. runbooks/remediation/workspaces_list.py +49 -44
  169. runbooks/security/__init__.py +19 -0
  170. runbooks/security/assessment_runner.py +1150 -0
  171. runbooks/security/baseline_checker.py +812 -0
  172. runbooks/security/cloudops_automation_security_validator.py +509 -535
  173. runbooks/security/compliance_automation_engine.py +17 -17
  174. runbooks/security/config/__init__.py +2 -2
  175. runbooks/security/config/compliance_config.py +50 -50
  176. runbooks/security/config_template_generator.py +63 -76
  177. runbooks/security/enterprise_security_framework.py +1 -1
  178. runbooks/security/executive_security_dashboard.py +519 -508
  179. runbooks/security/integration_test_enterprise_security.py +5 -3
  180. runbooks/security/multi_account_security_controls.py +959 -1210
  181. runbooks/security/real_time_security_monitor.py +422 -444
  182. runbooks/security/run_script.py +1 -1
  183. runbooks/security/security_baseline_tester.py +1 -1
  184. runbooks/security/security_cli.py +143 -112
  185. runbooks/security/test_2way_validation.py +439 -0
  186. runbooks/security/two_way_validation_framework.py +852 -0
  187. runbooks/sre/mcp_reliability_engine.py +6 -6
  188. runbooks/sre/production_monitoring_framework.py +167 -177
  189. runbooks/tdd/__init__.py +15 -0
  190. runbooks/tdd/cli.py +1071 -0
  191. runbooks/utils/__init__.py +14 -17
  192. runbooks/utils/logger.py +7 -2
  193. runbooks/utils/version_validator.py +51 -48
  194. runbooks/validation/__init__.py +6 -6
  195. runbooks/validation/cli.py +9 -3
  196. runbooks/validation/comprehensive_2way_validator.py +754 -708
  197. runbooks/validation/mcp_validator.py +906 -228
  198. runbooks/validation/terraform_citations_validator.py +104 -115
  199. runbooks/validation/terraform_drift_detector.py +447 -451
  200. runbooks/vpc/README.md +617 -0
  201. runbooks/vpc/__init__.py +8 -1
  202. runbooks/vpc/analyzer.py +577 -0
  203. runbooks/vpc/cleanup_wrapper.py +476 -413
  204. runbooks/vpc/cli_cloudtrail_commands.py +339 -0
  205. runbooks/vpc/cli_mcp_validation_commands.py +480 -0
  206. runbooks/vpc/cloudtrail_audit_integration.py +717 -0
  207. runbooks/vpc/config.py +92 -97
  208. runbooks/vpc/cost_engine.py +411 -148
  209. runbooks/vpc/cost_explorer_integration.py +553 -0
  210. runbooks/vpc/cross_account_session.py +101 -106
  211. runbooks/vpc/enhanced_mcp_validation.py +917 -0
  212. runbooks/vpc/eni_gate_validator.py +961 -0
  213. runbooks/vpc/heatmap_engine.py +190 -162
  214. runbooks/vpc/mcp_no_eni_validator.py +681 -640
  215. runbooks/vpc/nat_gateway_optimizer.py +358 -0
  216. runbooks/vpc/networking_wrapper.py +15 -8
  217. runbooks/vpc/pdca_remediation_planner.py +528 -0
  218. runbooks/vpc/performance_optimized_analyzer.py +219 -231
  219. runbooks/vpc/runbooks_adapter.py +1167 -241
  220. runbooks/vpc/tdd_red_phase_stubs.py +601 -0
  221. runbooks/vpc/test_data_loader.py +358 -0
  222. runbooks/vpc/tests/conftest.py +314 -4
  223. runbooks/vpc/tests/test_cleanup_framework.py +1022 -0
  224. runbooks/vpc/tests/test_cost_engine.py +0 -2
  225. runbooks/vpc/topology_generator.py +326 -0
  226. runbooks/vpc/unified_scenarios.py +1302 -1129
  227. runbooks/vpc/vpc_cleanup_integration.py +1943 -1115
  228. runbooks-1.1.5.dist-info/METADATA +328 -0
  229. {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/RECORD +233 -200
  230. runbooks/finops/README.md +0 -414
  231. runbooks/finops/accuracy_cross_validator.py +0 -647
  232. runbooks/finops/business_cases.py +0 -950
  233. runbooks/finops/dashboard_router.py +0 -922
  234. runbooks/finops/ebs_optimizer.py +0 -956
  235. runbooks/finops/embedded_mcp_validator.py +0 -1629
  236. runbooks/finops/enhanced_dashboard_runner.py +0 -527
  237. runbooks/finops/finops_dashboard.py +0 -584
  238. runbooks/finops/finops_scenarios.py +0 -1218
  239. runbooks/finops/legacy_migration.py +0 -730
  240. runbooks/finops/multi_dashboard.py +0 -1519
  241. runbooks/finops/single_dashboard.py +0 -1113
  242. runbooks/finops/unlimited_scenarios.py +0 -393
  243. runbooks-1.1.3.dist-info/METADATA +0 -799
  244. {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/WHEEL +0 -0
  245. {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/entry_points.txt +0 -0
  246. {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/licenses/LICENSE +0 -0
  247. {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/top_level.txt +0 -0
@@ -548,7 +548,7 @@ Usage Examples:
548
548
 
549
549
  ```bash
550
550
  # List all instances across all accounts and regions
551
- python list_ec2_instances.py --profile ams-admin-ReadOnlyAccess-909135376185
551
+ python list_ec2_instances.py --profile ${MANAGEMENT_PROFILE}
552
552
 
553
553
  # List instances in specific regions
554
554
  python list_ec2_instances.py --profile my-profile --regions us-east-1,us-west-2
@@ -1230,10 +1230,10 @@ python update_cloudwatch_logs_retention_policy.py --profile my-profile --verbose
1230
1230
 
1231
1231
  ```bash
1232
1232
  # Configure AWS SSO
1233
- aws configure sso --profile ams-admin-ReadOnlyAccess-909135376185
1233
+ aws configure sso --profile ${MANAGEMENT_PROFILE}
1234
1234
 
1235
1235
  # Verify credentials
1236
- aws sts get-caller-identity --profile ams-admin-ReadOnlyAccess-909135376185
1236
+ aws sts get-caller-identity --profile ${MANAGEMENT_PROFILE}
1237
1237
  ```
1238
1238
 
1239
1239
  ### 2. Regional Operations
@@ -1086,7 +1086,7 @@ account_and_region_specific_function_response_data = [
1086
1086
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1087
1087
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1088
1088
  "LOG_LEVEL": "INFO",
1089
- "SOLUTION_VERSION": "v1.0.3",
1089
+ "SOLUTION_VERSION": "latest version",
1090
1090
  }
1091
1091
  },
1092
1092
  "TracingConfig": {"Mode": "Active"},
@@ -1119,7 +1119,7 @@ account_and_region_specific_function_response_data = [
1119
1119
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1120
1120
  "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
1121
1121
  "LOG_LEVEL": "INFO",
1122
- "SOLUTION_VERSION": "v1.0.3",
1122
+ "SOLUTION_VERSION": "latest version",
1123
1123
  }
1124
1124
  },
1125
1125
  "TracingConfig": {"Mode": "Active"},
@@ -1190,7 +1190,7 @@ account_and_region_specific_function_response_data = [
1190
1190
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1191
1191
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1192
1192
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1193
- "SOLUTION_VERSION": "v1.0.3",
1193
+ "SOLUTION_VERSION": "latest version",
1194
1194
  }
1195
1195
  },
1196
1196
  "TracingConfig": {"Mode": "Active"},
@@ -1223,7 +1223,7 @@ account_and_region_specific_function_response_data = [
1223
1223
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1224
1224
  "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
1225
1225
  "LOG_LEVEL": "INFO",
1226
- "SOLUTION_VERSION": "v1.0.3",
1226
+ "SOLUTION_VERSION": "latest version",
1227
1227
  }
1228
1228
  },
1229
1229
  "TracingConfig": {"Mode": "Active"},
@@ -1291,7 +1291,7 @@ account_and_region_specific_function_response_data = [
1291
1291
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1292
1292
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1293
1293
  "LOG_LEVEL": "INFO",
1294
- "SOLUTION_VERSION": "v1.0.3",
1294
+ "SOLUTION_VERSION": "latest version",
1295
1295
  }
1296
1296
  },
1297
1297
  "TracingConfig": {"Mode": "Active"},
@@ -1341,7 +1341,7 @@ account_and_region_specific_function_response_data = [
1341
1341
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1342
1342
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1343
1343
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1344
- "SOLUTION_VERSION": "v1.0.3",
1344
+ "SOLUTION_VERSION": "latest version",
1345
1345
  }
1346
1346
  },
1347
1347
  "TracingConfig": {"Mode": "Active"},
@@ -1395,7 +1395,7 @@ account_and_region_specific_function_response_data = [
1395
1395
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1396
1396
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1397
1397
  "LOG_LEVEL": "INFO",
1398
- "SOLUTION_VERSION": "v1.0.3",
1398
+ "SOLUTION_VERSION": "latest version",
1399
1399
  }
1400
1400
  },
1401
1401
  "TracingConfig": {"Mode": "Active"},
@@ -1425,7 +1425,7 @@ account_and_region_specific_function_response_data = [
1425
1425
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1426
1426
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1427
1427
  "LOG_LEVEL": "INFO",
1428
- "SOLUTION_VERSION": "v1.0.3",
1428
+ "SOLUTION_VERSION": "latest version",
1429
1429
  }
1430
1430
  },
1431
1431
  "TracingConfig": {"Mode": "Active"},
@@ -1450,12 +1450,12 @@ account_and_region_specific_function_response_data = [
1450
1450
  "Version": "$LATEST",
1451
1451
  "Environment": {
1452
1452
  "Variables": {
1453
- "CONFIG": '{"SrcBucket":"solutions-us-east-1","SrcPath":"account-assessment-for-aws-organizations/v1.0.3/webui/","WebUIBucket":"accountassessmentstack-s3bucket07682993-1qnr9dfvuvn8m","awsExports":{"API":{"endpoints":[{"name":"AccountAssessmentApi","endpoint":"https://5ugessads8.execute-api.us-east-1.amazonaws.com/prod"}]},"loggingLevel":"INFO","Auth":{"region":"us-east-1","userPoolId":"us-east-1_4y5EH6RX3","userPoolWebClientId":"10hrrgcdjum45c4jmre3kv7r7d","mandatorySignIn":true,"oauth":{"domain":"paulbaye-amzn.auth.us-east-1.amazoncognito.com","scope":["openid","profile","email","aws.cognito.signin.user.admin"],"redirectSignIn":"https://d12i33hlb8s7se.cloudfront.net/","redirectSignOut":"https://d12i33hlb8s7se.cloudfront.net/","responseType":"code","clientId":"10hrrgcdjum45c4jmre3kv7r7d"}}}}',
1453
+ "CONFIG": '{"SrcBucket":"solutions-us-east-1","SrcPath":"account-assessment-for-aws-organizations/latest version/webui/","WebUIBucket":"accountassessmentstack-s3bucket07682993-1qnr9dfvuvn8m","awsExports":{"API":{"endpoints":[{"name":"AccountAssessmentApi","endpoint":"https://5ugessads8.execute-api.us-east-1.amazonaws.com/prod"}]},"loggingLevel":"INFO","Auth":{"region":"us-east-1","userPoolId":"us-east-1_4y5EH6RX3","userPoolWebClientId":"10hrrgcdjum45c4jmre3kv7r7d","mandatorySignIn":true,"oauth":{"domain":"paulbaye-amzn.auth.us-east-1.amazoncognito.com","scope":["openid","profile","email","aws.cognito.signin.user.admin"],"redirectSignIn":"https://d12i33hlb8s7se.cloudfront.net/","redirectSignOut":"https://d12i33hlb8s7se.cloudfront.net/","responseType":"code","clientId":"10hrrgcdjum45c4jmre3kv7r7d"}}}}',
1454
1454
  "POWERTOOLS_SERVICE_NAME": "DeployWebUI",
1455
1455
  "SEND_ANONYMOUS_DATA": "Yes",
1456
1456
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1457
1457
  "LOG_LEVEL": "INFO",
1458
- "SOLUTION_VERSION": "v1.0.3",
1458
+ "SOLUTION_VERSION": "latest version",
1459
1459
  }
1460
1460
  },
1461
1461
  "TracingConfig": {"Mode": "Active"},
@@ -1508,7 +1508,7 @@ account_and_region_specific_function_response_data = [
1508
1508
  "TIME_TO_LIVE_IN_DAYS": "90",
1509
1509
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1510
1510
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1511
- "SOLUTION_VERSION": "v1.0.3",
1511
+ "SOLUTION_VERSION": "latest version",
1512
1512
  "TABLE_RESOURCE_BASED_POLICY": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1513
1513
  }
1514
1514
  },
@@ -1579,7 +1579,7 @@ account_and_region_specific_function_response_data = [
1579
1579
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1580
1580
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1581
1581
  "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
1582
- "SOLUTION_VERSION": "v1.0.3",
1582
+ "SOLUTION_VERSION": "latest version",
1583
1583
  }
1584
1584
  },
1585
1585
  "TracingConfig": {"Mode": "Active"},
@@ -1609,7 +1609,7 @@ account_and_region_specific_function_response_data = [
1609
1609
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1610
1610
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1611
1611
  "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
1612
- "SOLUTION_VERSION": "v1.0.3",
1612
+ "SOLUTION_VERSION": "latest version",
1613
1613
  }
1614
1614
  },
1615
1615
  "TracingConfig": {"Mode": "Active"},
@@ -2043,7 +2043,7 @@ account_and_region_specific_function_response_data = [
2043
2043
  "CONFIG_AGGREGATOR": "aws-perspective-us-east-1-444444444444-aggregator",
2044
2044
  "VERSION": "1.0",
2045
2045
  "ANONYMOUS_METRIC_OPT_OUT": "No",
2046
- "DEPLOYMENT_BUCKET_KEY": "aws-perspective/v1.0.1",
2046
+ "DEPLOYMENT_BUCKET_KEY": "aws-perspective/latest version",
2047
2047
  "DISCOVERY_BUCKET": "aws-perspective-discoverybucket-qjlwypzo5eg1",
2048
2048
  "WEBUI_BUCKET": "aws-perspective-webuibucket-1xylrsdi5wwn2",
2049
2049
  }
@@ -2312,7 +2312,7 @@ function_response_data = {
2312
2312
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2313
2313
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2314
2314
  "LOG_LEVEL": "INFO",
2315
- "SOLUTION_VERSION": "v1.0.3",
2315
+ "SOLUTION_VERSION": "latest version",
2316
2316
  }
2317
2317
  },
2318
2318
  "TracingConfig": {"Mode": "Active"},
@@ -2345,7 +2345,7 @@ function_response_data = {
2345
2345
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2346
2346
  "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
2347
2347
  "LOG_LEVEL": "INFO",
2348
- "SOLUTION_VERSION": "v1.0.3",
2348
+ "SOLUTION_VERSION": "latest version",
2349
2349
  }
2350
2350
  },
2351
2351
  "TracingConfig": {"Mode": "Active"},
@@ -2416,7 +2416,7 @@ function_response_data = {
2416
2416
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2417
2417
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2418
2418
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2419
- "SOLUTION_VERSION": "v1.0.3",
2419
+ "SOLUTION_VERSION": "latest version",
2420
2420
  }
2421
2421
  },
2422
2422
  "TracingConfig": {"Mode": "Active"},
@@ -2449,7 +2449,7 @@ function_response_data = {
2449
2449
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2450
2450
  "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
2451
2451
  "LOG_LEVEL": "INFO",
2452
- "SOLUTION_VERSION": "v1.0.3",
2452
+ "SOLUTION_VERSION": "latest version",
2453
2453
  }
2454
2454
  },
2455
2455
  "TracingConfig": {"Mode": "Active"},
@@ -2514,7 +2514,7 @@ function_response_data = {
2514
2514
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2515
2515
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2516
2516
  "LOG_LEVEL": "INFO",
2517
- "SOLUTION_VERSION": "v1.0.3",
2517
+ "SOLUTION_VERSION": "latest version",
2518
2518
  }
2519
2519
  },
2520
2520
  "TracingConfig": {"Mode": "Active"},
@@ -2564,7 +2564,7 @@ function_response_data = {
2564
2564
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2565
2565
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2566
2566
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2567
- "SOLUTION_VERSION": "v1.0.3",
2567
+ "SOLUTION_VERSION": "latest version",
2568
2568
  }
2569
2569
  },
2570
2570
  "TracingConfig": {"Mode": "Active"},
@@ -2618,7 +2618,7 @@ function_response_data = {
2618
2618
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2619
2619
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2620
2620
  "LOG_LEVEL": "INFO",
2621
- "SOLUTION_VERSION": "v1.0.3",
2621
+ "SOLUTION_VERSION": "latest version",
2622
2622
  }
2623
2623
  },
2624
2624
  "TracingConfig": {"Mode": "Active"},
@@ -2648,7 +2648,7 @@ function_response_data = {
2648
2648
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2649
2649
  "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2650
2650
  "LOG_LEVEL": "INFO",
2651
- "SOLUTION_VERSION": "v1.0.3",
2651
+ "SOLUTION_VERSION": "latest version",
2652
2652
  }
2653
2653
  },
2654
2654
  "TracingConfig": {"Mode": "Active"},
@@ -2673,12 +2673,12 @@ function_response_data = {
2673
2673
  "Version": "$LATEST",
2674
2674
  "Environment": {
2675
2675
  "Variables": {
2676
- "CONFIG": '{"SrcBucket":"solutions-us-east-1","SrcPath":"account-assessment-for-aws-organizations/v1.0.3/webui/","WebUIBucket":"accountassessmentstack-s3bucket07682993-1qnr9dfvuvn8m","awsExports":{"API":{"endpoints":[{"name":"AccountAssessmentApi","endpoint":"https://5ugessads8.execute-api.us-east-1.amazonaws.com/prod"}]},"loggingLevel":"INFO","Auth":{"region":"us-east-1","userPoolId":"us-east-1_4y5EH6RX3","userPoolWebClientId":"10hrrgcdjum45c4jmre3kv7r7d","mandatorySignIn":true,"oauth":{"domain":"paulbaye-amzn.auth.us-east-1.amazoncognito.com","scope":["openid","profile","email","aws.cognito.signin.user.admin"],"redirectSignIn":"https://d12i33hlb8s7se.cloudfront.net/","redirectSignOut":"https://d12i33hlb8s7se.cloudfront.net/","responseType":"code","clientId":"10hrrgcdjum45c4jmre3kv7r7d"}}}}',
2676
+ "CONFIG": '{"SrcBucket":"solutions-us-east-1","SrcPath":"account-assessment-for-aws-organizations/latest version/webui/","WebUIBucket":"accountassessmentstack-s3bucket07682993-1qnr9dfvuvn8m","awsExports":{"API":{"endpoints":[{"name":"AccountAssessmentApi","endpoint":"https://5ugessads8.execute-api.us-east-1.amazonaws.com/prod"}]},"loggingLevel":"INFO","Auth":{"region":"us-east-1","userPoolId":"us-east-1_4y5EH6RX3","userPoolWebClientId":"10hrrgcdjum45c4jmre3kv7r7d","mandatorySignIn":true,"oauth":{"domain":"paulbaye-amzn.auth.us-east-1.amazoncognito.com","scope":["openid","profile","email","aws.cognito.signin.user.admin"],"redirectSignIn":"https://d12i33hlb8s7se.cloudfront.net/","redirectSignOut":"https://d12i33hlb8s7se.cloudfront.net/","responseType":"code","clientId":"10hrrgcdjum45c4jmre3kv7r7d"}}}}',
2677
2677
  "POWERTOOLS_SERVICE_NAME": "DeployWebUI",
2678
2678
  "SEND_ANONYMOUS_DATA": "Yes",
2679
2679
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2680
2680
  "LOG_LEVEL": "INFO",
2681
- "SOLUTION_VERSION": "v1.0.3",
2681
+ "SOLUTION_VERSION": "latest version",
2682
2682
  }
2683
2683
  },
2684
2684
  "TracingConfig": {"Mode": "Active"},
@@ -2731,7 +2731,7 @@ function_response_data = {
2731
2731
  "TIME_TO_LIVE_IN_DAYS": "90",
2732
2732
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2733
2733
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2734
- "SOLUTION_VERSION": "v1.0.3",
2734
+ "SOLUTION_VERSION": "latest version",
2735
2735
  "TABLE_RESOURCE_BASED_POLICY": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2736
2736
  }
2737
2737
  },
@@ -2802,7 +2802,7 @@ function_response_data = {
2802
2802
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2803
2803
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2804
2804
  "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
2805
- "SOLUTION_VERSION": "v1.0.3",
2805
+ "SOLUTION_VERSION": "latest version",
2806
2806
  }
2807
2807
  },
2808
2808
  "TracingConfig": {"Mode": "Active"},
@@ -2832,7 +2832,7 @@ function_response_data = {
2832
2832
  "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2833
2833
  "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2834
2834
  "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
2835
- "SOLUTION_VERSION": "v1.0.3",
2835
+ "SOLUTION_VERSION": "latest version",
2836
2836
  }
2837
2837
  },
2838
2838
  "TracingConfig": {"Mode": "Active"},
@@ -2923,7 +2923,7 @@ mock_instances_3 = {
2923
2923
  "Placement": {"AvailabilityZone": "us-west-2b"},
2924
2924
  "PublicIpAddress": "22.23.24.25",
2925
2925
  "PublicDnsName": "ec2-22-23-24-25.us-west-2.compute.amazonaws.com",
2926
- "PrivateIpAddress": "10.0.9.1",
2926
+ "PrivateIpAddress": "10.latest version",
2927
2927
  "State": {"Name": "running"},
2928
2928
  "Tags": [
2929
2929
  {"Key": "Account", "Value": "555566667777"},
@@ -3080,7 +3080,7 @@ mock_instances_7 = {
3080
3080
  "InstanceType": "c5d.18xlarge",
3081
3081
  "Placement": {"AvailabilityZone": "eu-west-2a"},
3082
3082
  "PublicIpAddress": "22.23.24.27",
3083
- "PrivateIpAddress": "10.0.9.3",
3083
+ "PrivateIpAddress": "10.latest version",
3084
3084
  "State": {"Name": "running"},
3085
3085
  "Tags": [
3086
3086
  {"Key": "Account", "Value": "777755556666"},
@@ -3228,7 +3228,7 @@ mock_instances_11 = {
3228
3228
  "InstanceType": "c5d.12xlarge",
3229
3229
  "Placement": {"AvailabilityZone": "us-east-2c"},
3230
3230
  "PublicIpAddress": "22.23.24.26",
3231
- "PrivateIpAddress": "10.0.9.2",
3231
+ "PrivateIpAddress": "10.latest version",
3232
3232
  "State": {"Name": "running"},
3233
3233
  "Tags": [
3234
3234
  {"Key": "Account", "Value": "111122223333"},
@@ -51,7 +51,7 @@ from runbooks import __version__
51
51
  __all__ = [
52
52
  # Core functionality
53
53
  "InventoryCollector",
54
- "InventoryFormatter",
54
+ "InventoryFormatter",
55
55
  # Enhanced functionality with proven finops patterns
56
56
  "EnhancedInventoryCollector",
57
57
  # Base classes for extension
@@ -72,7 +72,7 @@ __all__ = [
72
72
  "validate_aws_credentials",
73
73
  # VPC Module Migration Integration
74
74
  "VPCAnalyzer",
75
- "VPCDiscoveryResult",
75
+ "VPCDiscoveryResult",
76
76
  "AWSOAnalysis",
77
77
  # Version
78
78
  "__version__",