runbooks 1.1.4__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.
- runbooks/__init__.py +31 -2
- runbooks/__init___optimized.py +18 -4
- runbooks/_platform/__init__.py +1 -5
- runbooks/_platform/core/runbooks_wrapper.py +141 -138
- runbooks/aws2/accuracy_validator.py +812 -0
- runbooks/base.py +7 -0
- runbooks/cfat/assessment/compliance.py +1 -1
- runbooks/cfat/assessment/runner.py +1 -0
- runbooks/cfat/cloud_foundations_assessment.py +227 -239
- runbooks/cli/__init__.py +1 -1
- runbooks/cli/commands/cfat.py +64 -23
- runbooks/cli/commands/finops.py +1005 -54
- runbooks/cli/commands/inventory.py +138 -35
- runbooks/cli/commands/operate.py +9 -36
- runbooks/cli/commands/security.py +42 -18
- runbooks/cli/commands/validation.py +432 -18
- runbooks/cli/commands/vpc.py +81 -17
- runbooks/cli/registry.py +22 -10
- runbooks/cloudops/__init__.py +20 -27
- runbooks/cloudops/base.py +96 -107
- runbooks/cloudops/cost_optimizer.py +544 -542
- runbooks/cloudops/infrastructure_optimizer.py +5 -4
- runbooks/cloudops/interfaces.py +224 -225
- runbooks/cloudops/lifecycle_manager.py +5 -4
- runbooks/cloudops/mcp_cost_validation.py +252 -235
- runbooks/cloudops/models.py +78 -53
- runbooks/cloudops/monitoring_automation.py +5 -4
- runbooks/cloudops/notebook_framework.py +177 -213
- runbooks/cloudops/security_enforcer.py +125 -159
- runbooks/common/accuracy_validator.py +11 -0
- runbooks/common/aws_pricing.py +349 -326
- runbooks/common/aws_pricing_api.py +211 -212
- runbooks/common/aws_profile_manager.py +40 -36
- runbooks/common/aws_utils.py +74 -79
- runbooks/common/business_logic.py +126 -104
- runbooks/common/cli_decorators.py +36 -60
- runbooks/common/comprehensive_cost_explorer_integration.py +455 -463
- runbooks/common/cross_account_manager.py +197 -204
- runbooks/common/date_utils.py +27 -39
- runbooks/common/decorators.py +29 -19
- runbooks/common/dry_run_examples.py +173 -208
- runbooks/common/dry_run_framework.py +157 -155
- runbooks/common/enhanced_exception_handler.py +15 -4
- runbooks/common/enhanced_logging_example.py +50 -64
- runbooks/common/enhanced_logging_integration_example.py +65 -37
- runbooks/common/env_utils.py +16 -16
- runbooks/common/error_handling.py +40 -38
- runbooks/common/lazy_loader.py +41 -23
- runbooks/common/logging_integration_helper.py +79 -86
- runbooks/common/mcp_cost_explorer_integration.py +476 -493
- runbooks/common/mcp_integration.py +63 -74
- runbooks/common/memory_optimization.py +140 -118
- runbooks/common/module_cli_base.py +37 -58
- runbooks/common/organizations_client.py +175 -193
- runbooks/common/patterns.py +23 -25
- runbooks/common/performance_monitoring.py +67 -71
- runbooks/common/performance_optimization_engine.py +283 -274
- runbooks/common/profile_utils.py +111 -37
- runbooks/common/rich_utils.py +201 -141
- runbooks/common/sre_performance_suite.py +177 -186
- runbooks/enterprise/__init__.py +1 -1
- runbooks/enterprise/logging.py +144 -106
- runbooks/enterprise/security.py +187 -204
- runbooks/enterprise/validation.py +43 -56
- runbooks/finops/__init__.py +26 -30
- runbooks/finops/account_resolver.py +1 -1
- runbooks/finops/advanced_optimization_engine.py +980 -0
- runbooks/finops/automation_core.py +268 -231
- runbooks/finops/business_case_config.py +184 -179
- runbooks/finops/cli.py +660 -139
- runbooks/finops/commvault_ec2_analysis.py +157 -164
- runbooks/finops/compute_cost_optimizer.py +336 -320
- runbooks/finops/config.py +20 -20
- runbooks/finops/cost_optimizer.py +484 -618
- runbooks/finops/cost_processor.py +332 -214
- runbooks/finops/dashboard_runner.py +1006 -172
- runbooks/finops/ebs_cost_optimizer.py +991 -657
- runbooks/finops/elastic_ip_optimizer.py +317 -257
- runbooks/finops/enhanced_mcp_integration.py +340 -0
- runbooks/finops/enhanced_progress.py +32 -29
- runbooks/finops/enhanced_trend_visualization.py +3 -2
- runbooks/finops/enterprise_wrappers.py +223 -285
- runbooks/finops/executive_export.py +203 -160
- runbooks/finops/helpers.py +130 -288
- runbooks/finops/iam_guidance.py +1 -1
- runbooks/finops/infrastructure/__init__.py +80 -0
- runbooks/finops/infrastructure/commands.py +506 -0
- runbooks/finops/infrastructure/load_balancer_optimizer.py +866 -0
- runbooks/finops/infrastructure/vpc_endpoint_optimizer.py +832 -0
- runbooks/finops/markdown_exporter.py +337 -174
- runbooks/finops/mcp_validator.py +1952 -0
- runbooks/finops/nat_gateway_optimizer.py +1512 -481
- runbooks/finops/network_cost_optimizer.py +657 -587
- runbooks/finops/notebook_utils.py +226 -188
- runbooks/finops/optimization_engine.py +1136 -0
- runbooks/finops/optimizer.py +19 -23
- runbooks/finops/rds_snapshot_optimizer.py +367 -411
- runbooks/finops/reservation_optimizer.py +427 -363
- runbooks/finops/scenario_cli_integration.py +64 -65
- runbooks/finops/scenarios.py +1277 -438
- runbooks/finops/schemas.py +218 -182
- runbooks/finops/snapshot_manager.py +2289 -0
- runbooks/finops/types.py +3 -3
- runbooks/finops/validation_framework.py +259 -265
- runbooks/finops/vpc_cleanup_exporter.py +189 -144
- runbooks/finops/vpc_cleanup_optimizer.py +591 -573
- runbooks/finops/workspaces_analyzer.py +171 -182
- runbooks/integration/__init__.py +89 -0
- runbooks/integration/mcp_integration.py +1920 -0
- runbooks/inventory/CLAUDE.md +816 -0
- runbooks/inventory/__init__.py +2 -2
- runbooks/inventory/cloud_foundations_integration.py +144 -149
- runbooks/inventory/collectors/aws_comprehensive.py +1 -1
- runbooks/inventory/collectors/aws_networking.py +109 -99
- runbooks/inventory/collectors/base.py +4 -0
- runbooks/inventory/core/collector.py +495 -313
- runbooks/inventory/drift_detection_cli.py +69 -96
- runbooks/inventory/inventory_mcp_cli.py +48 -46
- runbooks/inventory/list_rds_snapshots_aggregator.py +192 -208
- runbooks/inventory/mcp_inventory_validator.py +549 -465
- runbooks/inventory/mcp_vpc_validator.py +359 -442
- runbooks/inventory/organizations_discovery.py +55 -51
- runbooks/inventory/rich_inventory_display.py +33 -32
- runbooks/inventory/unified_validation_engine.py +278 -251
- runbooks/inventory/vpc_analyzer.py +732 -695
- runbooks/inventory/vpc_architecture_validator.py +293 -348
- runbooks/inventory/vpc_dependency_analyzer.py +382 -378
- runbooks/inventory/vpc_flow_analyzer.py +1 -1
- runbooks/main.py +49 -34
- runbooks/main_final.py +91 -60
- runbooks/main_minimal.py +22 -10
- runbooks/main_optimized.py +131 -100
- runbooks/main_ultra_minimal.py +7 -2
- runbooks/mcp/__init__.py +36 -0
- runbooks/mcp/integration.py +679 -0
- runbooks/monitoring/performance_monitor.py +9 -4
- runbooks/operate/dynamodb_operations.py +3 -1
- runbooks/operate/ec2_operations.py +145 -137
- runbooks/operate/iam_operations.py +146 -152
- runbooks/operate/networking_cost_heatmap.py +29 -8
- runbooks/operate/rds_operations.py +223 -254
- runbooks/operate/s3_operations.py +107 -118
- runbooks/operate/vpc_operations.py +646 -616
- runbooks/remediation/base.py +1 -1
- runbooks/remediation/commons.py +10 -7
- runbooks/remediation/commvault_ec2_analysis.py +70 -66
- runbooks/remediation/ec2_unattached_ebs_volumes.py +1 -0
- runbooks/remediation/multi_account.py +24 -21
- runbooks/remediation/rds_snapshot_list.py +86 -60
- runbooks/remediation/remediation_cli.py +92 -146
- runbooks/remediation/universal_account_discovery.py +83 -79
- runbooks/remediation/workspaces_list.py +46 -41
- runbooks/security/__init__.py +19 -0
- runbooks/security/assessment_runner.py +1150 -0
- runbooks/security/baseline_checker.py +812 -0
- runbooks/security/cloudops_automation_security_validator.py +509 -535
- runbooks/security/compliance_automation_engine.py +17 -17
- runbooks/security/config/__init__.py +2 -2
- runbooks/security/config/compliance_config.py +50 -50
- runbooks/security/config_template_generator.py +63 -76
- runbooks/security/enterprise_security_framework.py +1 -1
- runbooks/security/executive_security_dashboard.py +519 -508
- runbooks/security/multi_account_security_controls.py +959 -1210
- runbooks/security/real_time_security_monitor.py +422 -444
- runbooks/security/security_baseline_tester.py +1 -1
- runbooks/security/security_cli.py +143 -112
- runbooks/security/test_2way_validation.py +439 -0
- runbooks/security/two_way_validation_framework.py +852 -0
- runbooks/sre/production_monitoring_framework.py +167 -177
- runbooks/tdd/__init__.py +15 -0
- runbooks/tdd/cli.py +1071 -0
- runbooks/utils/__init__.py +14 -17
- runbooks/utils/logger.py +7 -2
- runbooks/utils/version_validator.py +50 -47
- runbooks/validation/__init__.py +6 -6
- runbooks/validation/cli.py +9 -3
- runbooks/validation/comprehensive_2way_validator.py +745 -704
- runbooks/validation/mcp_validator.py +906 -228
- runbooks/validation/terraform_citations_validator.py +104 -115
- runbooks/validation/terraform_drift_detector.py +447 -451
- runbooks/vpc/README.md +617 -0
- runbooks/vpc/__init__.py +8 -1
- runbooks/vpc/analyzer.py +577 -0
- runbooks/vpc/cleanup_wrapper.py +476 -413
- runbooks/vpc/cli_cloudtrail_commands.py +339 -0
- runbooks/vpc/cli_mcp_validation_commands.py +480 -0
- runbooks/vpc/cloudtrail_audit_integration.py +717 -0
- runbooks/vpc/config.py +92 -97
- runbooks/vpc/cost_engine.py +411 -148
- runbooks/vpc/cost_explorer_integration.py +553 -0
- runbooks/vpc/cross_account_session.py +101 -106
- runbooks/vpc/enhanced_mcp_validation.py +917 -0
- runbooks/vpc/eni_gate_validator.py +961 -0
- runbooks/vpc/heatmap_engine.py +185 -160
- runbooks/vpc/mcp_no_eni_validator.py +680 -639
- runbooks/vpc/nat_gateway_optimizer.py +358 -0
- runbooks/vpc/networking_wrapper.py +15 -8
- runbooks/vpc/pdca_remediation_planner.py +528 -0
- runbooks/vpc/performance_optimized_analyzer.py +219 -231
- runbooks/vpc/runbooks_adapter.py +1167 -241
- runbooks/vpc/tdd_red_phase_stubs.py +601 -0
- runbooks/vpc/test_data_loader.py +358 -0
- runbooks/vpc/tests/conftest.py +314 -4
- runbooks/vpc/tests/test_cleanup_framework.py +1022 -0
- runbooks/vpc/tests/test_cost_engine.py +0 -2
- runbooks/vpc/topology_generator.py +326 -0
- runbooks/vpc/unified_scenarios.py +1297 -1124
- runbooks/vpc/vpc_cleanup_integration.py +1943 -1115
- runbooks-1.1.5.dist-info/METADATA +328 -0
- {runbooks-1.1.4.dist-info → runbooks-1.1.5.dist-info}/RECORD +214 -193
- runbooks/finops/README.md +0 -414
- runbooks/finops/accuracy_cross_validator.py +0 -647
- runbooks/finops/business_cases.py +0 -950
- runbooks/finops/dashboard_router.py +0 -922
- runbooks/finops/ebs_optimizer.py +0 -973
- runbooks/finops/embedded_mcp_validator.py +0 -1629
- runbooks/finops/enhanced_dashboard_runner.py +0 -527
- runbooks/finops/finops_dashboard.py +0 -584
- runbooks/finops/finops_scenarios.py +0 -1218
- runbooks/finops/legacy_migration.py +0 -730
- runbooks/finops/multi_dashboard.py +0 -1519
- runbooks/finops/single_dashboard.py +0 -1113
- runbooks/finops/unlimited_scenarios.py +0 -393
- runbooks-1.1.4.dist-info/METADATA +0 -800
- {runbooks-1.1.4.dist-info → runbooks-1.1.5.dist-info}/WHEEL +0 -0
- {runbooks-1.1.4.dist-info → runbooks-1.1.5.dist-info}/entry_points.txt +0 -0
- {runbooks-1.1.4.dist-info → runbooks-1.1.5.dist-info}/licenses/LICENSE +0 -0
- {runbooks-1.1.4.dist-info → runbooks-1.1.5.dist-info}/top_level.txt +0 -0
runbooks/cli/__init__.py
CHANGED
runbooks/cli/commands/cfat.py
CHANGED
@@ -58,17 +58,37 @@ def create_cfat_group():
|
|
58
58
|
|
59
59
|
@cfat.command()
|
60
60
|
@common_aws_options
|
61
|
-
@click.option(
|
62
|
-
|
63
|
-
|
64
|
-
|
61
|
+
@click.option(
|
62
|
+
"--pillar",
|
63
|
+
type=click.Choice(
|
64
|
+
[
|
65
|
+
"operational-excellence",
|
66
|
+
"security",
|
67
|
+
"reliability",
|
68
|
+
"performance-efficiency",
|
69
|
+
"cost-optimization",
|
70
|
+
"sustainability",
|
71
|
+
]
|
72
|
+
),
|
73
|
+
multiple=True,
|
74
|
+
help="Specific Well-Architected pillars to assess",
|
75
|
+
)
|
65
76
|
@click.option("--all-pillars", is_flag=True, help="Assess all Well-Architected pillars")
|
66
77
|
@click.option("--workload-name", help="Name of the workload being assessed")
|
67
|
-
@click.option(
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
78
|
+
@click.option(
|
79
|
+
"--assessment-depth",
|
80
|
+
type=click.Choice(["basic", "comprehensive", "enterprise"]),
|
81
|
+
default="comprehensive",
|
82
|
+
help="Assessment depth level",
|
83
|
+
)
|
84
|
+
@click.option(
|
85
|
+
"--export-format",
|
86
|
+
type=click.Choice(["json", "csv", "pdf", "html"]),
|
87
|
+
help="Export format for assessment results",
|
88
|
+
)
|
89
|
+
@click.option(
|
90
|
+
"--all", is_flag=True, help="Use all available AWS profiles for multi-account Well-Architected assessment"
|
91
|
+
)
|
72
92
|
@click.pass_context
|
73
93
|
def assess(ctx, profile, region, dry_run, pillar, all_pillars, workload_name, assessment_depth, export_format, all):
|
74
94
|
"""
|
@@ -101,7 +121,7 @@ def create_cfat_group():
|
|
101
121
|
pillars=list(pillar) if pillar else None,
|
102
122
|
all_pillars=all_pillars,
|
103
123
|
workload_name=workload_name or "Default Workload",
|
104
|
-
assessment_depth=assessment_depth
|
124
|
+
assessment_depth=assessment_depth,
|
105
125
|
)
|
106
126
|
|
107
127
|
assessment_results = assessment.run_well_architected_assessment()
|
@@ -121,11 +141,14 @@ def create_cfat_group():
|
|
121
141
|
@cfat.command()
|
122
142
|
@common_aws_options
|
123
143
|
@click.option("--workload-name", required=True, help="Name of the workload for review")
|
124
|
-
@click.option(
|
125
|
-
|
144
|
+
@click.option(
|
145
|
+
"--review-type",
|
146
|
+
type=click.Choice(["initial", "milestone", "continuous"]),
|
147
|
+
default="milestone",
|
148
|
+
help="Type of architecture review",
|
149
|
+
)
|
126
150
|
@click.option("--stakeholders", multiple=True, help="Stakeholder names/emails for review")
|
127
|
-
@click.option("--include-recommendations", is_flag=True, default=True,
|
128
|
-
help="Include remediation recommendations")
|
151
|
+
@click.option("--include-recommendations", is_flag=True, default=True, help="Include remediation recommendations")
|
129
152
|
@click.option("--all", is_flag=True, help="Use all available AWS profiles for multi-account architecture review")
|
130
153
|
@click.pass_context
|
131
154
|
def review(ctx, profile, region, dry_run, workload_name, review_type, stakeholders, include_recommendations, all):
|
@@ -157,7 +180,7 @@ def create_cfat_group():
|
|
157
180
|
workload_name=workload_name,
|
158
181
|
review_type=review_type,
|
159
182
|
stakeholders=list(stakeholders) if stakeholders else None,
|
160
|
-
include_recommendations=include_recommendations
|
183
|
+
include_recommendations=include_recommendations,
|
161
184
|
)
|
162
185
|
|
163
186
|
review_results = review_manager.conduct_architecture_review()
|
@@ -173,16 +196,34 @@ def create_cfat_group():
|
|
173
196
|
|
174
197
|
@cfat.command()
|
175
198
|
@common_aws_options
|
176
|
-
@click.option(
|
177
|
-
|
199
|
+
@click.option(
|
200
|
+
"--format",
|
201
|
+
"report_format",
|
202
|
+
type=click.Choice(["pdf", "html", "markdown", "json"]),
|
203
|
+
multiple=True,
|
204
|
+
default=["pdf"],
|
205
|
+
help="Report formats",
|
206
|
+
)
|
178
207
|
@click.option("--executive-summary", is_flag=True, help="Generate executive summary")
|
179
|
-
@click.option("--include-remediation", is_flag=True, default=True,
|
180
|
-
help="Include remediation roadmap")
|
208
|
+
@click.option("--include-remediation", is_flag=True, default=True, help="Include remediation roadmap")
|
181
209
|
@click.option("--output-dir", default="./cfat_reports", help="Output directory")
|
182
210
|
@click.option("--workload-filter", help="Filter reports by workload name")
|
183
|
-
@click.option(
|
211
|
+
@click.option(
|
212
|
+
"--all", is_flag=True, help="Use all available AWS profiles for multi-account Well-Architected reporting"
|
213
|
+
)
|
184
214
|
@click.pass_context
|
185
|
-
def report(
|
215
|
+
def report(
|
216
|
+
ctx,
|
217
|
+
profile,
|
218
|
+
region,
|
219
|
+
dry_run,
|
220
|
+
report_format,
|
221
|
+
executive_summary,
|
222
|
+
include_remediation,
|
223
|
+
output_dir,
|
224
|
+
workload_filter,
|
225
|
+
all,
|
226
|
+
):
|
186
227
|
"""
|
187
228
|
Generate comprehensive Well-Architected assessment reports with universal profile support.
|
188
229
|
|
@@ -210,7 +251,7 @@ def create_cfat_group():
|
|
210
251
|
output_dir=output_dir,
|
211
252
|
executive_summary=executive_summary,
|
212
253
|
include_remediation=include_remediation,
|
213
|
-
workload_filter=workload_filter
|
254
|
+
workload_filter=workload_filter,
|
214
255
|
)
|
215
256
|
|
216
257
|
report_results = {}
|
@@ -230,4 +271,4 @@ def create_cfat_group():
|
|
230
271
|
console.print(f"[red]❌ CFAT report generation failed: {e}[/red]")
|
231
272
|
raise click.ClickException(str(e))
|
232
273
|
|
233
|
-
return cfat
|
274
|
+
return cfat
|