runbooks 1.1.7__tar.gz → 1.1.10__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 (505) hide show
  1. {runbooks-1.1.7/src/runbooks.egg-info → runbooks-1.1.10}/PKG-INFO +74 -4
  2. {runbooks-1.1.7 → runbooks-1.1.10}/README.md +73 -3
  3. {runbooks-1.1.7 → runbooks-1.1.10}/pyproject.toml +1 -1
  4. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/__init__.py +1 -1
  5. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/__init___optimized.py +2 -1
  6. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/_platform/__init__.py +1 -1
  7. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/cli.py +4 -3
  8. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/cloud_foundations_assessment.py +1 -2
  9. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/tests/test_cli.py +4 -1
  10. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/commands/finops.py +68 -19
  11. runbooks-1.1.10/src/runbooks/cli/commands/inventory.py +1156 -0
  12. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/commands/operate.py +65 -4
  13. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/commands/vpc.py +1 -1
  14. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/cost_optimizer.py +1 -3
  15. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/cli_decorators.py +6 -4
  16. runbooks-1.1.10/src/runbooks/common/config_loader.py +787 -0
  17. runbooks-1.1.10/src/runbooks/common/config_schema.py +280 -0
  18. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/dry_run_framework.py +14 -2
  19. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/mcp_integration.py +238 -0
  20. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/ebs_cost_optimizer.py +7 -4
  21. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/elastic_ip_optimizer.py +7 -4
  22. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/infrastructure/__init__.py +3 -2
  23. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/infrastructure/commands.py +7 -4
  24. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/infrastructure/load_balancer_optimizer.py +7 -4
  25. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/infrastructure/vpc_endpoint_optimizer.py +7 -4
  26. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/nat_gateway_optimizer.py +7 -4
  27. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/run_tests.py +1 -1
  28. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/ArgumentsClass.py +2 -1
  29. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/CLAUDE.md +41 -0
  30. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/README.md +210 -2
  31. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/test_Inventory_Modules.py +27 -10
  32. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/test_cfn_describe_stacks.py +18 -7
  33. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/test_ec2_describe_instances.py +30 -15
  34. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/test_lambda_list_functions.py +17 -3
  35. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/test_org_list_accounts.py +17 -4
  36. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/account_class.py +0 -1
  37. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/all_my_instances_wrapper.py +4 -8
  38. runbooks-1.1.10/src/runbooks/inventory/aws_organization.png +0 -0
  39. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/check_cloudtrail_compliance.py +4 -4
  40. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/check_controltower_readiness.py +50 -47
  41. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/check_landingzone_readiness.py +35 -31
  42. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/cloud_foundations_integration.py +8 -3
  43. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/collectors/aws_compute.py +59 -11
  44. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/collectors/aws_management.py +39 -5
  45. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/core/collector.py +1655 -159
  46. runbooks-1.1.10/src/runbooks/inventory/core/concurrent_paginator.py +511 -0
  47. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/discovery.md +15 -6
  48. runbooks-1.1.7/src/runbooks/inventory/draw_org_structure.py → runbooks-1.1.10/src/runbooks/inventory/draw_org.py +55 -9
  49. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/drift_detection_cli.py +8 -68
  50. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/find_cfn_drift_detection.py +14 -4
  51. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/find_cfn_orphaned_stacks.py +7 -5
  52. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/find_cfn_stackset_drift.py +5 -5
  53. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/find_ec2_security_groups.py +6 -3
  54. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/find_landingzone_versions.py +5 -5
  55. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/find_vpc_flow_logs.py +5 -5
  56. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/inventory.sh +20 -7
  57. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/inventory_mcp_cli.py +4 -0
  58. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/inventory_modules.py +9 -7
  59. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_cfn_stacks.py +18 -8
  60. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_cfn_stackset_operation_results.py +2 -2
  61. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_cfn_stackset_operations.py +32 -20
  62. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_cfn_stacksets.py +7 -4
  63. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_config_recorders_delivery_channels.py +4 -4
  64. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_ds_directories.py +3 -3
  65. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_ec2_availability_zones.py +7 -3
  66. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_ec2_ebs_volumes.py +3 -3
  67. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_ec2_instances.py +1 -1
  68. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_ecs_clusters_and_tasks.py +8 -4
  69. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_elbs_load_balancers.py +7 -3
  70. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_enis_network_interfaces.py +3 -3
  71. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_guardduty_detectors.py +9 -5
  72. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_iam_policies.py +7 -3
  73. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_iam_roles.py +3 -3
  74. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_iam_saml_providers.py +8 -4
  75. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_lambda_functions.py +8 -4
  76. runbooks-1.1.10/src/runbooks/inventory/list_org_accounts.py +474 -0
  77. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_org_accounts_users.py +45 -9
  78. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_rds_db_instances.py +4 -4
  79. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_route53_hosted_zones.py +3 -3
  80. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_servicecatalog_provisioned_products.py +5 -5
  81. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_sns_topics.py +4 -4
  82. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_ssm_parameters.py +6 -3
  83. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_vpc_subnets.py +8 -4
  84. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_vpcs.py +15 -4
  85. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/mcp_inventory_validator.py +771 -134
  86. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/mcp_vpc_validator.py +6 -0
  87. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/organizations_discovery.py +17 -3
  88. runbooks-1.1.10/src/runbooks/inventory/organizations_utils.py +553 -0
  89. runbooks-1.1.10/src/runbooks/inventory/output_formatters.py +422 -0
  90. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/recover_cfn_stack_ids.py +5 -5
  91. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/run_on_multi_accounts.py +3 -3
  92. runbooks-1.1.10/src/runbooks/inventory/tag_coverage.py +481 -0
  93. runbooks-1.1.10/src/runbooks/inventory/validation_utils.py +358 -0
  94. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/verify_ec2_security_groups.py +18 -5
  95. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/vpc_architecture_validator.py +7 -1
  96. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/vpc_dependency_analyzer.py +6 -0
  97. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/main_final.py +2 -2
  98. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/main_ultra_minimal.py +2 -2
  99. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/mcp/integration.py +6 -4
  100. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/acm_remediation.py +2 -2
  101. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/cloudtrail_remediation.py +2 -2
  102. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/cognito_remediation.py +2 -2
  103. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/dynamodb_remediation.py +2 -2
  104. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/ec2_remediation.py +2 -2
  105. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/kms_remediation.py +2 -2
  106. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/lambda_remediation.py +2 -2
  107. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/rds_remediation.py +2 -2
  108. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_remediation.py +1 -1
  109. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/cloudtrail_audit_integration.py +1 -1
  110. {runbooks-1.1.7 → runbooks-1.1.10/src/runbooks.egg-info}/PKG-INFO +74 -4
  111. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks.egg-info/SOURCES.txt +9 -2
  112. runbooks-1.1.7/src/runbooks/__init__.py.backup +0 -134
  113. runbooks-1.1.7/src/runbooks/cli/commands/inventory.py +0 -332
  114. runbooks-1.1.7/src/runbooks/inventory/list_org_accounts.py +0 -444
  115. {runbooks-1.1.7 → runbooks-1.1.10}/LICENSE +0 -0
  116. {runbooks-1.1.7 → runbooks-1.1.10}/MANIFEST.in +0 -0
  117. {runbooks-1.1.7 → runbooks-1.1.10}/setup.cfg +0 -0
  118. {runbooks-1.1.7 → runbooks-1.1.10}/src/conftest.py +0 -0
  119. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/__main__.py +0 -0
  120. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/_platform/core/runbooks_wrapper.py +0 -0
  121. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/aws2/accuracy_validator.py +0 -0
  122. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/base.py +0 -0
  123. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/README.md +0 -0
  124. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/WEIGHT_CONFIG_README.md +0 -0
  125. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/__init__.py +0 -0
  126. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/app.ts +0 -0
  127. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/__init__.py +0 -0
  128. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/asana-import.csv +0 -0
  129. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/cfat-checks.csv +0 -0
  130. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/cfat.txt +0 -0
  131. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/collectors.py +0 -0
  132. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/compliance.py +0 -0
  133. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/jira-import.csv +0 -0
  134. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/runner.py +0 -0
  135. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/assessment/validators.py +0 -0
  136. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/asana-import.csv +0 -0
  137. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/cfat-checks.csv +0 -0
  138. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/cfat.txt +0 -0
  139. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/checks-output.png +0 -0
  140. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/cloudshell-console-run.png +0 -0
  141. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/cloudshell-download.png +0 -0
  142. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/cloudshell-output.png +0 -0
  143. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/downloadfile.png +0 -0
  144. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/jira-import.csv +0 -0
  145. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/open-cloudshell.png +0 -0
  146. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/docs/report-header.png +0 -0
  147. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/models.py +0 -0
  148. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/package-lock.json +0 -0
  149. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/package.json +0 -0
  150. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/report.py +0 -0
  151. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/reporting/__init__.py +0 -0
  152. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/reporting/exporters.py +0 -0
  153. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/reporting/formatters.py +0 -0
  154. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/reporting/templates.py +0 -0
  155. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/run-assessment.sh +0 -0
  156. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/runner.py +0 -0
  157. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-cloudtrail-existence.ts +0 -0
  158. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-config-existence.ts +0 -0
  159. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-control-tower.ts +0 -0
  160. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-ec2-existence.ts +0 -0
  161. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-iam-users.ts +0 -0
  162. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-legacy-cur.ts +0 -0
  163. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-org-cloudformation.ts +0 -0
  164. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/check-vpc-existence.ts +0 -0
  165. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/create-asanaimport.ts +0 -0
  166. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/create-backlog.ts +0 -0
  167. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/create-jiraimport.ts +0 -0
  168. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/create-report.ts +0 -0
  169. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/define-account-type.ts +0 -0
  170. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-enabled-org-policy-types.ts +0 -0
  171. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-enabled-org-services.ts +0 -0
  172. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-idc-info.ts +0 -0
  173. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-org-da-accounts.ts +0 -0
  174. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-org-details.ts +0 -0
  175. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-org-member-accounts.ts +0 -0
  176. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-org-ous.ts +0 -0
  177. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/get-regions.ts +0 -0
  178. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/actions/zip-assessment.ts +0 -0
  179. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/src/types/index.d.ts +0 -0
  180. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/tests/__init__.py +0 -0
  181. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/tests/test_integration.py +0 -0
  182. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/tests/test_models.py +0 -0
  183. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/tests/test_reporting.py +0 -0
  184. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/tests/test_weight_configuration.ts +0 -0
  185. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/tsconfig.json +0 -0
  186. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/webpack.config.cjs +0 -0
  187. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cfat/weight_config.ts +0 -0
  188. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/__init__.py +0 -0
  189. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/commands/cfat.py +0 -0
  190. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/commands/security.py +0 -0
  191. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/commands/validation.py +0 -0
  192. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cli/registry.py +0 -0
  193. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/__init__.py +0 -0
  194. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/base.py +0 -0
  195. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/infrastructure_optimizer.py +0 -0
  196. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/interfaces.py +0 -0
  197. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/lifecycle_manager.py +0 -0
  198. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/mcp_cost_validation.py +0 -0
  199. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/models.py +0 -0
  200. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/monitoring_automation.py +0 -0
  201. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/notebook_framework.py +0 -0
  202. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/cloudops/security_enforcer.py +0 -0
  203. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/__init__.py +0 -0
  204. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/accuracy_validator.py +0 -0
  205. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/aws_pricing.py +0 -0
  206. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/aws_pricing_api.py +0 -0
  207. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/aws_profile_manager.py +0 -0
  208. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/aws_utils.py +0 -0
  209. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/business_logic.py +0 -0
  210. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/comprehensive_cost_explorer_integration.py +0 -0
  211. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/context_logger.py +0 -0
  212. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/cross_account_manager.py +0 -0
  213. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/cross_module_integration.py +0 -0
  214. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/date_utils.py +0 -0
  215. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/decorators.py +0 -0
  216. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/dry_run_examples.py +0 -0
  217. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/enhanced_exception_handler.py +0 -0
  218. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/enhanced_logging_example.py +0 -0
  219. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/enhanced_logging_integration_example.py +0 -0
  220. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/enterprise_audit_integration.py +0 -0
  221. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/env_utils.py +0 -0
  222. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/error_handling.py +0 -0
  223. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/lazy_loader.py +0 -0
  224. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/logger.py +0 -0
  225. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/logging_integration_helper.py +0 -0
  226. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/mcp_cost_explorer_integration.py +0 -0
  227. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/memory_optimization.py +0 -0
  228. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/module_cli_base.py +0 -0
  229. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/organizations_client.py +0 -0
  230. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/patterns.py +0 -0
  231. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/performance_monitor.py +0 -0
  232. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/performance_monitoring.py +0 -0
  233. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/performance_optimization_engine.py +0 -0
  234. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/profile_utils.py +0 -0
  235. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/rich_utils.py +0 -0
  236. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/common/sre_performance_suite.py +0 -0
  237. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/config.py +0 -0
  238. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/enterprise/__init__.py +0 -0
  239. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/enterprise/error_handling.py +0 -0
  240. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/enterprise/logging.py +0 -0
  241. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/enterprise/multi_tenant.py +0 -0
  242. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/enterprise/security.py +0 -0
  243. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/enterprise/validation.py +0 -0
  244. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/feedback/user_feedback_collector.py +0 -0
  245. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/__init__.py +0 -0
  246. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/account_resolver.py +0 -0
  247. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/advanced_optimization_engine.py +0 -0
  248. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/automation_core.py +0 -0
  249. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/aws_client.py +0 -0
  250. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/budget_integration.py +0 -0
  251. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/business_case_config.py +0 -0
  252. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/cli.py +0 -0
  253. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/commvault_ec2_analysis.py +0 -0
  254. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/compute_cost_optimizer.py +0 -0
  255. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/config.py +0 -0
  256. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/cost_optimizer.py +0 -0
  257. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/cost_processor.py +0 -0
  258. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/dashboard_runner.py +0 -0
  259. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/enhanced_mcp_integration.py +0 -0
  260. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/enhanced_progress.py +0 -0
  261. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/enhanced_trend_visualization.py +0 -0
  262. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/enterprise_wrappers.py +0 -0
  263. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/executive_export.py +0 -0
  264. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/helpers.py +0 -0
  265. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/iam_guidance.py +0 -0
  266. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/main.py +0 -0
  267. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/markdown_exporter.py +0 -0
  268. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/mcp_validator.py +0 -0
  269. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/network_cost_optimizer.py +0 -0
  270. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/notebook_utils.py +0 -0
  271. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/optimization_engine.py +0 -0
  272. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/optimizer.py +0 -0
  273. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/profile_processor.py +0 -0
  274. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/rds_snapshot_optimizer.py +0 -0
  275. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/reservation_optimizer.py +0 -0
  276. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/scenario_cli_integration.py +0 -0
  277. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/scenarios.py +0 -0
  278. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/schemas.py +0 -0
  279. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/service_mapping.py +0 -0
  280. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/snapshot_manager.py +0 -0
  281. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/__init__.py +0 -0
  282. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/run_comprehensive_tests.py +0 -0
  283. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/test_finops_dashboard.py +0 -0
  284. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/test_integration.py +0 -0
  285. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/test_performance.py +0 -0
  286. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/test_performance_benchmarks.py +0 -0
  287. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/test_reference_images_validation.py +0 -0
  288. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/test_single_account_features.py +0 -0
  289. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/tests/validate_test_suite.py +0 -0
  290. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/types.py +0 -0
  291. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/validation_framework.py +0 -0
  292. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/visualisations.py +0 -0
  293. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/vpc_cleanup_exporter.py +0 -0
  294. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/vpc_cleanup_optimizer.py +0 -0
  295. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/finops/workspaces_analyzer.py +0 -0
  296. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/hitl/enhanced_workflow_engine.py +0 -0
  297. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/integration/__init__.py +0 -0
  298. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/integration/mcp_integration.py +0 -0
  299. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/.gitignore +0 -0
  300. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/LandingZone/delete_lz.py +0 -0
  301. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/common_test_data.py +0 -0
  302. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/common_test_functions.py +0 -0
  303. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/script_test_data.py +0 -0
  304. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/setup.py +0 -0
  305. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/src.py +0 -0
  306. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/Tests/test_moto_integration_example.py +0 -0
  307. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/__init__.py +0 -0
  308. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/aws_decorators.py +0 -0
  309. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/collectors/__init__.py +0 -0
  310. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/collectors/aws_comprehensive.py +0 -0
  311. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/collectors/aws_networking.py +0 -0
  312. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/collectors/base.py +0 -0
  313. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/collectors/enterprise_scale.py +0 -0
  314. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/core/__init__.py +0 -0
  315. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/core/formatter.py +0 -0
  316. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/ec2_vpc_utils.py +0 -0
  317. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/list_rds_snapshots_aggregator.py +0 -0
  318. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/models/__init__.py +0 -0
  319. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/models/account.py +0 -0
  320. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/models/inventory.py +0 -0
  321. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/models/resource.py +0 -0
  322. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/requirements.txt +0 -0
  323. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/rich_inventory_display.py +0 -0
  324. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/unified_validation_engine.py +0 -0
  325. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/utils/__init__.py +0 -0
  326. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/utils/aws_helpers.py +0 -0
  327. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/utils/threading_utils.py +0 -0
  328. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/utils/validation.py +0 -0
  329. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/vpc_analyzer.py +0 -0
  330. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/inventory/vpc_flow_analyzer.py +0 -0
  331. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/main.py +0 -0
  332. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/main_minimal.py +0 -0
  333. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/main_optimized.py +0 -0
  334. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/mcp/__init__.py +0 -0
  335. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/metrics/dora_metrics_engine.py +0 -0
  336. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/monitoring/performance_monitor.py +0 -0
  337. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/README.md +0 -0
  338. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/__init__.py +0 -0
  339. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/base.py +0 -0
  340. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/cloudformation_operations.py +0 -0
  341. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/cloudwatch_operations.py +0 -0
  342. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/deployment_framework.py +0 -0
  343. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/deployment_validator.py +0 -0
  344. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/dynamodb_operations.py +0 -0
  345. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/ec2_operations.py +0 -0
  346. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/executive_dashboard.py +0 -0
  347. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/iam_operations.py +0 -0
  348. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/mcp_integration.py +0 -0
  349. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/nat_gateway_operations.py +0 -0
  350. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/networking_cost_heatmap.py +0 -0
  351. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/privatelink_operations.py +0 -0
  352. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/rds_operations.py +0 -0
  353. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/s3_operations.py +0 -0
  354. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/tagging_operations.py +0 -0
  355. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/tags.json +0 -0
  356. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/vpc_endpoints.py +0 -0
  357. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/operate/vpc_operations.py +0 -0
  358. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/README.md +0 -0
  359. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/Tests/__init__.py +0 -0
  360. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/Tests/update_policy.py +0 -0
  361. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/__init__.py +0 -0
  362. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/acm_cert_expired_unused.py +0 -0
  363. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/api_gateway_list.py +0 -0
  364. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/base.py +0 -0
  365. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/cloudtrail_s3_modifications.py +0 -0
  366. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/cognito_active_users.py +0 -0
  367. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/cognito_user_password_reset.py +0 -0
  368. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/commons.py +0 -0
  369. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/commvault_ec2_analysis.py +0 -0
  370. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/config/accounts_example.json +0 -0
  371. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/dynamodb_optimize.py +0 -0
  372. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/dynamodb_server_side_encryption.py +0 -0
  373. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/ec2_public_ips.py +0 -0
  374. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/ec2_subnet_disable_auto_ip_assignment.py +0 -0
  375. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/ec2_unattached_ebs_volumes.py +0 -0
  376. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/ec2_unused_security_groups.py +0 -0
  377. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/kms_enable_key_rotation.py +0 -0
  378. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/lambda_list.py +0 -0
  379. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/multi_account.py +0 -0
  380. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/rds_instance_list.py +0 -0
  381. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/rds_snapshot_list.py +0 -0
  382. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/remediation_cli.py +0 -0
  383. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/requirements.txt +0 -0
  384. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_block_public_access.py +0 -0
  385. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_bucket_public_access.py +0 -0
  386. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_disable_static_website_hosting.py +0 -0
  387. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_downloader.py +0 -0
  388. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_enable_access_logging.py +0 -0
  389. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_encryption.py +0 -0
  390. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_force_ssl_secure_policy.py +0 -0
  391. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_list.py +0 -0
  392. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/s3_object_search.py +0 -0
  393. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/scan_for_phrase.py +0 -0
  394. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/universal_account_discovery.py +0 -0
  395. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/vpc_remediation.py +0 -0
  396. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/remediation/workspaces_list.py +0 -0
  397. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/README.md +0 -0
  398. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/__init__.py +0 -0
  399. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/assessment_runner.py +0 -0
  400. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/baseline_checker.py +0 -0
  401. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/__init__.py +0 -0
  402. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/account_level_bucket_public_access.py +0 -0
  403. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/alternate_contacts.py +0 -0
  404. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/bucket_public_access.py +0 -0
  405. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/cloudwatch_alarm_configuration.py +0 -0
  406. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/direct_attached_policy.py +0 -0
  407. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/guardduty_enabled.py +0 -0
  408. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/iam_password_policy.py +0 -0
  409. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/iam_user_mfa.py +0 -0
  410. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/multi_region_instance_usage.py +0 -0
  411. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/multi_region_trail.py +0 -0
  412. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/root_access_key.py +0 -0
  413. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/root_mfa.py +0 -0
  414. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/root_usage.py +0 -0
  415. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/trail_enabled.py +0 -0
  416. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/checklist/trusted_advisor.py +0 -0
  417. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/cloudops_automation_security_validator.py +0 -0
  418. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/compliance_automation.py +0 -0
  419. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/compliance_automation_engine.py +0 -0
  420. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/config/__init__.py +0 -0
  421. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/config/compliance_config.py +0 -0
  422. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/config/compliance_weights_example.json +0 -0
  423. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/config-origin.json +0 -0
  424. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/config.json +0 -0
  425. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/config_template_generator.py +0 -0
  426. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/enterprise_security_framework.py +0 -0
  427. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/enterprise_security_policies.json +0 -0
  428. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/executive_security_dashboard.py +0 -0
  429. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/integration_test_enterprise_security.py +0 -0
  430. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/module_security_integrator.py +0 -0
  431. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/multi_account_security_controls.py +0 -0
  432. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/permission.json +0 -0
  433. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/real_time_security_monitor.py +0 -0
  434. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/report_generator.py +0 -0
  435. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/report_template_en.html +0 -0
  436. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/report_template_jp.html +0 -0
  437. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/report_template_kr.html +0 -0
  438. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/report_template_vn.html +0 -0
  439. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/run_script.py +0 -0
  440. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/security_baseline_tester.py +0 -0
  441. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/security_cli.py +0 -0
  442. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/security_export.py +0 -0
  443. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/test_2way_validation.py +0 -0
  444. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/two_way_validation_framework.py +0 -0
  445. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/utils/__init__.py +0 -0
  446. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/utils/common.py +0 -0
  447. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/utils/enums.py +0 -0
  448. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/utils/language.py +0 -0
  449. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/utils/level_const.py +0 -0
  450. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/security/utils/permission_list.py +0 -0
  451. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/sre/README.md +0 -0
  452. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/sre/__init__.py +0 -0
  453. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/sre/mcp_reliability_engine.py +0 -0
  454. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/sre/performance_optimization_engine.py +0 -0
  455. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/sre/production_monitoring_framework.py +0 -0
  456. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/sre/reliability_monitoring_framework.py +0 -0
  457. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/tdd/__init__.py +0 -0
  458. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/tdd/cli.py +0 -0
  459. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/utils/__init__.py +0 -0
  460. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/utils/logger.py +0 -0
  461. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/utils/version_validator.py +0 -0
  462. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/validation/__init__.py +0 -0
  463. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/validation/benchmark.py +0 -0
  464. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/validation/cli.py +0 -0
  465. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/validation/comprehensive_2way_validator.py +0 -0
  466. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/validation/mcp_validator.py +0 -0
  467. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/validation/terraform_citations_validator.py +0 -0
  468. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/validation/terraform_drift_detector.py +0 -0
  469. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/README.md +0 -0
  470. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/__init__.py +0 -0
  471. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/analyzer.py +0 -0
  472. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/cleanup_wrapper.py +0 -0
  473. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/cli_cloudtrail_commands.py +0 -0
  474. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/cli_mcp_validation_commands.py +0 -0
  475. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/config.py +0 -0
  476. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/cost_engine.py +0 -0
  477. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/cost_explorer_integration.py +0 -0
  478. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/cross_account_session.py +0 -0
  479. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/enhanced_mcp_validation.py +0 -0
  480. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/eni_gate_validator.py +0 -0
  481. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/heatmap_engine.py +0 -0
  482. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/manager_interface.py +0 -0
  483. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/mcp_no_eni_validator.py +0 -0
  484. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/nat_gateway_optimizer.py +0 -0
  485. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/networking_wrapper.py +0 -0
  486. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/pdca_remediation_planner.py +0 -0
  487. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/performance_optimized_analyzer.py +0 -0
  488. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/rich_formatters.py +0 -0
  489. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/runbooks_adapter.py +0 -0
  490. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tdd_red_phase_stubs.py +0 -0
  491. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/test_data_loader.py +0 -0
  492. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tests/__init__.py +0 -0
  493. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tests/conftest.py +0 -0
  494. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tests/test_cleanup_framework.py +0 -0
  495. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tests/test_cli_integration.py +0 -0
  496. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tests/test_config.py +0 -0
  497. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tests/test_cost_engine.py +0 -0
  498. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/tests/test_networking_wrapper.py +0 -0
  499. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/topology_generator.py +0 -0
  500. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/unified_scenarios.py +0 -0
  501. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks/vpc/vpc_cleanup_integration.py +0 -0
  502. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks.egg-info/dependency_links.txt +0 -0
  503. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks.egg-info/entry_points.txt +0 -0
  504. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks.egg-info/requires.txt +0 -0
  505. {runbooks-1.1.7 → runbooks-1.1.10}/src/runbooks.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runbooks
