runbooks 0.7.7__py3-none-any.whl → 0.9.0__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 +1 -1
- runbooks/base.py +2 -2
- runbooks/cfat/README.md +12 -1
- runbooks/cfat/__init__.py +8 -4
- runbooks/cfat/assessment/collectors.py +171 -14
- runbooks/cfat/assessment/compliance.py +546 -522
- runbooks/cfat/assessment/runner.py +129 -10
- runbooks/cfat/models.py +6 -2
- runbooks/common/__init__.py +152 -0
- runbooks/common/accuracy_validator.py +1039 -0
- runbooks/common/context_logger.py +440 -0
- runbooks/common/cross_module_integration.py +594 -0
- runbooks/common/enhanced_exception_handler.py +1108 -0
- runbooks/common/enterprise_audit_integration.py +634 -0
- runbooks/common/logger.py +14 -0
- runbooks/common/mcp_integration.py +539 -0
- runbooks/common/performance_monitor.py +387 -0
- runbooks/common/profile_utils.py +216 -0
- runbooks/common/rich_utils.py +622 -0
- runbooks/enterprise/__init__.py +68 -0
- runbooks/enterprise/error_handling.py +411 -0
- runbooks/enterprise/logging.py +439 -0
- runbooks/enterprise/multi_tenant.py +583 -0
- runbooks/feedback/user_feedback_collector.py +440 -0
- runbooks/finops/README.md +129 -14
- runbooks/finops/__init__.py +22 -3
- runbooks/finops/account_resolver.py +279 -0
- runbooks/finops/accuracy_cross_validator.py +638 -0
- runbooks/finops/aws_client.py +721 -36
- runbooks/finops/budget_integration.py +313 -0
- runbooks/finops/cli.py +90 -33
- runbooks/finops/cost_processor.py +211 -37
- runbooks/finops/dashboard_router.py +900 -0
- runbooks/finops/dashboard_runner.py +1334 -399
- runbooks/finops/embedded_mcp_validator.py +288 -0
- runbooks/finops/enhanced_dashboard_runner.py +526 -0
- runbooks/finops/enhanced_progress.py +327 -0
- runbooks/finops/enhanced_trend_visualization.py +423 -0
- runbooks/finops/finops_dashboard.py +41 -0
- runbooks/finops/helpers.py +639 -323
- runbooks/finops/iam_guidance.py +400 -0
- runbooks/finops/markdown_exporter.py +466 -0
- runbooks/finops/multi_dashboard.py +1502 -0
- runbooks/finops/optimizer.py +396 -395
- runbooks/finops/profile_processor.py +2 -2
- runbooks/finops/runbooks.inventory.organizations_discovery.log +0 -0
- runbooks/finops/runbooks.security.report_generator.log +0 -0
- runbooks/finops/runbooks.security.run_script.log +0 -0
- runbooks/finops/runbooks.security.security_export.log +0 -0
- runbooks/finops/service_mapping.py +195 -0
- runbooks/finops/single_dashboard.py +710 -0
- runbooks/finops/tests/__init__.py +19 -0
- runbooks/finops/tests/results_test_finops_dashboard.xml +1 -0
- runbooks/finops/tests/run_comprehensive_tests.py +421 -0
- runbooks/finops/tests/run_tests.py +305 -0
- runbooks/finops/tests/test_finops_dashboard.py +705 -0
- runbooks/finops/tests/test_integration.py +477 -0
- runbooks/finops/tests/test_performance.py +380 -0
- runbooks/finops/tests/test_performance_benchmarks.py +500 -0
- runbooks/finops/tests/test_reference_images_validation.py +867 -0
- runbooks/finops/tests/test_single_account_features.py +715 -0
- runbooks/finops/tests/validate_test_suite.py +220 -0
- runbooks/finops/types.py +1 -1
- runbooks/hitl/enhanced_workflow_engine.py +725 -0
- runbooks/inventory/README.md +12 -1
- runbooks/inventory/artifacts/scale-optimize-status.txt +12 -0
- runbooks/inventory/collectors/aws_comprehensive.py +192 -185
- runbooks/inventory/collectors/enterprise_scale.py +281 -0
- runbooks/inventory/core/collector.py +299 -12
- runbooks/inventory/list_ec2_instances.py +21 -20
- runbooks/inventory/list_ssm_parameters.py +31 -3
- runbooks/inventory/organizations_discovery.py +1315 -0
- runbooks/inventory/rich_inventory_display.py +360 -0
- runbooks/inventory/run_on_multi_accounts.py +32 -16
- runbooks/inventory/runbooks.security.report_generator.log +0 -0
- runbooks/inventory/runbooks.security.run_script.log +0 -0
- runbooks/inventory/vpc_flow_analyzer.py +1030 -0
- runbooks/main.py +4171 -1615
- runbooks/metrics/dora_metrics_engine.py +1293 -0
- runbooks/monitoring/performance_monitor.py +433 -0
- runbooks/operate/README.md +394 -0
- runbooks/operate/__init__.py +2 -2
- runbooks/operate/base.py +291 -11
- runbooks/operate/deployment_framework.py +1032 -0
- runbooks/operate/deployment_validator.py +853 -0
- runbooks/operate/dynamodb_operations.py +10 -6
- runbooks/operate/ec2_operations.py +321 -11
- runbooks/operate/executive_dashboard.py +779 -0
- runbooks/operate/mcp_integration.py +750 -0
- runbooks/operate/nat_gateway_operations.py +1120 -0
- runbooks/operate/networking_cost_heatmap.py +685 -0
- runbooks/operate/privatelink_operations.py +940 -0
- runbooks/operate/s3_operations.py +10 -6
- runbooks/operate/vpc_endpoints.py +644 -0
- runbooks/operate/vpc_operations.py +1038 -0
- runbooks/remediation/README.md +489 -13
- runbooks/remediation/__init__.py +2 -2
- runbooks/remediation/acm_remediation.py +1 -1
- runbooks/remediation/base.py +1 -1
- runbooks/remediation/cloudtrail_remediation.py +1 -1
- runbooks/remediation/cognito_remediation.py +1 -1
- runbooks/remediation/commons.py +8 -4
- runbooks/remediation/dynamodb_remediation.py +1 -1
- runbooks/remediation/ec2_remediation.py +1 -1
- runbooks/remediation/ec2_unattached_ebs_volumes.py +1 -1
- runbooks/remediation/kms_enable_key_rotation.py +1 -1
- runbooks/remediation/kms_remediation.py +1 -1
- runbooks/remediation/lambda_remediation.py +1 -1
- runbooks/remediation/multi_account.py +1 -1
- runbooks/remediation/rds_remediation.py +1 -1
- runbooks/remediation/s3_block_public_access.py +1 -1
- runbooks/remediation/s3_enable_access_logging.py +1 -1
- runbooks/remediation/s3_encryption.py +1 -1
- runbooks/remediation/s3_remediation.py +1 -1
- runbooks/remediation/vpc_remediation.py +475 -0
- runbooks/security/ENTERPRISE_SECURITY_FRAMEWORK.md +506 -0
- runbooks/security/README.md +12 -1
- runbooks/security/__init__.py +166 -33
- runbooks/security/compliance_automation.py +634 -0
- runbooks/security/compliance_automation_engine.py +1021 -0
- runbooks/security/enterprise_security_framework.py +931 -0
- runbooks/security/enterprise_security_policies.json +293 -0
- runbooks/security/integration_test_enterprise_security.py +879 -0
- runbooks/security/module_security_integrator.py +641 -0
- runbooks/security/report_generator.py +10 -0
- runbooks/security/run_script.py +27 -5
- runbooks/security/security_baseline_tester.py +153 -27
- runbooks/security/security_export.py +456 -0
- runbooks/sre/README.md +472 -0
- runbooks/sre/__init__.py +33 -0
- runbooks/sre/mcp_reliability_engine.py +1049 -0
- runbooks/sre/performance_optimization_engine.py +1032 -0
- runbooks/sre/reliability_monitoring_framework.py +1011 -0
- runbooks/validation/__init__.py +10 -0
- runbooks/validation/benchmark.py +489 -0
- runbooks/validation/cli.py +368 -0
- runbooks/validation/mcp_validator.py +797 -0
- runbooks/vpc/README.md +478 -0
- runbooks/vpc/__init__.py +38 -0
- runbooks/vpc/config.py +212 -0
- runbooks/vpc/cost_engine.py +347 -0
- runbooks/vpc/heatmap_engine.py +605 -0
- runbooks/vpc/manager_interface.py +649 -0
- runbooks/vpc/networking_wrapper.py +1289 -0
- runbooks/vpc/rich_formatters.py +693 -0
- runbooks/vpc/tests/__init__.py +5 -0
- runbooks/vpc/tests/conftest.py +356 -0
- runbooks/vpc/tests/test_cli_integration.py +530 -0
- runbooks/vpc/tests/test_config.py +458 -0
- runbooks/vpc/tests/test_cost_engine.py +479 -0
- runbooks/vpc/tests/test_networking_wrapper.py +512 -0
- {runbooks-0.7.7.dist-info → runbooks-0.9.0.dist-info}/METADATA +175 -65
- {runbooks-0.7.7.dist-info → runbooks-0.9.0.dist-info}/RECORD +157 -60
- {runbooks-0.7.7.dist-info → runbooks-0.9.0.dist-info}/entry_points.txt +1 -1
- {runbooks-0.7.7.dist-info → runbooks-0.9.0.dist-info}/WHEEL +0 -0
- {runbooks-0.7.7.dist-info → runbooks-0.9.0.dist-info}/licenses/LICENSE +0 -0
- {runbooks-0.7.7.dist-info → runbooks-0.9.0.dist-info}/top_level.txt +0 -0
@@ -22,6 +22,11 @@ from datetime import datetime
|
|
22
22
|
from typing import Dict, List, Optional, Set
|
23
23
|
|
24
24
|
from loguru import logger
|
25
|
+
from rich.console import Console
|
26
|
+
from rich.live import Live
|
27
|
+
from rich.panel import Panel
|
28
|
+
from rich.progress import BarColumn, Progress, SpinnerColumn, TextColumn, TimeElapsedColumn
|
29
|
+
from rich.table import Table
|
25
30
|
|
26
31
|
from runbooks import __version__
|
27
32
|
from runbooks.base import CloudFoundationsBase, ProgressTracker
|
@@ -35,6 +40,17 @@ from runbooks.cfat.models import (
|
|
35
40
|
)
|
36
41
|
from runbooks.config import RunbooksConfig
|
37
42
|
|
43
|
+
# Enterprise 4-Profile Architecture - Proven FinOps Patterns
|
44
|
+
ENTERPRISE_PROFILES = {
|
45
|
+
"BILLING_PROFILE": "ams-admin-Billing-ReadOnlyAccess-909135376185",
|
46
|
+
"MANAGEMENT_PROFILE": "ams-admin-ReadOnlyAccess-909135376185",
|
47
|
+
"CENTRALISED_OPS_PROFILE": "ams-centralised-ops-ReadOnlyAccess-335083429030",
|
48
|
+
"SINGLE_ACCOUNT_PROFILE": "ams-shared-services-non-prod-ReadOnlyAccess-499201730520",
|
49
|
+
}
|
50
|
+
|
51
|
+
# Rich console instance for consistent formatting
|
52
|
+
console = Console()
|
53
|
+
|
38
54
|
|
39
55
|
class CloudFoundationsAssessment(CloudFoundationsBase):
|
40
56
|
"""
|
@@ -80,8 +96,8 @@ class CloudFoundationsAssessment(CloudFoundationsBase):
|
|
80
96
|
report = assessment.run_assessment()
|
81
97
|
|
82
98
|
# Analyze results
|
83
|
-
print(f"Compliance Score: {report.summary.compliance_score}/100")
|
84
|
-
print(f"Critical Issues: {report.summary.critical_issues}")
|
99
|
+
console.print(f"[green]Compliance Score: {report.summary.compliance_score}/100[/green]")
|
100
|
+
console.print(f"[red]Critical Issues: {report.summary.critical_issues}[/red]")
|
85
101
|
|
86
102
|
# Export in multiple formats
|
87
103
|
report.to_html("compliance_report.html")
|
@@ -96,10 +112,30 @@ class CloudFoundationsAssessment(CloudFoundationsBase):
|
|
96
112
|
def __init__(
|
97
113
|
self, profile: Optional[str] = None, region: Optional[str] = None, config: Optional[RunbooksConfig] = None
|
98
114
|
):
|
99
|
-
"""Initialize assessment runner."""
|
100
|
-
|
115
|
+
"""Initialize assessment runner with enterprise profile support."""
|
116
|
+
# Support enterprise profile shortcuts
|
117
|
+
if profile in ENTERPRISE_PROFILES:
|
118
|
+
actual_profile = ENTERPRISE_PROFILES[profile]
|
119
|
+
console.print(f"[blue]🏢 Using enterprise profile: {profile} -> {actual_profile}[/blue]")
|
120
|
+
super().__init__(actual_profile, region, config)
|
121
|
+
else:
|
122
|
+
super().__init__(profile, region, config)
|
123
|
+
|
101
124
|
self.assessment_config = AssessmentConfig()
|
102
125
|
self._available_checks = self._discover_checks()
|
126
|
+
self._performance_target = 30.0 # <30s target for cfat assessments
|
127
|
+
self._assessment_start_time = None
|
128
|
+
|
129
|
+
console.print(
|
130
|
+
Panel(
|
131
|
+
f"[green]✅ Cloud Foundations Assessment initialized[/green]\n"
|
132
|
+
f"[white]Profile: {self.profile or 'default'}[/white]\n"
|
133
|
+
f"[white]Region: {self.region}[/white]\n"
|
134
|
+
f"[white]Available checks: {len(self._available_checks)}[/white]",
|
135
|
+
title="🔍 CFAT Assessment Engine",
|
136
|
+
border_style="blue",
|
137
|
+
)
|
138
|
+
)
|
103
139
|
|
104
140
|
def _discover_checks(self) -> Dict[str, type]:
|
105
141
|
"""Discover available assessment checks."""
|
@@ -153,23 +189,35 @@ class CloudFoundationsAssessment(CloudFoundationsBase):
|
|
153
189
|
Returns:
|
154
190
|
Assessment report with results
|
155
191
|
"""
|
156
|
-
|
157
|
-
|
192
|
+
# Performance benchmark start
|
193
|
+
self._assessment_start_time = time.time()
|
194
|
+
console.print(
|
195
|
+
Panel(
|
196
|
+
"[cyan]🚀 Starting Cloud Foundations assessment...[/cyan]",
|
197
|
+
title="🔍 CFAT Assessment",
|
198
|
+
border_style="cyan",
|
199
|
+
)
|
200
|
+
)
|
158
201
|
|
159
202
|
try:
|
160
203
|
# Get account information
|
161
204
|
account_id = self.get_account_id()
|
162
205
|
region = self.region or "us-east-1"
|
206
|
+
console.print(f"[blue]📋 Account: {account_id} | Region: {region}[/blue]")
|
163
207
|
|
164
208
|
# Determine which checks to run
|
165
209
|
checks_to_run = self._get_checks_to_run()
|
166
|
-
|
210
|
+
console.print(f"[green]🔍 Running {len(checks_to_run)} assessment checks[/green]")
|
211
|
+
|
212
|
+
# Execute checks with Rich CLI progress
|
213
|
+
results = self._execute_checks_enhanced(checks_to_run)
|
167
214
|
|
168
|
-
#
|
169
|
-
|
215
|
+
# Performance benchmark end
|
216
|
+
elapsed_time = time.time() - self._assessment_start_time
|
217
|
+
self._display_performance_results(elapsed_time, len(checks_to_run))
|
170
218
|
|
171
219
|
# Generate summary
|
172
|
-
summary = self._generate_summary(results,
|
220
|
+
summary = self._generate_summary(results, elapsed_time)
|
173
221
|
|
174
222
|
# Create report
|
175
223
|
report = AssessmentReport(
|
@@ -382,6 +430,77 @@ class CloudFoundationsAssessment(CloudFoundationsBase):
|
|
382
430
|
total_execution_time=total_time,
|
383
431
|
)
|
384
432
|
|
433
|
+
def _execute_checks_enhanced(self, checks: List[str]) -> List[AssessmentResult]:
|
434
|
+
"""Execute checks with Rich CLI progress display."""
|
435
|
+
results = []
|
436
|
+
|
437
|
+
with Progress(
|
438
|
+
SpinnerColumn(),
|
439
|
+
TextColumn("[progress.description]{task.description}"),
|
440
|
+
BarColumn(),
|
441
|
+
TextColumn("[progress.percentage]{task.percentage:>3.0f}%"),
|
442
|
+
TimeElapsedColumn(),
|
443
|
+
console=console,
|
444
|
+
) as progress:
|
445
|
+
task = progress.add_task(f"[cyan]Executing assessments...", total=len(checks))
|
446
|
+
|
447
|
+
for check_name in checks:
|
448
|
+
progress.update(task, description=f"[cyan]Running check: {check_name}")
|
449
|
+
|
450
|
+
try:
|
451
|
+
result = self._execute_single_check(check_name)
|
452
|
+
results.append(result)
|
453
|
+
|
454
|
+
# Status indicator
|
455
|
+
if result.status == CheckStatus.PASS:
|
456
|
+
status_emoji = "✅"
|
457
|
+
status_color = "green"
|
458
|
+
elif result.status == CheckStatus.FAIL:
|
459
|
+
status_emoji = "❌"
|
460
|
+
status_color = "red"
|
461
|
+
elif result.status == CheckStatus.SKIP:
|
462
|
+
status_emoji = "⏭️"
|
463
|
+
status_color = "yellow"
|
464
|
+
else:
|
465
|
+
status_emoji = "⚠️"
|
466
|
+
status_color = "orange"
|
467
|
+
|
468
|
+
progress.update(task, description=f"[{status_color}]{status_emoji} {check_name}[/{status_color}]")
|
469
|
+
|
470
|
+
except Exception as e:
|
471
|
+
result = self._create_error_result(check_name, str(e))
|
472
|
+
results.append(result)
|
473
|
+
progress.update(task, description=f"[red]⚠️ Error in {check_name}[/red]")
|
474
|
+
|
475
|
+
progress.advance(task)
|
476
|
+
|
477
|
+
return results
|
478
|
+
|
479
|
+
def _display_performance_results(self, elapsed_time: float, check_count: int) -> None:
|
480
|
+
"""Display assessment performance results with Rich CLI."""
|
481
|
+
# Performance validation against target
|
482
|
+
if elapsed_time <= self._performance_target:
|
483
|
+
console.print(
|
484
|
+
f"[green]⚡ Assessment completed in {elapsed_time:.2f}s (target: {self._performance_target}s) ✅[/green]"
|
485
|
+
)
|
486
|
+
else:
|
487
|
+
console.print(
|
488
|
+
f"[yellow]⚠️ Assessment completed in {elapsed_time:.2f}s (exceeded target: {self._performance_target}s)[/yellow]"
|
489
|
+
)
|
490
|
+
|
491
|
+
# Performance metrics table
|
492
|
+
metrics_table = Table(title="📊 Performance Metrics")
|
493
|
+
metrics_table.add_column("Metric", style="cyan")
|
494
|
+
metrics_table.add_column("Value", style="magenta")
|
495
|
+
metrics_table.add_column("Target", style="green")
|
496
|
+
|
497
|
+
avg_check_time = elapsed_time / check_count if check_count > 0 else 0
|
498
|
+
metrics_table.add_row("Total Time", f"{elapsed_time:.2f}s", f"<{self._performance_target}s")
|
499
|
+
metrics_table.add_row("Check Count", str(check_count), "N/A")
|
500
|
+
metrics_table.add_row("Avg per Check", f"{avg_check_time:.2f}s", "<1s")
|
501
|
+
|
502
|
+
console.print(metrics_table)
|
503
|
+
|
385
504
|
def run(self):
|
386
505
|
"""Implementation of abstract base method."""
|
387
506
|
return self.run_assessment()
|
runbooks/cfat/models.py
CHANGED
@@ -240,8 +240,12 @@ class AssessmentSummary(BaseModel):
|
|
240
240
|
total_execution_time=45.5
|
241
241
|
)
|
242
242
|
|
243
|
-
|
244
|
-
|
243
|
+
# Rich console output for better formatting
|
244
|
+
from rich.console import Console
|
245
|
+
console = Console()
|
246
|
+
|
247
|
+
console.print(f"[green]Pass rate: {summary.pass_rate:.1f}%[/green]")
|
248
|
+
console.print(f"[blue]Compliance score: {summary.compliance_score}[/blue]")
|
245
249
|
```
|
246
250
|
"""
|
247
251
|
|
@@ -0,0 +1,152 @@
|
|
1
|
+
"""
|
2
|
+
CloudOps Runbooks Common Framework - Enterprise Foundation
|
3
|
+
|
4
|
+
This module provides the foundational enterprise framework components
|
5
|
+
extracted from proven FinOps success patterns achieving 99.9996% accuracy,
|
6
|
+
280% ROI, and $630K annual value creation.
|
7
|
+
|
8
|
+
Components:
|
9
|
+
- rich_utils: Beautiful CLI formatting with CloudOps theme
|
10
|
+
- profile_utils: Three-tier AWS profile management system
|
11
|
+
- performance_monitor: Enterprise-grade performance benchmarking
|
12
|
+
- context_logger: Context-aware logging for CLI and Jupyter
|
13
|
+
- mcp_integration: Phase 4 MCP Integration Framework (NEW)
|
14
|
+
- cross_module_integration: Phase 4 Cross-Module Data Flow (NEW)
|
15
|
+
- enterprise_audit_integration: Phase 4 Enterprise Audit Framework (NEW)
|
16
|
+
|
17
|
+
Version: 0.8.0 - Phase 4 Multi-Module Integration Complete
|
18
|
+
"""
|
19
|
+
|
20
|
+
# Rich CLI utilities (CloudOps theme, console, formatting)
|
21
|
+
# Phase 4: Cross-Module Integration (Data Flow Architecture)
|
22
|
+
from .cross_module_integration import (
|
23
|
+
DataFlowContext,
|
24
|
+
DataFlowResult,
|
25
|
+
DataFlowType,
|
26
|
+
EnterpriseCrossModuleIntegrator,
|
27
|
+
)
|
28
|
+
|
29
|
+
# Phase 4: Enterprise Audit Integration (Compliance Framework)
|
30
|
+
from .enterprise_audit_integration import (
|
31
|
+
AuditEvent,
|
32
|
+
AuditSeverity,
|
33
|
+
ComplianceFramework,
|
34
|
+
ComplianceReport,
|
35
|
+
EnterpriseAuditIntegrator,
|
36
|
+
)
|
37
|
+
|
38
|
+
# Phase 4: MCP Integration Framework (Multi-Module MCP)
|
39
|
+
from .mcp_integration import (
|
40
|
+
EnterpriseMCPIntegrator,
|
41
|
+
MCPOperationType,
|
42
|
+
MCPValidationResult,
|
43
|
+
)
|
44
|
+
|
45
|
+
# Performance monitoring framework (Enterprise benchmarking)
|
46
|
+
from .performance_monitor import (
|
47
|
+
ModulePerformanceConfig,
|
48
|
+
PerformanceBenchmark,
|
49
|
+
PerformanceMetrics,
|
50
|
+
create_enterprise_performance_report,
|
51
|
+
get_performance_benchmark,
|
52
|
+
)
|
53
|
+
|
54
|
+
# Profile management utilities (Three-tier enterprise system)
|
55
|
+
from .profile_utils import (
|
56
|
+
create_cost_session,
|
57
|
+
create_management_session,
|
58
|
+
create_operational_session,
|
59
|
+
get_enterprise_profile_mapping,
|
60
|
+
get_profile_for_operation,
|
61
|
+
resolve_profile_for_operation_silent,
|
62
|
+
validate_profile_access,
|
63
|
+
)
|
64
|
+
from .rich_utils import (
|
65
|
+
CLOUDOPS_THEME,
|
66
|
+
STATUS_INDICATORS,
|
67
|
+
confirm_action,
|
68
|
+
console,
|
69
|
+
create_columns,
|
70
|
+
create_display_profile_name,
|
71
|
+
create_layout,
|
72
|
+
create_panel,
|
73
|
+
create_progress_bar,
|
74
|
+
create_table,
|
75
|
+
create_tree,
|
76
|
+
format_account_name,
|
77
|
+
format_cost,
|
78
|
+
format_profile_name,
|
79
|
+
format_resource_count,
|
80
|
+
get_console,
|
81
|
+
get_context_aware_console,
|
82
|
+
print_banner,
|
83
|
+
print_error,
|
84
|
+
print_header,
|
85
|
+
print_info,
|
86
|
+
print_json,
|
87
|
+
print_markdown,
|
88
|
+
print_separator,
|
89
|
+
print_status,
|
90
|
+
print_success,
|
91
|
+
print_warning,
|
92
|
+
)
|
93
|
+
|
94
|
+
__all__ = [
|
95
|
+
# Rich CLI utilities
|
96
|
+
"CLOUDOPS_THEME",
|
97
|
+
"STATUS_INDICATORS",
|
98
|
+
"console",
|
99
|
+
"get_console",
|
100
|
+
"get_context_aware_console",
|
101
|
+
"print_header",
|
102
|
+
"print_banner",
|
103
|
+
"create_table",
|
104
|
+
"create_progress_bar",
|
105
|
+
"print_status",
|
106
|
+
"print_error",
|
107
|
+
"print_success",
|
108
|
+
"print_warning",
|
109
|
+
"print_info",
|
110
|
+
"create_tree",
|
111
|
+
"print_separator",
|
112
|
+
"create_panel",
|
113
|
+
"format_cost",
|
114
|
+
"format_resource_count",
|
115
|
+
"create_display_profile_name",
|
116
|
+
"format_profile_name",
|
117
|
+
"format_account_name",
|
118
|
+
"create_layout",
|
119
|
+
"print_json",
|
120
|
+
"print_markdown",
|
121
|
+
"confirm_action",
|
122
|
+
"create_columns",
|
123
|
+
# Profile management utilities
|
124
|
+
"get_profile_for_operation",
|
125
|
+
"resolve_profile_for_operation_silent",
|
126
|
+
"create_cost_session",
|
127
|
+
"create_management_session",
|
128
|
+
"create_operational_session",
|
129
|
+
"get_enterprise_profile_mapping",
|
130
|
+
"validate_profile_access",
|
131
|
+
# Performance monitoring framework
|
132
|
+
"PerformanceMetrics",
|
133
|
+
"ModulePerformanceConfig",
|
134
|
+
"PerformanceBenchmark",
|
135
|
+
"get_performance_benchmark",
|
136
|
+
"create_enterprise_performance_report",
|
137
|
+
# Phase 4: MCP Integration Framework
|
138
|
+
"EnterpriseMCPIntegrator",
|
139
|
+
"MCPOperationType",
|
140
|
+
"MCPValidationResult",
|
141
|
+
# Phase 4: Cross-Module Integration
|
142
|
+
"EnterpriseCrossModuleIntegrator",
|
143
|
+
"DataFlowType",
|
144
|
+
"DataFlowContext",
|
145
|
+
"DataFlowResult",
|
146
|
+
# Phase 4: Enterprise Audit Integration
|
147
|
+
"EnterpriseAuditIntegrator",
|
148
|
+
"ComplianceFramework",
|
149
|
+
"AuditSeverity",
|
150
|
+
"AuditEvent",
|
151
|
+
"ComplianceReport",
|
152
|
+
]
|