runbooks 1.1.6__tar.gz → 1.1.7__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.
- {runbooks-1.1.6/src/runbooks.egg-info → runbooks-1.1.7}/PKG-INFO +1 -1
- {runbooks-1.1.6 → runbooks-1.1.7}/pyproject.toml +1 -1
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/__init__.py +1 -1
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/commands/finops.py +29 -5
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/commands/inventory.py +19 -7
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/cli_decorators.py +61 -0
- {runbooks-1.1.6 → runbooks-1.1.7/src/runbooks.egg-info}/PKG-INFO +1 -1
- {runbooks-1.1.6 → runbooks-1.1.7}/LICENSE +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/MANIFEST.in +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/setup.cfg +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/conftest.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/__init__.py.backup +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/__init___optimized.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/__main__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/_platform/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/_platform/core/runbooks_wrapper.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/aws2/accuracy_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/base.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/WEIGHT_CONFIG_README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/app.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/asana-import.csv +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/cfat-checks.csv +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/cfat.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/collectors.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/compliance.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/jira-import.csv +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/runner.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/assessment/validators.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/cloud_foundations_assessment.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/asana-import.csv +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/cfat-checks.csv +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/cfat.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/checks-output.png +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/cloudshell-console-run.png +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/cloudshell-download.png +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/cloudshell-output.png +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/downloadfile.png +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/jira-import.csv +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/open-cloudshell.png +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/docs/report-header.png +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/models.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/package-lock.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/package.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/report.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/reporting/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/reporting/exporters.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/reporting/formatters.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/reporting/templates.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/run-assessment.sh +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/runner.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-cloudtrail-existence.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-config-existence.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-control-tower.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-ec2-existence.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-iam-users.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-legacy-cur.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-org-cloudformation.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-vpc-existence.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/create-asanaimport.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/create-backlog.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/create-jiraimport.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/create-report.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/define-account-type.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-enabled-org-policy-types.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-enabled-org-services.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-idc-info.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-org-da-accounts.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-org-details.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-org-member-accounts.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-org-ous.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-regions.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/zip-assessment.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/types/index.d.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/tests/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/tests/test_cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/tests/test_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/tests/test_models.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/tests/test_reporting.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/tests/test_weight_configuration.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/tsconfig.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/webpack.config.cjs +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/weight_config.ts +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/commands/cfat.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/commands/operate.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/commands/security.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/commands/validation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/commands/vpc.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cli/registry.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/base.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/cost_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/infrastructure_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/interfaces.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/lifecycle_manager.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/mcp_cost_validation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/models.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/monitoring_automation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/notebook_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cloudops/security_enforcer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/accuracy_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/aws_pricing.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/aws_pricing_api.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/aws_profile_manager.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/aws_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/business_logic.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/comprehensive_cost_explorer_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/context_logger.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/cross_account_manager.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/cross_module_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/date_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/decorators.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/dry_run_examples.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/dry_run_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/enhanced_exception_handler.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/enhanced_logging_example.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/enhanced_logging_integration_example.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/enterprise_audit_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/env_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/error_handling.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/lazy_loader.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/logger.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/logging_integration_helper.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/mcp_cost_explorer_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/mcp_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/memory_optimization.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/module_cli_base.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/organizations_client.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/patterns.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/performance_monitor.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/performance_monitoring.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/performance_optimization_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/profile_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/rich_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/sre_performance_suite.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/config.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/enterprise/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/enterprise/error_handling.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/enterprise/logging.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/enterprise/multi_tenant.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/enterprise/security.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/enterprise/validation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/feedback/user_feedback_collector.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/account_resolver.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/advanced_optimization_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/automation_core.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/aws_client.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/budget_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/business_case_config.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/commvault_ec2_analysis.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/compute_cost_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/config.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/cost_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/cost_processor.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/dashboard_runner.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/ebs_cost_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/elastic_ip_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/enhanced_mcp_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/enhanced_progress.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/enhanced_trend_visualization.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/enterprise_wrappers.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/executive_export.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/helpers.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/iam_guidance.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/infrastructure/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/infrastructure/commands.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/infrastructure/load_balancer_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/infrastructure/vpc_endpoint_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/main.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/markdown_exporter.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/mcp_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/nat_gateway_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/network_cost_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/notebook_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/optimization_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/profile_processor.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/rds_snapshot_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/reservation_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/scenario_cli_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/scenarios.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/schemas.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/service_mapping.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/snapshot_manager.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/run_comprehensive_tests.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/run_tests.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/test_finops_dashboard.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/test_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/test_performance.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/test_performance_benchmarks.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/test_reference_images_validation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/test_single_account_features.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/tests/validate_test_suite.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/types.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/validation_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/visualisations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/vpc_cleanup_exporter.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/vpc_cleanup_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/finops/workspaces_analyzer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/hitl/enhanced_workflow_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/integration/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/integration/mcp_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/.gitignore +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/ArgumentsClass.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/CLAUDE.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/LandingZone/delete_lz.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/common_test_data.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/common_test_functions.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/script_test_data.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/setup.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/src.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/test_Inventory_Modules.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/test_cfn_describe_stacks.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/test_ec2_describe_instances.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/test_lambda_list_functions.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/test_moto_integration_example.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/Tests/test_org_list_accounts.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/account_class.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/all_my_instances_wrapper.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/aws_decorators.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/check_cloudtrail_compliance.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/check_controltower_readiness.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/check_landingzone_readiness.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/cloud_foundations_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/collectors/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/collectors/aws_comprehensive.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/collectors/aws_compute.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/collectors/aws_management.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/collectors/aws_networking.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/collectors/base.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/collectors/enterprise_scale.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/core/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/core/collector.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/core/formatter.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/discovery.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/draw_org_structure.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/drift_detection_cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/ec2_vpc_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/find_cfn_drift_detection.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/find_cfn_orphaned_stacks.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/find_cfn_stackset_drift.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/find_ec2_security_groups.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/find_landingzone_versions.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/find_vpc_flow_logs.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/inventory.sh +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/inventory_mcp_cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/inventory_modules.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_cfn_stacks.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_cfn_stackset_operation_results.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_cfn_stackset_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_cfn_stacksets.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_config_recorders_delivery_channels.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_ds_directories.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_ec2_availability_zones.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_ec2_ebs_volumes.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_ec2_instances.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_ecs_clusters_and_tasks.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_elbs_load_balancers.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_enis_network_interfaces.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_guardduty_detectors.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_iam_policies.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_iam_roles.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_iam_saml_providers.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_lambda_functions.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_org_accounts.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_org_accounts_users.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_rds_db_instances.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_rds_snapshots_aggregator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_route53_hosted_zones.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_servicecatalog_provisioned_products.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_sns_topics.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_ssm_parameters.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_vpc_subnets.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/list_vpcs.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/mcp_inventory_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/mcp_vpc_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/models/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/models/account.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/models/inventory.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/models/resource.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/organizations_discovery.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/recover_cfn_stack_ids.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/requirements.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/rich_inventory_display.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/run_on_multi_accounts.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/unified_validation_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/utils/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/utils/aws_helpers.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/utils/threading_utils.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/utils/validation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/verify_ec2_security_groups.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/vpc_analyzer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/vpc_architecture_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/vpc_dependency_analyzer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/inventory/vpc_flow_analyzer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/main.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/main_final.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/main_minimal.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/main_optimized.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/main_ultra_minimal.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/mcp/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/mcp/integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/metrics/dora_metrics_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/monitoring/performance_monitor.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/base.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/cloudformation_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/cloudwatch_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/deployment_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/deployment_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/dynamodb_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/ec2_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/executive_dashboard.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/iam_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/mcp_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/nat_gateway_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/networking_cost_heatmap.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/privatelink_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/rds_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/s3_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/tagging_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/tags.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/vpc_endpoints.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/operate/vpc_operations.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/Tests/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/Tests/update_policy.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/acm_cert_expired_unused.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/acm_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/api_gateway_list.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/base.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/cloudtrail_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/cloudtrail_s3_modifications.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/cognito_active_users.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/cognito_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/cognito_user_password_reset.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/commons.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/commvault_ec2_analysis.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/config/accounts_example.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/dynamodb_optimize.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/dynamodb_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/dynamodb_server_side_encryption.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/ec2_public_ips.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/ec2_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/ec2_subnet_disable_auto_ip_assignment.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/ec2_unattached_ebs_volumes.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/ec2_unused_security_groups.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/kms_enable_key_rotation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/kms_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/lambda_list.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/lambda_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/multi_account.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/rds_instance_list.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/rds_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/rds_snapshot_list.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/remediation_cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/requirements.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_block_public_access.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_bucket_public_access.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_disable_static_website_hosting.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_downloader.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_enable_access_logging.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_encryption.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_force_ssl_secure_policy.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_list.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_object_search.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/s3_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/scan_for_phrase.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/universal_account_discovery.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/vpc_remediation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/remediation/workspaces_list.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/assessment_runner.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/baseline_checker.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/account_level_bucket_public_access.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/alternate_contacts.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/bucket_public_access.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/cloudwatch_alarm_configuration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/direct_attached_policy.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/guardduty_enabled.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/iam_password_policy.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/iam_user_mfa.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/multi_region_instance_usage.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/multi_region_trail.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/root_access_key.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/root_mfa.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/root_usage.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/trail_enabled.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/checklist/trusted_advisor.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/cloudops_automation_security_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/compliance_automation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/compliance_automation_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/config/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/config/compliance_config.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/config/compliance_weights_example.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/config-origin.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/config.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/config_template_generator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/enterprise_security_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/enterprise_security_policies.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/executive_security_dashboard.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/integration_test_enterprise_security.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/module_security_integrator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/multi_account_security_controls.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/permission.json +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/real_time_security_monitor.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/report_generator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/report_template_en.html +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/report_template_jp.html +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/report_template_kr.html +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/report_template_vn.html +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/run_script.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/security_baseline_tester.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/security_cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/security_export.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/test_2way_validation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/two_way_validation_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/utils/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/utils/common.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/utils/enums.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/utils/language.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/utils/level_const.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/security/utils/permission_list.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/sre/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/sre/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/sre/mcp_reliability_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/sre/performance_optimization_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/sre/production_monitoring_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/sre/reliability_monitoring_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/tdd/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/tdd/cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/utils/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/utils/logger.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/utils/version_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/validation/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/validation/benchmark.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/validation/cli.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/validation/comprehensive_2way_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/validation/mcp_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/validation/terraform_citations_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/validation/terraform_drift_detector.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/README.md +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/analyzer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/cleanup_wrapper.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/cli_cloudtrail_commands.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/cli_mcp_validation_commands.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/cloudtrail_audit_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/config.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/cost_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/cost_explorer_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/cross_account_session.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/enhanced_mcp_validation.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/eni_gate_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/heatmap_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/manager_interface.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/mcp_no_eni_validator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/nat_gateway_optimizer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/networking_wrapper.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/pdca_remediation_planner.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/performance_optimized_analyzer.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/rich_formatters.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/runbooks_adapter.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tdd_red_phase_stubs.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/test_data_loader.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tests/__init__.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tests/conftest.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tests/test_cleanup_framework.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tests/test_cli_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tests/test_config.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tests/test_cost_engine.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/tests/test_networking_wrapper.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/topology_generator.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/unified_scenarios.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/vpc/vpc_cleanup_integration.py +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks.egg-info/SOURCES.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks.egg-info/dependency_links.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks.egg-info/entry_points.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks.egg-info/requires.txt +0 -0
- {runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks.egg-info/top_level.txt +0 -0
@@ -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.
|
16
|
+
version = "1.1.7"
|
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.
|
64
|
+
__version__ = "1.1.7"
|
65
65
|
|
66
66
|
# Fallback for legacy importlib.metadata usage during transition
|
67
67
|
try:
|
@@ -14,8 +14,14 @@ import click
|
|
14
14
|
# DRY Pattern Manager - eliminates duplication across CLI modules
|
15
15
|
from runbooks.common.patterns import get_console, get_error_handlers, get_click_group_creator, get_common_decorators
|
16
16
|
|
17
|
-
# Import
|
18
|
-
from runbooks.common.
|
17
|
+
# Import unified CLI decorators (v1.1.7 standardization)
|
18
|
+
from runbooks.common.cli_decorators import (
|
19
|
+
common_aws_options,
|
20
|
+
common_output_options,
|
21
|
+
common_multi_account_options,
|
22
|
+
common_filter_options,
|
23
|
+
mcp_validation_option
|
24
|
+
)
|
19
25
|
|
20
26
|
# Single console instance shared across all modules (DRY principle)
|
21
27
|
console = get_console()
|
@@ -47,9 +53,13 @@ def create_finops_group():
|
|
47
53
|
"""
|
48
54
|
|
49
55
|
@click.group(invoke_without_command=True)
|
56
|
+
@common_filter_options
|
57
|
+
@common_multi_account_options
|
58
|
+
@common_output_options
|
50
59
|
@common_aws_options
|
51
60
|
@click.pass_context
|
52
|
-
def finops(ctx, profile, region, dry_run
|
61
|
+
def finops(ctx, profile, region, dry_run, output_format, output_dir, export,
|
62
|
+
all_profiles, profiles, regions, all_regions, tags, accounts):
|
53
63
|
"""
|
54
64
|
Financial operations and cost optimization for AWS resources.
|
55
65
|
|
@@ -64,13 +74,27 @@ def create_finops_group():
|
|
64
74
|
|
65
75
|
Examples:
|
66
76
|
runbooks finops dashboard --profile billing-profile
|
67
|
-
runbooks finops
|
77
|
+
runbooks finops dashboard --all-profiles --timeframe monthly
|
78
|
+
runbooks finops dashboard --regions us-east-1 us-west-2
|
68
79
|
runbooks finops export --format pdf --output-dir ./reports
|
69
80
|
"""
|
70
81
|
# Ensure context object exists
|
71
82
|
if ctx.obj is None:
|
72
83
|
ctx.obj = {}
|
73
|
-
ctx.obj.update({
|
84
|
+
ctx.obj.update({
|
85
|
+
"profile": profile,
|
86
|
+
"region": region,
|
87
|
+
"dry_run": dry_run,
|
88
|
+
"output_format": output_format,
|
89
|
+
"output_dir": output_dir,
|
90
|
+
"export": export,
|
91
|
+
"all_profiles": all_profiles,
|
92
|
+
"profiles": profiles,
|
93
|
+
"regions": regions,
|
94
|
+
"all_regions": all_regions,
|
95
|
+
"tags": tags,
|
96
|
+
"accounts": accounts
|
97
|
+
})
|
74
98
|
|
75
99
|
if ctx.invoked_subcommand is None:
|
76
100
|
click.echo(ctx.get_help())
|
@@ -12,8 +12,14 @@ import click
|
|
12
12
|
import os
|
13
13
|
import sys
|
14
14
|
|
15
|
-
# Import
|
16
|
-
from runbooks.common.
|
15
|
+
# Import unified CLI decorators (v1.1.7 standardization)
|
16
|
+
from runbooks.common.cli_decorators import (
|
17
|
+
common_aws_options,
|
18
|
+
common_output_options,
|
19
|
+
common_multi_account_options,
|
20
|
+
common_filter_options,
|
21
|
+
mcp_validation_option
|
22
|
+
)
|
17
23
|
|
18
24
|
# Test Mode Support: Disable Rich Console in test environments to prevent I/O conflicts
|
19
25
|
# Issue: Rich Console writes to StringIO buffer that Click CliRunner closes, causing ValueError
|
@@ -60,11 +66,13 @@ def create_inventory_group():
|
|
60
66
|
"""
|
61
67
|
|
62
68
|
@click.group(invoke_without_command=True)
|
63
|
-
@common_aws_options
|
64
|
-
@common_output_options
|
65
69
|
@common_filter_options
|
70
|
+
@common_multi_account_options
|
71
|
+
@common_output_options
|
72
|
+
@common_aws_options
|
66
73
|
@click.pass_context
|
67
|
-
def inventory(ctx, profile, region, dry_run, output_format,
|
74
|
+
def inventory(ctx, profile, region, dry_run, output_format, output_dir, export,
|
75
|
+
all_profiles, profiles, regions, all_regions, tags, accounts):
|
68
76
|
"""
|
69
77
|
Universal AWS resource discovery and inventory - works with ANY AWS environment.
|
70
78
|
|
@@ -95,10 +103,14 @@ def create_inventory_group():
|
|
95
103
|
"region": region,
|
96
104
|
"dry_run": dry_run,
|
97
105
|
"output_format": output_format,
|
98
|
-
"
|
106
|
+
"output_dir": output_dir,
|
107
|
+
"export": export,
|
108
|
+
"all_profiles": all_profiles,
|
109
|
+
"profiles": profiles,
|
110
|
+
"regions": regions,
|
111
|
+
"all_regions": all_regions,
|
99
112
|
"tags": tags,
|
100
113
|
"accounts": accounts,
|
101
|
-
"regions": regions,
|
102
114
|
}
|
103
115
|
)
|
104
116
|
|
@@ -193,3 +193,64 @@ def all_standard_options(f: Callable) -> Callable:
|
|
193
193
|
return f(*args, **kwargs)
|
194
194
|
|
195
195
|
return wrapper
|
196
|
+
|
197
|
+
|
198
|
+
def common_multi_account_options(f: Callable) -> Callable:
|
199
|
+
"""
|
200
|
+
Multi-account and multi-region AWS options for enterprise operations.
|
201
|
+
|
202
|
+
Provides:
|
203
|
+
- --all-profiles: Process all configured AWS profiles (multi-account)
|
204
|
+
- --profiles: [LEGACY] Specific profiles (use --all-profiles for all)
|
205
|
+
- --regions: Specific AWS regions (space-separated)
|
206
|
+
- --all-regions: Process all enabled AWS regions
|
207
|
+
|
208
|
+
Note: --profile is provided by common_aws_options decorator
|
209
|
+
|
210
|
+
Usage:
|
211
|
+
@common_multi_account_options
|
212
|
+
@common_aws_options
|
213
|
+
@click.command()
|
214
|
+
def my_command(profile, all_profiles, profiles, regions, all_regions, **kwargs):
|
215
|
+
# Multi-account command logic
|
216
|
+
"""
|
217
|
+
|
218
|
+
@click.option('--all-profiles', is_flag=True, default=False,
|
219
|
+
help='Process all configured AWS profiles (multi-account)')
|
220
|
+
@click.option('--profiles', type=str, multiple=True,
|
221
|
+
help='[LEGACY] Specific profiles (use --all-profiles for all)')
|
222
|
+
@click.option('--regions', type=str, multiple=True,
|
223
|
+
help='Specific AWS regions (space-separated)')
|
224
|
+
@click.option('--all-regions', is_flag=True, default=False,
|
225
|
+
help='Process all enabled AWS regions')
|
226
|
+
@wraps(f)
|
227
|
+
def wrapper(*args, **kwargs):
|
228
|
+
return f(*args, **kwargs)
|
229
|
+
|
230
|
+
return wrapper
|
231
|
+
|
232
|
+
|
233
|
+
def common_filter_options(f: Callable) -> Callable:
|
234
|
+
"""
|
235
|
+
Common filtering options for resource discovery.
|
236
|
+
|
237
|
+
Provides:
|
238
|
+
- --tags: Filter by tags (key=value format)
|
239
|
+
- --accounts: Filter by specific account IDs
|
240
|
+
|
241
|
+
Usage:
|
242
|
+
@common_filter_options
|
243
|
+
@click.command()
|
244
|
+
def my_command(tags, accounts, **kwargs):
|
245
|
+
# Filtering logic
|
246
|
+
"""
|
247
|
+
|
248
|
+
@click.option('--tags', type=str, multiple=True,
|
249
|
+
help='Filter by tags (key=value format)')
|
250
|
+
@click.option('--accounts', type=str, multiple=True,
|
251
|
+
help='Filter by specific account IDs')
|
252
|
+
@wraps(f)
|
253
|
+
def wrapper(*args, **kwargs):
|
254
|
+
return f(*args, **kwargs)
|
255
|
+
|
256
|
+
return wrapper
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/check-cloudtrail-existence.ts
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/cfat/src/actions/get-enabled-org-policy-types.ts
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/comprehensive_cost_explorer_integration.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{runbooks-1.1.6 → runbooks-1.1.7}/src/runbooks/common/enhanced_logging_integration_example.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|