3
- Version: 1.1.7
3
+ Version: 1.1.10
4
4
  Summary: CloudOps Automation Toolkit with Enhanced Cloud Foundations Assessment for DevOps and SRE teams.
5
5
  Author-email: Maintainers <nnthanh101@gmail.com>
6
6
  License-Expression: Apache-2.0
@@ -65,7 +65,7 @@ Dynamic: license-file
65
65
  [![Documentation](https://img.shields.io/badge/docs-latest-brightgreen)](https://cloudops.oceansoft.io/runbooks/)
66
66
  [![Downloads](https://img.shields.io/pypi/dm/runbooks)](https://pypi.org/project/runbooks/)
67
67
 
68
- > **Enterprise-grade AWS automation toolkit for DevOps and SRE teams managing multi-account cloud environments at scale** 🏢⚡
68
+ > **Enterprise-Grade Production-Ready AWS automation toolkit for DevOps and SRE teams managing Multi-Account Hybrid-Cloud environments at Scale** 🏢⚡
69
69
 
70
70
  **Quick Value**: Discover, analyze, and optimize AWS resources across multi-account AWS environments with production-validated automation patterns.
71
71
 
@@ -171,8 +171,8 @@ runbooks inventory collect --profile $AWS_OPERATIONS_PROFILE --regions us-east-1
171
171
  | 🏛️ **CFAT** | Cloud Foundations Assessment | `runbooks cfat assess` | Executive-ready compliance reports |
172
172
  | ⚙️ **Operate** | Resource lifecycle management | `runbooks operate ec2 start` | Safe resource operations |
173
173
  | 🔗 **VPC** | Network analysis & optimization | `runbooks vpc analyze` | Network cost optimization |
174
- | 🏢 **Organizations** | OU structure management | `runbooks org setup-ous` | Landing Zone automation |
175
- | 🛠️ **Remediation** | Automated security fixes | `runbooks remediate` | 50+ security playbooks |
174
+ | 🏢 **Organizations** [PLANNED] | OU structure management | Coming in v1.2 | Landing Zone automation |
175
+ | 🛠️ **Remediation** [PLANNED] | Automated security fixes | Coming in v1.2 | 50+ security playbooks |
176
176
 
177
177
  ## ⚡ Essential Commands Reference
178
178
 
@@ -225,6 +225,76 @@ runbooks operate cloudformation move-stack-instances \
225
225
  --source-stackset old-baseline --target-stackset new-baseline --dry-run
226
226
  ```
227
227
 
228
+ ### 🎨 CLI Parameter Flexibility (v1.1.10+)
229
+
230
+ **Enhanced UX**: All commands now support flexible format specification with **short flag support**
231
+
232
+ #### Triple Alias Pattern
233
+ Choose your preferred parameter style - all forms work identically:
234
+
235
+ | Style | Example | Use Case |
236
+ |-------|---------|----------|
237
+ | **Short** ✨ | `-f json` | Interactive CLI (save keystrokes) |
238
+ | **Standard** | `--format json` | Scripts & automation |
239
+ | **Legacy** | `--export-format json` | Backward compatibility |
240
+
241
+ #### Examples - All Three Forms Work
242
+
243
+ **Organization Visualization**:
244
+ ```bash
245
+ # All three commands produce identical output
246
+ runbooks inventory draw-org -f graphviz --profile $MANAGEMENT_PROFILE
247
+ runbooks inventory draw-org --format graphviz --profile $MANAGEMENT_PROFILE
248
+ runbooks inventory draw-org --export-format graphviz --profile $MANAGEMENT_PROFILE
249
+ ```
250
+
251
+ **Cost Analysis Export**:
252
+ ```bash
253
+ # Choose your preferred style
254
+ runbooks finops analyze -f csv --profile $BILLING_PROFILE
255
+ runbooks finops analyze --format csv --profile $BILLING_PROFILE
256
+ runbooks finops analyze --export-format csv --profile $BILLING_PROFILE
257
+ ```
258
+
259
+ **Account Inventory**:
260
+ ```bash
261
+ # Short form for interactive use (NEW in v1.1.10)
262
+ runbooks inventory list-org-accounts -f json --output accounts.json
263
+
264
+ # Standard form for scripts
265
+ runbooks inventory list-org-accounts --format csv --output accounts.csv
266
+
267
+ # Legacy form (fully supported)
268
+ runbooks inventory list-org-accounts --export-format markdown --output accounts.md
269
+ ```
270
+
271
+ #### Supported Commands (13 Total)
272
+
273
+ | Module | Command | Formats | v1.1.10 |
274
+ |--------|---------|---------|---------|
275
+ | Inventory | `draw-org` | graphviz, mermaid, diagrams | ✅ |
276
+ | Inventory | `list-org-accounts` | json, csv, markdown, table | ✅ |
277
+ | Inventory | `list-org-users` | json, csv, markdown, table | ✅ |
278
+ | Inventory | `find-lz-versions` | json, csv, markdown, table | ✅ |
279
+ | Inventory | `check-landingzone` | json, markdown, table | ✅ |
280
+ | Inventory | `check-controltower` | json, markdown, table | ✅ |
281
+ | FinOps | `infrastructure analyze` | json, csv, markdown | ✅ |
282
+ | FinOps | `elastic-ip` | json, csv, markdown | ✅ |
283
+ | FinOps | `ebs` | json, csv, markdown | ✅ |
284
+ | FinOps | `vpc-endpoint` | json, csv, markdown | ✅ |
285
+ | FinOps | `nat-gateway` | json, csv, markdown | ✅ |
286
+ | FinOps | `load-balancer` | json, csv, markdown | ✅ |
287
+
288
+ #### Migration Guide
289
+
290
+ **Zero Breaking Changes**: All existing scripts continue working without modification
291
+
292
+ **Adoption Path**:
293
+ - ✅ **Now**: All parameter forms work (choose preferred style)
294
+ - 💡 **Recommended**: Adopt `-f` for interactive CLI usage (faster typing)
295
+ - 📝 **Scripts**: Update at your convenience (no urgency)
296
+ - 🔄 **Future**: v1.2.0 will show deprecation warnings for legacy parameters
297
+
228
298
  ## 🏗️ Architecture Highlights
229
299
 
230
300
  ### Modern Stack
@@ -6,7 +6,7 @@
6
6
  [![Documentation](https://img.shields.io/badge/docs-latest-brightgreen)](https://cloudops.oceansoft.io/runbooks/)
7
7
  [![Downloads](https://img.shields.io/pypi/dm/runbooks)](https://pypi.org/project/runbooks/)
8
8
 
9
- > **Enterprise-grade AWS automation toolkit for DevOps and SRE teams managing multi-account cloud environments at scale** 🏢⚡
9
+ > **Enterprise-Grade Production-Ready AWS automation toolkit for DevOps and SRE teams managing Multi-Account Hybrid-Cloud environments at Scale** 🏢⚡
10
10
 
11
11
  **Quick Value**: Discover, analyze, and optimize AWS resources across multi-account AWS environments with production-validated automation patterns.
12
12
 
@@ -112,8 +112,8 @@ runbooks inventory collect --profile $AWS_OPERATIONS_PROFILE --regions us-east-1
112
112
  | 🏛️ **CFAT** | Cloud Foundations Assessment | `runbooks cfat assess` | Executive-ready compliance reports |
113
113
  | ⚙️ **Operate** | Resource lifecycle management | `runbooks operate ec2 start` | Safe resource operations |
114
114
  | 🔗 **VPC** | Network analysis & optimization | `runbooks vpc analyze` | Network cost optimization |
115
- | 🏢 **Organizations** | OU structure management | `runbooks org setup-ous` | Landing Zone automation |
116
- | 🛠️ **Remediation** | Automated security fixes | `runbooks remediate` | 50+ security playbooks |
115
+ | 🏢 **Organizations** [PLANNED] | OU structure management | Coming in v1.2 | Landing Zone automation |
116
+ | 🛠️ **Remediation** [PLANNED] | Automated security fixes | Coming in v1.2 | 50+ security playbooks |
117
117
 
118
118
  ## ⚡ Essential Commands Reference
119
119
 
@@ -166,6 +166,76 @@ runbooks operate cloudformation move-stack-instances \
166
166
  --source-stackset old-baseline --target-stackset new-baseline --dry-run
167
167
  ```
168
168
 
169
+ ### 🎨 CLI Parameter Flexibility (v1.1.10+)
170
+
171
+ **Enhanced UX**: All commands now support flexible format specification with **short flag support**
172
+
173
+ #### Triple Alias Pattern
174
+ Choose your preferred parameter style - all forms work identically:
175
+
176
+ | Style | Example | Use Case |
177
+ |-------|---------|----------|
178
+ | **Short** ✨ | `-f json` | Interactive CLI (save keystrokes) |
179
+ | **Standard** | `--format json` | Scripts & automation |
180
+ | **Legacy** | `--export-format json` | Backward compatibility |
181
+
182
+ #### Examples - All Three Forms Work
183
+
184
+ **Organization Visualization**:
185
+ ```bash
186
+ # All three commands produce identical output
187
+ runbooks inventory draw-org -f graphviz --profile $MANAGEMENT_PROFILE
188
+ runbooks inventory draw-org --format graphviz --profile $MANAGEMENT_PROFILE
189
+ runbooks inventory draw-org --export-format graphviz --profile $MANAGEMENT_PROFILE
190
+ ```
191
+
192
+ **Cost Analysis Export**:
193
+ ```bash
194
+ # Choose your preferred style
195
+ runbooks finops analyze -f csv --profile $BILLING_PROFILE
196
+ runbooks finops analyze --format csv --profile $BILLING_PROFILE
197
+ runbooks finops analyze --export-format csv --profile $BILLING_PROFILE
198
+ ```
199
+
200
+ **Account Inventory**:
201
+ ```bash
202
+ # Short form for interactive use (NEW in v1.1.10)
203
+ runbooks inventory list-org-accounts -f json --output accounts.json
204
+
205
+ # Standard form for scripts
206
+ runbooks inventory list-org-accounts --format csv --output accounts.csv
207
+
208
+ # Legacy form (fully supported)
209
+ runbooks inventory list-org-accounts --export-format markdown --output accounts.md
210
+ ```
211
+
212
+ #### Supported Commands (13 Total)
213
+
214
+ | Module | Command | Formats | v1.1.10 |
215
+ |--------|---------|---------|---------|
216
+ | Inventory | `draw-org` | graphviz, mermaid, diagrams | ✅ |
217
+ | Inventory | `list-org-accounts` | json, csv, markdown, table | ✅ |
218
+ | Inventory | `list-org-users` | json, csv, markdown, table | ✅ |
219
+ | Inventory | `find-lz-versions` | json, csv, markdown, table | ✅ |
220
+ | Inventory | `check-landingzone` | json, markdown, table | ✅ |
221
+ | Inventory | `check-controltower` | json, markdown, table | ✅ |
222
+ | FinOps | `infrastructure analyze` | json, csv, markdown | ✅ |
223
+ | FinOps | `elastic-ip` | json, csv, markdown | ✅ |
224
+ | FinOps | `ebs` | json, csv, markdown | ✅ |
225
+ | FinOps | `vpc-endpoint` | json, csv, markdown | ✅ |
226
+ | FinOps | `nat-gateway` | json, csv, markdown | ✅ |
227
+ | FinOps | `load-balancer` | json, csv, markdown | ✅ |
228
+
229
+ #### Migration Guide
230
+
231
+ **Zero Breaking Changes**: All existing scripts continue working without modification
232
+
233
+ **Adoption Path**:
234
+ - ✅ **Now**: All parameter forms work (choose preferred style)
235
+ - 💡 **Recommended**: Adopt `-f` for interactive CLI usage (faster typing)
236
+ - 📝 **Scripts**: Update at your convenience (no urgency)
237
+ - 🔄 **Future**: v1.2.0 will show deprecation warnings for legacy parameters
238
+
169
239
  ## 🏗️ Architecture Highlights
170
240
 
171
241
  ### Modern Stack
@@ -13,7 +13,7 @@
13
13
  ## Metadata: https://docs.astral.sh/uv/concepts/projects/config/
14
14
  name = "runbooks"
15
15
  ## Enhanced with AWS Operations integration, unified CLI architecture, and comprehensive service operations
16
- version = "1.1.7"
16
+ version = "1.1.10"
17
17
  description = "CloudOps Automation Toolkit with Enhanced Cloud Foundations Assessment for DevOps and SRE teams."
18
18
  readme = "README.md"
19
19
  requires-python = ">=3.11,<3.14"
@@ -61,7 +61,7 @@ s3_ops = S3Operations()
61
61
 
62
62
  # Centralized Version Management - Single Source of Truth
63
63
  # All modules MUST import __version__ from this location
64
- __version__ = "1.1.7"
64
+ __version__ = "1.1.10"
65
65
 
66
66
  # Fallback for legacy importlib.metadata usage during transition
67
67
  try:
@@ -10,7 +10,8 @@ This should reduce startup time from 5.6s to <0.5s for basic operations.
10
10
  """
11
11
 
12
12
  # Centralized Version Management - Single Source of Truth
13
- __version__ = "1.0.0"
13
+ # This file is optimized variant - must sync with main __init__.py
14
+ __version__ = "1.1.9"
14
15
 
15
16
  # Fallback for legacy importlib.metadata usage during transition
16
17
  try:
@@ -6,7 +6,7 @@ and the FinOps notebook interfaces, enabling business-friendly access
6
6
  to technical cost optimization capabilities.
7
7
  """
8
8
 
9
- __version__ = "1.0.0"
9
+ from runbooks import __version__
10
10
 
11
11
  from .core.runbooks_wrapper import RunbooksWrapper
12
12
  from .finops.unit_economics import UnitEconomicsCalculator
@@ -14,7 +14,6 @@ import click
14
14
  from loguru import logger
15
15
 
16
16
  from runbooks.cfat import __version__ as cfat_version
17
- from runbooks.main import assess as main_assess
18
17
 
19
18
 
20
19
  @click.group(invoke_without_command=True)
@@ -56,9 +55,11 @@ def main(ctx, debug, profile, region):
56
55
  click.echo(ctx.get_help())
57
56
 
58
57
 
59
- # Import and register the assess command from main CLI
58
+ # Import and register the assess command from modular commands
60
59
  # This reuses the enhanced assess command with all its features
61
- main.add_command(main_assess, name="assess")
60
+ from runbooks.cli.commands.cfat import create_cfat_group
61
+ cfat_group = create_cfat_group()
62
+ main.add_command(cfat_group.commands['assess'], name="assess")
62
63
 
63
64
 
64
65
  @main.command()
@@ -41,8 +41,7 @@ from runbooks.common.rich_utils import (
41
41
  create_panel,
42
42
  )
43
43
  from runbooks.common.profile_utils import get_profile_for_operation
44
-
45
- __version__ = "1.0.0"
44
+ from runbooks import __version__
46
45
 
47
46
 
48
47
  @dataclass
@@ -14,7 +14,10 @@ import pytest
14
14
  from click.testing import CliRunner
15
15
 
16
16
  from runbooks.cfat.tests import create_sample_assessment_report
17
- from runbooks.main import assess, cfat, main
17
+ # Updated import for slim main.py architecture (DRYCommandRegistry pattern)
18
+ # Old: from runbooks.main import assess, cfat, main
19
+ # New: Import main CLI entry point only - commands are dynamically registered
20
+ from runbooks.main import main
18
21
 
19
22
 
20
23
  @pytest.mark.cli
@@ -96,13 +96,33 @@ def create_finops_group():
96
96
  "accounts": accounts
97
97
  })
98
98
 
99
+ # Auto-execute dashboard when no subcommand provided (eliminates "only logs" pattern)
99
100
  if ctx.invoked_subcommand is None:
100
- click.echo(ctx.get_help())
101
+ # Invoke dashboard with default parameters
102
+ ctx.invoke(dashboard,
103
+ profile=profile,
104
+ all_profiles=all_profiles,
105
+ timeframe='monthly',
106
+ services=None,
107
+ accounts=None,
108
+ validate=False,
109
+ validate_mcp=False,
110
+ mcp_validate=False,
111
+ csv=False,
112
+ markdown=False,
113
+ pdf=False,
114
+ json=False,
115
+ export_format=None,
116
+ unblended=False,
117
+ amortized=False,
118
+ dual_metrics=False,
119
+ dry_run=dry_run)
101
120
 
102
121
  @finops.command()
103
122
  @click.option("--profile", help="AWS profile to use for authentication")
104
123
  @click.option(
105
- "--all-profiles", help="Enable multi-account Landing Zone analysis using specified management profile"
124
+ "--all-profile", type=str, default=None,
125
+ help="Management profile for Organizations API auto-discovery (MANAGEMENT_PROFILE, BILLING_PROFILE, or CENTRALISED_OPS_PROFILE)"
106
126
  )
107
127
  @click.option(
108
128
  "--timeframe",
@@ -132,7 +152,7 @@ def create_finops_group():
132
152
  def dashboard(
133
153
  ctx,
134
154
  profile,
135
- all_profiles,
155
+ all_profile,
136
156
  timeframe,
137
157
  services,
138
158
  accounts,
@@ -163,33 +183,61 @@ def create_finops_group():
163
183
  # Single account analysis
164
184
  runbooks finops dashboard --profile BILLING_PROFILE --timeframe monthly --validate
165
185
 
166
- # Multi-account Landing Zone analysis
167
- runbooks finops dashboard --all-profiles MANAGEMENT_PROFILE --mcp-validate
186
+ # Multi-account Landing Zone analysis (Organizations auto-discovery)
187
+ runbooks finops dashboard --all-profile MANAGEMENT_PROFILE --mcp-validate
168
188
 
169
- # Service-specific analysis across all accounts
170
- runbooks finops dashboard --all-profiles MANAGEMENT_PROFILE --services ec2,s3
189
+ # Service-specific analysis across all organization accounts
190
+ runbooks finops dashboard --all-profile MANAGEMENT_PROFILE --services ec2,s3
171
191
 
172
192
  # Export multi-account analysis
173
- runbooks finops dashboard --all-profiles MANAGEMENT_PROFILE --export-format pdf
193
+ runbooks finops dashboard --all-profile MANAGEMENT_PROFILE --export-format pdf
174
194
  """
175
- # Handle multi-account Landing Zone analysis
176
- if all_profiles:
195
+ # Handle multi-account Landing Zone analysis with Organizations API discovery
196
+ if all_profile:
177
197
  try:
178
198
  from runbooks.finops.dashboard_runner import MultiAccountDashboard, DashboardRouter
179
199
  from runbooks.common.rich_utils import print_header, print_success, print_error, print_info
200
+ from runbooks.inventory.inventory_modules import get_org_accounts_from_profiles, get_profiles
180
201
  import argparse
181
202
 
182
- print_header("Multi-Account Landing Zone Dashboard", all_profiles)
183
- console.print("[cyan]🏢 Activating enterprise multi-account consolidated billing analysis[/cyan]")
184
- console.print(f"[dim]Management Profile: {all_profiles}[/dim]")
185
- console.print(f"[dim]Analysis Scope: Organization-wide with Landing Zone support[/dim]\n")
203
+ print_header("Multi-Account Landing Zone Dashboard", all_profile)
204
+ console.print("[cyan]🏢 Discovering AWS Organization accounts via Organizations API...[/cyan]")
205
+
206
+ # CORRECTED: Use management profile TEXT parameter for Organizations API access
207
+ try:
208
+ # Use management profile specified by user (MANAGEMENT_PROFILE, BILLING_PROFILE, or CENTRALISED_OPS_PROFILE)
209
+ mgmt_profile_list = get_profiles(fprofiles=[all_profile])
210
+ console.print(f"[dim]Querying Organizations API with profile: {all_profile}[/dim]")
211
+
212
+ org_accounts = get_org_accounts_from_profiles(mgmt_profile_list)
213
+
214
+ # Extract account IDs from discovered organization accounts
215
+ discovered_account_ids = []
216
+ for acct in org_accounts:
217
+ if acct.get("Success") and acct.get("RootAcct") and acct.get("aws_acct"):
218
+ # Root account found - extract all child accounts
219
+ for child in acct["aws_acct"].ChildAccounts:
220
+ discovered_account_ids.append(child["AccountId"])
221
+
222
+ if discovered_account_ids:
223
+ console.print(f"[green]✅ Discovered {len(discovered_account_ids)} organization accounts[/green]")
224
+ console.print(f"[dim]Analysis Scope: Organization-wide with Landing Zone support[/dim]\n")
225
+ else:
226
+ console.print(f"[yellow]⚠️ No organization accounts discovered - using single account mode[/yellow]")
227
+ console.print(f"[dim]Tip: Ensure {profile} has AWS Organizations permissions[/dim]\n")
228
+
229
+ except Exception as org_error:
230
+ console.print(f"[yellow]⚠️ Organizations discovery failed: {str(org_error)}[/yellow]")
231
+ console.print(f"[dim]Falling back to single account mode[/dim]\n")
232
+ discovered_account_ids = [] # Empty list for fallback
186
233
 
187
234
  # Create mock args object for multi-dashboard compatibility
188
235
  args = argparse.Namespace()
189
- args.profile = all_profiles
236
+ args.profile = all_profile # Use management profile for AWS Organizations access
190
237
  args.timeframe = timeframe
191
238
  args.services = services
192
- args.accounts = accounts
239
+ # PHASE 2 ENHANCEMENT: Use Organizations-discovered accounts if available
240
+ args.accounts = tuple(discovered_account_ids) if discovered_account_ids else accounts
193
241
  args.validate = validate or mcp_validate
194
242
  # CRITICAL FIX: Handle multiple export format flags
195
243
  export_formats = []
@@ -223,6 +271,7 @@ def create_finops_group():
223
271
  args.top_accounts = 50 # Show many accounts for enterprise view
224
272
  args.services_per_account = 3
225
273
  args.time_range = None
274
+ args.audit = False # Not audit mode
226
275
  args.tag = None
227
276
  args.regions = None
228
277
 
@@ -247,11 +296,11 @@ def create_finops_group():
247
296
  console.print(f"[red]❌ Multi-account dashboard not available: {e}[/red]")
248
297
  console.print("[yellow]💡 Falling back to single-account mode with specified profile[/yellow]")
249
298
  # Fallback to single account with the specified profile
250
- resolved_profile = all_profiles
299
+ resolved_profile = all_profile
251
300
  except Exception as e:
252
301
  console.print(f"[red]❌ Multi-account analysis failed: {e}[/red]")
253
- console.print("[yellow]💡 Falling back to single-account mode[/yellow]")
254
- resolved_profile = all_profiles
302
+ console.print("[yellow]💡 Fallingback to single-account mode[/yellow]")
303
+ resolved_profile = all_profile
255
304
  else:
256
305
  resolved_profile = profile or ctx.obj.get("profile", "default")
257
306