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.
- 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/WEIGHT_CONFIG_README.md +1 -1
- runbooks/cfat/assessment/compliance.py +8 -8
- runbooks/cfat/assessment/runner.py +1 -0
- runbooks/cfat/cloud_foundations_assessment.py +227 -239
- runbooks/cfat/models.py +6 -2
- runbooks/cfat/tests/__init__.py +6 -1
- runbooks/cli/__init__.py +13 -0
- runbooks/cli/commands/cfat.py +274 -0
- runbooks/cli/commands/finops.py +1164 -0
- runbooks/cli/commands/inventory.py +379 -0
- runbooks/cli/commands/operate.py +239 -0
- runbooks/cli/commands/security.py +248 -0
- runbooks/cli/commands/validation.py +825 -0
- runbooks/cli/commands/vpc.py +310 -0
- runbooks/cli/registry.py +107 -0
- runbooks/cloudops/__init__.py +23 -30
- runbooks/cloudops/base.py +96 -107
- runbooks/cloudops/cost_optimizer.py +549 -547
- runbooks/cloudops/infrastructure_optimizer.py +5 -4
- runbooks/cloudops/interfaces.py +226 -227
- 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 +179 -215
- 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 +341 -0
- runbooks/common/aws_utils.py +75 -80
- runbooks/common/business_logic.py +127 -105
- runbooks/common/cli_decorators.py +36 -60
- runbooks/common/comprehensive_cost_explorer_integration.py +456 -464
- runbooks/common/cross_account_manager.py +198 -205
- runbooks/common/date_utils.py +27 -39
- runbooks/common/decorators.py +235 -0
- 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 +478 -495
- 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 +176 -194
- runbooks/common/patterns.py +204 -0
- runbooks/common/performance_monitoring.py +67 -71
- runbooks/common/performance_optimization_engine.py +283 -274
- runbooks/common/profile_utils.py +248 -39
- runbooks/common/rich_utils.py +643 -92
- 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 +29 -33
- 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 +488 -622
- 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 +40 -37
- runbooks/finops/enhanced_trend_visualization.py +3 -2
- runbooks/finops/enterprise_wrappers.py +230 -292
- 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 +338 -175
- runbooks/finops/mcp_validator.py +1952 -0
- runbooks/finops/nat_gateway_optimizer.py +1513 -482
- 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 +25 -29
- runbooks/finops/rds_snapshot_optimizer.py +367 -411
- runbooks/finops/reservation_optimizer.py +427 -363
- runbooks/finops/scenario_cli_integration.py +77 -78
- runbooks/finops/scenarios.py +1278 -439
- runbooks/finops/schemas.py +218 -182
- runbooks/finops/snapshot_manager.py +2289 -0
- runbooks/finops/tests/test_finops_dashboard.py +3 -3
- runbooks/finops/tests/test_reference_images_validation.py +2 -2
- runbooks/finops/tests/test_single_account_features.py +17 -17
- runbooks/finops/tests/validate_test_suite.py +1 -1
- runbooks/finops/types.py +3 -3
- runbooks/finops/validation_framework.py +263 -269
- runbooks/finops/vpc_cleanup_exporter.py +191 -146
- runbooks/finops/vpc_cleanup_optimizer.py +593 -575
- runbooks/finops/workspaces_analyzer.py +171 -182
- runbooks/hitl/enhanced_workflow_engine.py +1 -1
- runbooks/integration/__init__.py +89 -0
- runbooks/integration/mcp_integration.py +1920 -0
- runbooks/inventory/CLAUDE.md +816 -0
- runbooks/inventory/README.md +3 -3
- runbooks/inventory/Tests/common_test_data.py +30 -30
- runbooks/inventory/__init__.py +2 -2
- runbooks/inventory/cloud_foundations_integration.py +144 -149
- runbooks/inventory/collectors/aws_comprehensive.py +28 -11
- runbooks/inventory/collectors/aws_networking.py +111 -101
- runbooks/inventory/collectors/base.py +4 -0
- runbooks/inventory/core/collector.py +495 -313
- runbooks/inventory/discovery.md +2 -2
- runbooks/inventory/drift_detection_cli.py +69 -96
- runbooks/inventory/find_ec2_security_groups.py +1 -1
- 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 +56 -52
- runbooks/inventory/rich_inventory_display.py +33 -32
- runbooks/inventory/unified_validation_engine.py +278 -251
- runbooks/inventory/vpc_analyzer.py +733 -696
- runbooks/inventory/vpc_architecture_validator.py +293 -348
- runbooks/inventory/vpc_dependency_analyzer.py +382 -378
- runbooks/inventory/vpc_flow_analyzer.py +3 -3
- runbooks/main.py +152 -9147
- 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/metrics/dora_metrics_engine.py +2 -2
- 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/mcp_integration.py +1 -1
- runbooks/operate/networking_cost_heatmap.py +33 -10
- runbooks/operate/privatelink_operations.py +1 -1
- runbooks/operate/rds_operations.py +223 -254
- runbooks/operate/s3_operations.py +107 -118
- runbooks/operate/vpc_endpoints.py +1 -1
- runbooks/operate/vpc_operations.py +648 -618
- runbooks/remediation/base.py +1 -1
- runbooks/remediation/commons.py +10 -7
- runbooks/remediation/commvault_ec2_analysis.py +71 -67
- runbooks/remediation/ec2_unattached_ebs_volumes.py +1 -0
- runbooks/remediation/multi_account.py +24 -21
- runbooks/remediation/rds_snapshot_list.py +91 -65
- runbooks/remediation/remediation_cli.py +92 -146
- runbooks/remediation/universal_account_discovery.py +83 -79
- runbooks/remediation/workspaces_list.py +49 -44
- 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/integration_test_enterprise_security.py +5 -3
- runbooks/security/multi_account_security_controls.py +959 -1210
- runbooks/security/real_time_security_monitor.py +422 -444
- runbooks/security/run_script.py +1 -1
- 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/mcp_reliability_engine.py +6 -6
- 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 +51 -48
- runbooks/validation/__init__.py +6 -6
- runbooks/validation/cli.py +9 -3
- runbooks/validation/comprehensive_2way_validator.py +754 -708
- 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 +190 -162
- runbooks/vpc/mcp_no_eni_validator.py +681 -640
- 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 +1302 -1129
- runbooks/vpc/vpc_cleanup_integration.py +1943 -1115
- runbooks-1.1.5.dist-info/METADATA +328 -0
- {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/RECORD +233 -200
- 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 -956
- 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.3.dist-info/METADATA +0 -799
- {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/WHEEL +0 -0
- {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/entry_points.txt +0 -0
- {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/licenses/LICENSE +0 -0
- {runbooks-1.1.3.dist-info → runbooks-1.1.5.dist-info}/top_level.txt +0 -0
runbooks/__init__.py
CHANGED
@@ -61,18 +61,20 @@ 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.
|
64
|
+
__version__ = "1.1.5"
|
65
65
|
|
66
66
|
# Fallback for legacy importlib.metadata usage during transition
|
67
67
|
try:
|
68
68
|
from importlib.metadata import version as _pkg_version
|
69
|
+
|
69
70
|
_metadata_version = _pkg_version("runbooks")
|
70
71
|
if _metadata_version != __version__:
|
71
72
|
import warnings
|
73
|
+
|
72
74
|
warnings.warn(
|
73
75
|
f"Version mismatch detected: pyproject.toml has {_metadata_version}, "
|
74
76
|
f"but centralized version is {__version__}. Please sync pyproject.toml.",
|
75
|
-
UserWarning
|
77
|
+
UserWarning,
|
76
78
|
)
|
77
79
|
except Exception:
|
78
80
|
# Expected during development or when package metadata is unavailable
|
@@ -118,11 +120,35 @@ except ImportError as e:
|
|
118
120
|
# PERFORMANCE FIX: Lazy load finops to avoid MCP initialization
|
119
121
|
# from runbooks.finops import get_cost_data, get_trend, run_dashboard
|
120
122
|
|
123
|
+
|
121
124
|
def get_finops_functions():
|
122
125
|
"""Lazy load finops functions only when needed."""
|
123
126
|
from runbooks.finops import get_cost_data, get_trend, run_dashboard
|
127
|
+
|
124
128
|
return get_cost_data, get_trend, run_dashboard
|
125
129
|
|
130
|
+
|
131
|
+
# Integration exports
|
132
|
+
# PERFORMANCE FIX: Lazy load integration to avoid MCP initialization during package import
|
133
|
+
def get_integration_functions():
|
134
|
+
"""Lazy load integration functions only when needed."""
|
135
|
+
from runbooks.integration import (
|
136
|
+
create_enterprise_mcp_framework,
|
137
|
+
create_mcp_manager_for_multi_account,
|
138
|
+
create_mcp_manager_for_single_account,
|
139
|
+
MCPIntegrationManager,
|
140
|
+
CrossValidationEngine,
|
141
|
+
)
|
142
|
+
|
143
|
+
return {
|
144
|
+
"create_enterprise_mcp_framework": create_enterprise_mcp_framework,
|
145
|
+
"create_mcp_manager_for_multi_account": create_mcp_manager_for_multi_account,
|
146
|
+
"create_mcp_manager_for_single_account": create_mcp_manager_for_single_account,
|
147
|
+
"MCPIntegrationManager": MCPIntegrationManager,
|
148
|
+
"CrossValidationEngine": CrossValidationEngine,
|
149
|
+
}
|
150
|
+
|
151
|
+
|
126
152
|
# Consolidated exports for enterprise CloudOps platform
|
127
153
|
__all__ = [
|
128
154
|
# Core utilities
|
@@ -136,4 +162,7 @@ __all__ = [
|
|
136
162
|
# FinOps capabilities
|
137
163
|
# Lazy loaded finops functions via get_finops_functions()
|
138
164
|
"get_finops_functions",
|
165
|
+
# Integration capabilities
|
166
|
+
# Lazy loaded integration functions via get_integration_functions()
|
167
|
+
"get_integration_functions",
|
139
168
|
] + _enterprise_exports
|
runbooks/__init___optimized.py
CHANGED
@@ -15,29 +15,36 @@ __version__ = "1.0.0"
|
|
15
15
|
# Fallback for legacy importlib.metadata usage during transition
|
16
16
|
try:
|
17
17
|
from importlib.metadata import version as _pkg_version
|
18
|
+
|
18
19
|
_metadata_version = _pkg_version("runbooks")
|
19
20
|
if _metadata_version != __version__:
|
20
21
|
import warnings
|
22
|
+
|
21
23
|
warnings.warn(
|
22
24
|
f"Version mismatch detected: pyproject.toml has {_metadata_version}, "
|
23
25
|
f"but centralized version is {__version__}. Please sync pyproject.toml.",
|
24
|
-
UserWarning
|
26
|
+
UserWarning,
|
25
27
|
)
|
26
28
|
except Exception:
|
27
29
|
# Expected during development or when package metadata is unavailable
|
28
30
|
pass
|
29
31
|
|
32
|
+
|
30
33
|
# Core module exports (lazy loading)
|
31
34
|
def _lazy_config():
|
32
35
|
"""Lazy load config modules."""
|
33
36
|
from runbooks.config import RunbooksConfig, load_config, save_config
|
37
|
+
|
34
38
|
return RunbooksConfig, load_config, save_config
|
35
39
|
|
40
|
+
|
36
41
|
def _lazy_utils():
|
37
|
-
"""Lazy load utility modules."""
|
42
|
+
"""Lazy load utility modules."""
|
38
43
|
from runbooks.utils import ensure_directory, setup_logging, validate_aws_profile
|
44
|
+
|
39
45
|
return ensure_directory, setup_logging, validate_aws_profile
|
40
46
|
|
47
|
+
|
41
48
|
# Enterprise module exports with graceful degradation (lazy loading)
|
42
49
|
def _lazy_enterprise():
|
43
50
|
"""Lazy load enterprise components only when needed."""
|
@@ -71,40 +78,47 @@ def _lazy_enterprise():
|
|
71
78
|
except ImportError:
|
72
79
|
return {}
|
73
80
|
|
81
|
+
|
74
82
|
# FinOps exports (LAZY LOADING TO FIX STARTUP PERFORMANCE)
|
75
83
|
def _lazy_finops():
|
76
84
|
"""Lazy load FinOps modules only when needed."""
|
77
85
|
try:
|
78
86
|
from runbooks.finops import get_cost_data, get_trend, run_dashboard
|
87
|
+
|
79
88
|
return get_cost_data, get_trend, run_dashboard
|
80
89
|
except ImportError:
|
81
90
|
return None, None, None
|
82
91
|
|
92
|
+
|
83
93
|
# Expose lazy loaders for core functionality
|
84
94
|
def get_config():
|
85
95
|
"""Get config utilities (lazy loaded)."""
|
86
96
|
return _lazy_config()
|
87
97
|
|
98
|
+
|
88
99
|
def get_utils():
|
89
100
|
"""Get utility functions (lazy loaded)."""
|
90
101
|
return _lazy_utils()
|
91
102
|
|
103
|
+
|
92
104
|
def get_enterprise():
|
93
105
|
"""Get enterprise components (lazy loaded)."""
|
94
106
|
return _lazy_enterprise()
|
95
107
|
|
108
|
+
|
96
109
|
def get_finops():
|
97
110
|
"""Get FinOps functions (lazy loaded)."""
|
98
111
|
return _lazy_finops()
|
99
112
|
|
113
|
+
|
100
114
|
# Minimal exports for fast startup
|
101
115
|
__all__ = [
|
102
116
|
"__version__",
|
103
117
|
"get_config",
|
104
|
-
"get_utils",
|
118
|
+
"get_utils",
|
105
119
|
"get_enterprise",
|
106
120
|
"get_finops",
|
107
121
|
]
|
108
122
|
|
109
123
|
# Only expose the lazy loaders by default
|
110
|
-
# The actual functions are loaded on-demand
|
124
|
+
# The actual functions are loaded on-demand
|
runbooks/_platform/__init__.py
CHANGED
@@ -12,8 +12,4 @@ from .core.runbooks_wrapper import RunbooksWrapper
|
|
12
12
|
from .finops.unit_economics import UnitEconomicsCalculator
|
13
13
|
from .components.validators import ProfileValidator
|
14
14
|
|
15
|
-
__all__ = [
|
16
|
-
"RunbooksWrapper",
|
17
|
-
"UnitEconomicsCalculator",
|
18
|
-
"ProfileValidator"
|
19
|
-
]
|
15
|
+
__all__ = ["RunbooksWrapper", "UnitEconomicsCalculator", "ProfileValidator"]
|