runbooks 0.2.5__py3-none-any.whl → 0.6.1__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.
Files changed (221) hide show
  1. conftest.py +26 -0
  2. jupyter-agent/.env.template +2 -0
  3. jupyter-agent/.gitattributes +35 -0
  4. jupyter-agent/README.md +16 -0
  5. jupyter-agent/app.py +256 -0
  6. jupyter-agent/cloudops-agent.png +0 -0
  7. jupyter-agent/ds-system-prompt.txt +154 -0
  8. jupyter-agent/jupyter-agent.png +0 -0
  9. jupyter-agent/llama3_template.jinja +123 -0
  10. jupyter-agent/requirements.txt +9 -0
  11. jupyter-agent/utils.py +409 -0
  12. runbooks/__init__.py +71 -3
  13. runbooks/__main__.py +13 -0
  14. runbooks/aws/ec2_describe_instances.py +1 -1
  15. runbooks/aws/ec2_run_instances.py +8 -2
  16. runbooks/aws/ec2_start_stop_instances.py +17 -4
  17. runbooks/aws/ec2_unused_volumes.py +5 -1
  18. runbooks/aws/s3_create_bucket.py +4 -2
  19. runbooks/aws/s3_list_objects.py +6 -1
  20. runbooks/aws/tagging_lambda_handler.py +13 -2
  21. runbooks/aws/tags.json +12 -0
  22. runbooks/base.py +353 -0
  23. runbooks/cfat/README.md +49 -0
  24. runbooks/cfat/__init__.py +74 -0
  25. runbooks/cfat/app.ts +644 -0
  26. runbooks/cfat/assessment/__init__.py +40 -0
  27. runbooks/cfat/assessment/asana-import.csv +39 -0
  28. runbooks/cfat/assessment/cfat-checks.csv +31 -0
  29. runbooks/cfat/assessment/cfat.txt +520 -0
  30. runbooks/cfat/assessment/collectors.py +200 -0
  31. runbooks/cfat/assessment/jira-import.csv +39 -0
  32. runbooks/cfat/assessment/runner.py +387 -0
  33. runbooks/cfat/assessment/validators.py +290 -0
  34. runbooks/cfat/cli.py +103 -0
  35. runbooks/cfat/docs/asana-import.csv +24 -0
  36. runbooks/cfat/docs/cfat-checks.csv +31 -0
  37. runbooks/cfat/docs/cfat.txt +335 -0
  38. runbooks/cfat/docs/checks-output.png +0 -0
  39. runbooks/cfat/docs/cloudshell-console-run.png +0 -0
  40. runbooks/cfat/docs/cloudshell-download.png +0 -0
  41. runbooks/cfat/docs/cloudshell-output.png +0 -0
  42. runbooks/cfat/docs/downloadfile.png +0 -0
  43. runbooks/cfat/docs/jira-import.csv +24 -0
  44. runbooks/cfat/docs/open-cloudshell.png +0 -0
  45. runbooks/cfat/docs/report-header.png +0 -0
  46. runbooks/cfat/models.py +1026 -0
  47. runbooks/cfat/package-lock.json +5116 -0
  48. runbooks/cfat/package.json +38 -0
  49. runbooks/cfat/report.py +496 -0
  50. runbooks/cfat/reporting/__init__.py +46 -0
  51. runbooks/cfat/reporting/exporters.py +337 -0
  52. runbooks/cfat/reporting/formatters.py +496 -0
  53. runbooks/cfat/reporting/templates.py +135 -0
  54. runbooks/cfat/run-assessment.sh +23 -0
  55. runbooks/cfat/runner.py +69 -0
  56. runbooks/cfat/src/actions/check-cloudtrail-existence.ts +43 -0
  57. runbooks/cfat/src/actions/check-config-existence.ts +37 -0
  58. runbooks/cfat/src/actions/check-control-tower.ts +37 -0
  59. runbooks/cfat/src/actions/check-ec2-existence.ts +46 -0
  60. runbooks/cfat/src/actions/check-iam-users.ts +50 -0
  61. runbooks/cfat/src/actions/check-legacy-cur.ts +30 -0
  62. runbooks/cfat/src/actions/check-org-cloudformation.ts +30 -0
  63. runbooks/cfat/src/actions/check-vpc-existence.ts +43 -0
  64. runbooks/cfat/src/actions/create-asanaimport.ts +14 -0
  65. runbooks/cfat/src/actions/create-backlog.ts +372 -0
  66. runbooks/cfat/src/actions/create-jiraimport.ts +15 -0
  67. runbooks/cfat/src/actions/create-report.ts +616 -0
  68. runbooks/cfat/src/actions/define-account-type.ts +51 -0
  69. runbooks/cfat/src/actions/get-enabled-org-policy-types.ts +40 -0
  70. runbooks/cfat/src/actions/get-enabled-org-services.ts +26 -0
  71. runbooks/cfat/src/actions/get-idc-info.ts +34 -0
  72. runbooks/cfat/src/actions/get-org-da-accounts.ts +34 -0
  73. runbooks/cfat/src/actions/get-org-details.ts +35 -0
  74. runbooks/cfat/src/actions/get-org-member-accounts.ts +44 -0
  75. runbooks/cfat/src/actions/get-org-ous.ts +35 -0
  76. runbooks/cfat/src/actions/get-regions.ts +22 -0
  77. runbooks/cfat/src/actions/zip-assessment.ts +27 -0
  78. runbooks/cfat/src/types/index.d.ts +147 -0
  79. runbooks/cfat/tests/__init__.py +141 -0
  80. runbooks/cfat/tests/test_cli.py +340 -0
  81. runbooks/cfat/tests/test_integration.py +290 -0
  82. runbooks/cfat/tests/test_models.py +505 -0
  83. runbooks/cfat/tests/test_reporting.py +354 -0
  84. runbooks/cfat/tsconfig.json +16 -0
  85. runbooks/cfat/webpack.config.cjs +27 -0
  86. runbooks/config.py +260 -0
  87. runbooks/finops/__init__.py +88 -0
  88. runbooks/finops/aws_client.py +245 -0
  89. runbooks/finops/cli.py +151 -0
  90. runbooks/finops/cost_processor.py +410 -0
  91. runbooks/finops/dashboard_runner.py +448 -0
  92. runbooks/finops/helpers.py +355 -0
  93. runbooks/finops/main.py +14 -0
  94. runbooks/finops/profile_processor.py +174 -0
  95. runbooks/finops/types.py +66 -0
  96. runbooks/finops/visualisations.py +80 -0
  97. runbooks/inventory/.gitignore +354 -0
  98. runbooks/inventory/ArgumentsClass.py +261 -0
  99. runbooks/inventory/Inventory_Modules.py +6130 -0
  100. runbooks/inventory/LandingZone/delete_lz.py +1075 -0
  101. runbooks/inventory/README.md +1320 -0
  102. runbooks/inventory/__init__.py +62 -0
  103. runbooks/inventory/account_class.py +532 -0
  104. runbooks/inventory/all_my_instances_wrapper.py +123 -0
  105. runbooks/inventory/aws_decorators.py +201 -0
  106. runbooks/inventory/cfn_move_stack_instances.py +1526 -0
  107. runbooks/inventory/check_cloudtrail_compliance.py +614 -0
  108. runbooks/inventory/check_controltower_readiness.py +1107 -0
  109. runbooks/inventory/check_landingzone_readiness.py +711 -0
  110. runbooks/inventory/cloudtrail.md +727 -0
  111. runbooks/inventory/collectors/__init__.py +20 -0
  112. runbooks/inventory/collectors/aws_compute.py +518 -0
  113. runbooks/inventory/collectors/aws_networking.py +275 -0
  114. runbooks/inventory/collectors/base.py +222 -0
  115. runbooks/inventory/core/__init__.py +19 -0
  116. runbooks/inventory/core/collector.py +303 -0
  117. runbooks/inventory/core/formatter.py +296 -0
  118. runbooks/inventory/delete_s3_buckets_objects.py +169 -0
  119. runbooks/inventory/discovery.md +81 -0
  120. runbooks/inventory/draw_org_structure.py +748 -0
  121. runbooks/inventory/ec2_vpc_utils.py +341 -0
  122. runbooks/inventory/find_cfn_drift_detection.py +272 -0
  123. runbooks/inventory/find_cfn_orphaned_stacks.py +719 -0
  124. runbooks/inventory/find_cfn_stackset_drift.py +733 -0
  125. runbooks/inventory/find_ec2_security_groups.py +669 -0
  126. runbooks/inventory/find_landingzone_versions.py +201 -0
  127. runbooks/inventory/find_vpc_flow_logs.py +1221 -0
  128. runbooks/inventory/inventory.sh +659 -0
  129. runbooks/inventory/list_cfn_stacks.py +558 -0
  130. runbooks/inventory/list_cfn_stackset_operation_results.py +252 -0
  131. runbooks/inventory/list_cfn_stackset_operations.py +734 -0
  132. runbooks/inventory/list_cfn_stacksets.py +453 -0
  133. runbooks/inventory/list_config_recorders_delivery_channels.py +681 -0
  134. runbooks/inventory/list_ds_directories.py +354 -0
  135. runbooks/inventory/list_ec2_availability_zones.py +286 -0
  136. runbooks/inventory/list_ec2_ebs_volumes.py +244 -0
  137. runbooks/inventory/list_ec2_instances.py +425 -0
  138. runbooks/inventory/list_ecs_clusters_and_tasks.py +562 -0
  139. runbooks/inventory/list_elbs_load_balancers.py +411 -0
  140. runbooks/inventory/list_enis_network_interfaces.py +526 -0
  141. runbooks/inventory/list_guardduty_detectors.py +568 -0
  142. runbooks/inventory/list_iam_policies.py +404 -0
  143. runbooks/inventory/list_iam_roles.py +518 -0
  144. runbooks/inventory/list_iam_saml_providers.py +359 -0
  145. runbooks/inventory/list_lambda_functions.py +882 -0
  146. runbooks/inventory/list_org_accounts.py +446 -0
  147. runbooks/inventory/list_org_accounts_users.py +354 -0
  148. runbooks/inventory/list_rds_db_instances.py +406 -0
  149. runbooks/inventory/list_route53_hosted_zones.py +318 -0
  150. runbooks/inventory/list_servicecatalog_provisioned_products.py +575 -0
  151. runbooks/inventory/list_sns_topics.py +360 -0
  152. runbooks/inventory/list_ssm_parameters.py +402 -0
  153. runbooks/inventory/list_vpc_subnets.py +433 -0
  154. runbooks/inventory/list_vpcs.py +422 -0
  155. runbooks/inventory/lockdown_cfn_stackset_role.py +224 -0
  156. runbooks/inventory/models/__init__.py +24 -0
  157. runbooks/inventory/models/account.py +192 -0
  158. runbooks/inventory/models/inventory.py +309 -0
  159. runbooks/inventory/models/resource.py +247 -0
  160. runbooks/inventory/recover_cfn_stack_ids.py +205 -0
  161. runbooks/inventory/requirements.txt +12 -0
  162. runbooks/inventory/run_on_multi_accounts.py +211 -0
  163. runbooks/inventory/tests/common_test_data.py +3661 -0
  164. runbooks/inventory/tests/common_test_functions.py +204 -0
  165. runbooks/inventory/tests/script_test_data.py +0 -0
  166. runbooks/inventory/tests/setup.py +24 -0
  167. runbooks/inventory/tests/src.py +18 -0
  168. runbooks/inventory/tests/test_cfn_describe_stacks.py +208 -0
  169. runbooks/inventory/tests/test_ec2_describe_instances.py +162 -0
  170. runbooks/inventory/tests/test_inventory_modules.py +55 -0
  171. runbooks/inventory/tests/test_lambda_list_functions.py +86 -0
  172. runbooks/inventory/tests/test_moto_integration_example.py +273 -0
  173. runbooks/inventory/tests/test_org_list_accounts.py +49 -0
  174. runbooks/inventory/update_aws_actions.py +173 -0
  175. runbooks/inventory/update_cfn_stacksets.py +1215 -0
  176. runbooks/inventory/update_cloudwatch_logs_retention_policy.py +294 -0
  177. runbooks/inventory/update_iam_roles_cross_accounts.py +478 -0
  178. runbooks/inventory/update_s3_public_access_block.py +539 -0
  179. runbooks/inventory/utils/__init__.py +23 -0
  180. runbooks/inventory/utils/aws_helpers.py +510 -0
  181. runbooks/inventory/utils/threading_utils.py +493 -0
  182. runbooks/inventory/utils/validation.py +682 -0
  183. runbooks/inventory/verify_ec2_security_groups.py +1430 -0
  184. runbooks/main.py +785 -0
  185. runbooks/organizations/__init__.py +12 -0
  186. runbooks/organizations/manager.py +374 -0
  187. runbooks/security_baseline/README.md +324 -0
  188. runbooks/security_baseline/checklist/alternate_contacts.py +8 -1
  189. runbooks/security_baseline/checklist/bucket_public_access.py +4 -1
  190. runbooks/security_baseline/checklist/cloudwatch_alarm_configuration.py +9 -2
  191. runbooks/security_baseline/checklist/guardduty_enabled.py +9 -2
  192. runbooks/security_baseline/checklist/multi_region_instance_usage.py +5 -1
  193. runbooks/security_baseline/checklist/root_access_key.py +6 -1
  194. runbooks/security_baseline/config-origin.json +1 -1
  195. runbooks/security_baseline/config.json +1 -1
  196. runbooks/security_baseline/permission.json +1 -1
  197. runbooks/security_baseline/report_generator.py +10 -2
  198. runbooks/security_baseline/report_template_en.html +7 -7
  199. runbooks/security_baseline/report_template_jp.html +7 -7
  200. runbooks/security_baseline/report_template_kr.html +12 -12
  201. runbooks/security_baseline/report_template_vn.html +7 -7
  202. runbooks/security_baseline/requirements.txt +7 -0
  203. runbooks/security_baseline/run_script.py +8 -2
  204. runbooks/security_baseline/security_baseline_tester.py +10 -2
  205. runbooks/security_baseline/utils/common.py +5 -1
  206. runbooks/utils/__init__.py +204 -0
  207. runbooks-0.6.1.dist-info/METADATA +373 -0
  208. runbooks-0.6.1.dist-info/RECORD +237 -0
  209. {runbooks-0.2.5.dist-info → runbooks-0.6.1.dist-info}/WHEEL +1 -1
  210. runbooks-0.6.1.dist-info/entry_points.txt +7 -0
  211. runbooks-0.6.1.dist-info/licenses/LICENSE +201 -0
  212. runbooks-0.6.1.dist-info/top_level.txt +3 -0
  213. runbooks/python101/calculator.py +0 -34
  214. runbooks/python101/config.py +0 -1
  215. runbooks/python101/exceptions.py +0 -16
  216. runbooks/python101/file_manager.py +0 -218
  217. runbooks/python101/toolkit.py +0 -153
  218. runbooks-0.2.5.dist-info/METADATA +0 -439
  219. runbooks-0.2.5.dist-info/RECORD +0 -61
  220. runbooks-0.2.5.dist-info/entry_points.txt +0 -3
  221. runbooks-0.2.5.dist-info/top_level.txt +0 -1
@@ -0,0 +1,373 @@
1
+ Metadata-Version: 2.4
2
+ Name: runbooks
3
+ Version: 0.6.1
4
+ Summary: CloudOps Automation Toolkit with Enhanced Cloud Foundations Assessment for DevOps and SRE teams.
5
+ Author-email: Maintainers <nnthanh101@gmail.com>
6
+ License-Expression: Apache-2.0
7
+ Project-URL: Homepage, https://cloudops.oceansoft.io
8
+ Project-URL: Repository, https://github.com/1xOps/CloudOps-Runbooks
9
+ Project-URL: Documentation, https://cloudops.oceansoft.io/runbooks/
10
+ Project-URL: Issues, https://github.com/1xOps/CloudOps-Runbooks/issues
11
+ Project-URL: Changelog, https://github.com/1xOps/CloudOps-Runbooks/blob/main/CHANGELOG.md
12
+ Keywords: runbooks,automation,DevOps,SRE,CloudOps,AWS,cloud-foundations,FinOps
13
+ Classifier: Development Status :: 5 - Production/Stable
14
+ Classifier: Environment :: Console
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Topic :: System :: Systems Administration
21
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
22
+ Classifier: Topic :: Utilities
23
+ Requires-Python: <3.14,>=3.11
24
+ Description-Content-Type: text/markdown
25
+ License-File: LICENSE
26
+ Requires-Dist: boto3>=1.40.3
27
+ Requires-Dist: botocore>=1.40.3
28
+ Requires-Dist: diagrams>=0.24.4
29
+ Requires-Dist: click>=8.2.1
30
+ Requires-Dist: pydantic>=2.10.0
31
+ Requires-Dist: jinja2>=3.1.4
32
+ Requires-Dist: werkzeug>=3.1.0
33
+ Requires-Dist: markdown>=3.7.0
34
+ Requires-Dist: prettytable>=3.16.0
35
+ Requires-Dist: simplejson>=3.20.1
36
+ Requires-Dist: python-dateutil>=2.9.0
37
+ Requires-Dist: loguru>=0.7.3
38
+ Requires-Dist: tqdm>=4.67.1
39
+ Requires-Dist: rich>=14.0.0
40
+ Requires-Dist: reportlab>=3.6.1
41
+ Requires-Dist: requests>=2.32.0
42
+ Requires-Dist: packaging>=21.0
43
+ Requires-Dist: pyyaml>=6.0.2
44
+ Dynamic: license-file
45
+
46
+ # 🚀 CloudOps Runbooks - Enterprise AWS Automation Toolkit
47
+
48
+ [![PyPI Version](https://img.shields.io/pypi/v/runbooks)](https://pypi.org/project/runbooks/)
49
+ [![Python Support](https://img.shields.io/pypi/pyversions/runbooks)](https://pypi.org/project/runbooks/)
50
+ [![License](https://img.shields.io/pypi/l/runbooks)](https://opensource.org/licenses/Apache-2.0)
51
+ [![Documentation](https://img.shields.io/badge/docs-latest-brightgreen)](https://cloudops.oceansoft.io/runbooks/)
52
+ [![CI/CD](https://img.shields.io/github/actions/workflow/status/1xOps/CloudOps-Runbooks/ci.yml?branch=main)](https://github.com/1xOps/CloudOps-Runbooks/actions)
53
+ [![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)
54
+ [![Type Checked: mypy](https://img.shields.io/badge/type%20checked-mypy-blue.svg)](https://mypy-lang.org/)
55
+ [![Tests: pytest](https://img.shields.io/badge/tests-pytest-green.svg)](https://pytest.org/)
56
+
57
+ > **Enterprise-grade AWS automation toolkit for cloud operations (SRE and DevOps teams) at scale**
58
+
59
+ CloudOps Runbooks provides comprehensive AWS resource discovery, inventory management, and automation capabilities with enterprise-grade architecture, type safety, and validation.
60
+
61
+
62
+ ## 🚀 Overview
63
+
64
+ CloudOps Runbooks is a production-ready AWS automation framework that combines traditional scripting excellence with modern AI orchestration. Designed for enterprises managing complex multi-account AWS environments, it delivers comprehensive discovery, intelligent analysis, and automated remediation across 50+ AWS services.
65
+
66
+ > Why CloudOps Runbooks?
67
+
68
+ - **🎯 Proven in Production**: Deployed across enterprises managing 50+ AWS accounts
69
+ - **🤖 AI-Ready Architecture**: Native integration with AI-Agents and MCP-servers
70
+ - **⚡ Blazing Fast**: Parallel execution reducing discovery time by 60%
71
+ - **🔒 Enterprise Security**: Zero-trust validation, compliance automation, and audit trails
72
+ - **💰 Cost Intelligence**: Identifies 25-50% optimization opportunities automatically
73
+ - **🏗️ AWS Landing Zone Native**: Purpose-built for Multi-Organizations Landing Zone
74
+
75
+ ## 🌟 Key Features
76
+
77
+ ### 🔍 **Comprehensive AWS Discovery**
78
+ - **Multi-Account Inventory**: Seamless discover resources (EC2, RDS, Lambda, ECS, S3, IAM, and more) across entire AWS Organizations
79
+ - **Cross-Region Support**: Parallel scanning of all available AWS regions
80
+ - **Resource Coverage**: 50+ AWS resource types across all major services
81
+ - **Real-time Collection**: Concurrent collection with progress tracking
82
+
83
+ ### 🏗️ **Enterprise Architecture**
84
+ - **Type Safety**: Full Pydantic V2 models with runtime validation
85
+ - **Modular Design**: Service-specific collectors with common interfaces
86
+ - **Extensibility**: Easy to add new collectors and resource types
87
+ - **Error Handling**: Comprehensive error tracking and retry logic
88
+
89
+
90
+ ### Hybrid Intelligence Integration
91
+
92
+ - **MCP Server Integration**: Real-time AWS API access without custom code
93
+ - **AI Agent Orchestration**: AI-powered analysis and recommendations
94
+ - **Evidence Pipeline**: Unified data normalization and correlation
95
+ - **Intelligent Prioritization**: ML-based resource targeting
96
+
97
+ ### 💰 **Cost Integration**
98
+ - **Cost Estimation**: Automatic cost calculations for billable resources
99
+ - **Cost Analytics**: Cost breakdown by service, account, and region
100
+ - **Budget Tracking**: Resource cost monitoring and alerting
101
+
102
+ ### 📊 **Multiple Output Formats**
103
+ - **Structured Data**: JSON, CSV, Excel, Parquet
104
+ - **Visual Reports**: HTML reports with charts and graphs
105
+ - **Console Output**: Rich table formatting with colors
106
+ - **API Integration**: REST API for programmatic access
107
+
108
+ ### 🔒 **Security & Compliance**
109
+ - **IAM Integration**: Role-based access control
110
+ - **Audit Logging**: Comprehensive operation logging
111
+ - **Encryption**: Secure credential management
112
+ - **Compliance Reports**: Security and compliance validation
113
+
114
+ ## 🚀 Quick Start Excellence: Progressive Examples
115
+
116
+ ### 📦 Installation
117
+
118
+ ```bash
119
+ # Install using UV (recommended for speed and reliability)
120
+ uv add runbooks
121
+
122
+ # Or using pip
123
+ pip install runbooks
124
+
125
+ # Development installation
126
+ git clone https://github.com/1xOps/CloudOps-Runbooks.git
127
+ cd CloudOps-Runbooks
128
+ uv sync --all-extras --dev
129
+ ```
130
+
131
+ ### 🔰 Level 1: Basic Single Account Discovery
132
+
133
+ **Goal**: Discover EC2 instances in your current AWS account
134
+
135
+ ```bash
136
+ # Set up your AWS credentials
137
+ export AWS_PROFILE="your-aws-profile"
138
+ aws sts get-caller-identity # Verify access
139
+
140
+ # Basic EC2 instance discovery
141
+ cd CloudOps-Runbooks
142
+ python src/runbooks/inventory/list_ec2_instances.py --profile $AWS_PROFILE --regions us-east-1 --timing
143
+
144
+ # Example output:
145
+ # Finding instances from 1 locations: 100%|██████████| 1/1 [00:02<00:00, 2.43 locations/s]
146
+ # Found 12 instances across 1 account across 1 region
147
+ # This script completed in 3.45 seconds
148
+ ```
149
+
150
+ ### 🏃 Level 2: Multi-Service Resource Discovery
151
+
152
+ **Goal**: Discover multiple AWS resource types efficiently
153
+
154
+ ```bash
155
+ # EBS Volumes with orphan detection
156
+ python src/runbooks/inventory/list_ec2_ebs_volumes.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
157
+
158
+ # Lambda Functions with cost analysis
159
+ python src/runbooks/inventory/list_lambda_functions.py --profile $AWS_PROFILE --regions ap-southeast-2
160
+
161
+ # RDS Instances across multiple regions
162
+ python src/runbooks/inventory/list_rds_db_instances.py --profile $AWS_PROFILE --regions us-east-1,eu-west-1,ap-southeast-2
163
+
164
+ # Security Groups analysis
165
+ python src/runbooks/inventory/find_ec2_security_groups.py --profile $AWS_PROFILE --regions us-east-1 --defaults
166
+ ```
167
+
168
+ ### 🏢 Level 3: Enterprise Multi-Account Operations
169
+
170
+ **Goal**: Organization-wide resource discovery and compliance
171
+
172
+ ```bash
173
+ # Comprehensive inventory across AWS Organizations
174
+ python src/runbooks/inventory/list_org_accounts.py --profile $AWS_PROFILE
175
+
176
+ # Multi-account CloudFormation stack discovery
177
+ python src/runbooks/inventory/list_cfn_stacks.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
178
+
179
+ # Organization-wide GuardDuty detector inventory
180
+ python src/runbooks/inventory/list_guardduty_detectors.py --profile $AWS_PROFILE --regions ap-southeast-2
181
+
182
+ # CloudTrail compliance validation
183
+ python src/runbooks/inventory/check_cloudtrail_compliance.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
184
+ ```
185
+
186
+ ### 🚀 Level 4: Autonomous Testing Framework
187
+
188
+ **Goal**: Automated testing and validation of entire inventory suite
189
+
190
+ ```bash
191
+ # Test individual script
192
+ ./src/runbooks/inventory/inventory.sh list_ec2_instances.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
193
+
194
+ # Test specific script category with detailed analysis
195
+ ./src/runbooks/inventory/inventory.sh list_ec2_ebs_volumes.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
196
+
197
+ # Full autonomous test suite (20+ core scripts)
198
+ ./src/runbooks/inventory/inventory.sh all --profile $AWS_PROFILE --regions ap-southeast-2 --timing
199
+
200
+ # Review test results and analysis
201
+ ls test_logs_*/
202
+ cat test_logs_*/test_execution.log
203
+ ```
204
+
205
+ ### 🔬 Level 5: Advanced Integration & Analysis
206
+
207
+ **Goal**: Production-grade automation with comprehensive reporting
208
+
209
+ ```bash
210
+ # 1. VPC Network Discovery with Subnet Analysis
211
+ python src/runbooks/inventory/list_vpc_subnets.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
212
+ python src/runbooks/inventory/list_vpcs.py --profile $AWS_PROFILE --regions ap-southeast-2
213
+
214
+ # 2. Load Balancer Infrastructure Mapping
215
+ python src/runbooks/inventory/list_elbs_load_balancers.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
216
+
217
+ # 3. IAM Security Posture Assessment
218
+ python src/runbooks/inventory/list_iam_roles.py --profile $AWS_PROFILE --timing
219
+ python src/runbooks/inventory/list_iam_policies.py --profile $AWS_PROFILE --timing
220
+
221
+ # 4. ECS Container Platform Discovery
222
+ python src/runbooks/inventory/list_ecs_clusters_and_tasks.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
223
+
224
+ # 5. Network Interface and ENI Analysis
225
+ python src/runbooks/inventory/list_enis_network_interfaces.py --profile $AWS_PROFILE --regions ap-southeast-2 --timing
226
+ ```
227
+
228
+ ### 🎯 Level 6: Specialized Operations
229
+
230
+ **Goal**: Advanced scenarios for specific use cases
231
+
232
+ ```bash
233
+ # 1. Landing Zone Readiness Assessment
234
+ python src/runbooks/inventory/check_landingzone_readiness.py --profile $AWS_PROFILE
235
+
236
+ # 2. CloudFormation Drift Detection
237
+ python src/runbooks/inventory/find_cfn_drift_detection.py --profile $AWS_PROFILE --regions ap-southeast-2
238
+
239
+ # 3. Organizations Structure Analysis
240
+ python src/runbooks/inventory/list_org_accounts_users.py --profile $AWS_PROFILE --timing
241
+
242
+ # 4. Config Compliance Monitoring
243
+ python src/runbooks/inventory/list_config_recorders_delivery_channels.py --profile $AWS_PROFILE --regions ap-southeast-2
244
+
245
+ # 5. Route53 DNS Infrastructure
246
+ python src/runbooks/inventory/list_route53_hosted_zones.py --profile $AWS_PROFILE --timing
247
+ ```
248
+
249
+ ### 📊 Integration Examples
250
+
251
+ **Modern Architecture Integration:**
252
+
253
+ ```python
254
+ # collectors/ and core/ directories provide modern modular architecture
255
+ from runbooks.inventory.collectors.aws_compute import ComputeCollector
256
+ from runbooks.inventory.core.collector import InventoryCollector
257
+ from runbooks.inventory.core.formatter import OutputFormatter
258
+
259
+ # Enterprise-grade type-safe collection
260
+ collector = InventoryCollector(profile='production')
261
+ results = collector.collect_compute_resources(include_costs=True)
262
+ formatter = OutputFormatter()
263
+ report = formatter.generate_html_report(results)
264
+ ```
265
+
266
+ ### 📈 Performance & Success Metrics
267
+
268
+ **Test Suite Results (Latest):**
269
+ - ✅ **20/43 core scripts passing** (47% success rate)
270
+ - ⚡ **Average execution time**: 8-12 seconds per script
271
+ - 🔧 **Known issues**: 4 scripts with permissions issues, 19 with parameter dependencies
272
+ - 📋 **Excluded scripts**: 20 utility/support modules (correct exclusion)
273
+ - 🏗️ **Architecture**: Modern modular design with collectors/ and core/ directories
274
+
275
+ ## 📋 Architecture Overview
276
+
277
+ ### 🏗️ **Module Structure**
278
+
279
+ ```
280
+ src/runbooks/inventory/
281
+ ├── 🧠 core/ # Business Logic
282
+ │ ├── collector.py # Main orchestration engine
283
+ │ ├── formatter.py # Multi-format output handling
284
+ │ └── session_manager.py # AWS session management
285
+ ├── 🔧 collectors/ # Resource Specialists
286
+ │ ├── base.py # Abstract base collector
287
+ │ ├── aws_compute.py # EC2, Lambda, ECS, Batch
288
+ │ ├── aws_storage.py # S3, EBS, EFS, FSx
289
+ │ ├── aws_database.py # RDS, DynamoDB, ElastiCache
290
+ │ ├── aws_network.py # VPC, ELB, Route53, CloudFront
291
+ │ ├── aws_security.py # IAM, GuardDuty, Config, WAF
292
+ │ └── aws_management.py # CloudFormation, Organizations
293
+ ├── 📊 models/ # Data Structures
294
+ │ ├── account.py # AWS account representation
295
+ │ ├── resource.py # Resource models with metadata
296
+ │ └── inventory.py # Collection results and analytics
297
+ ├── 🛠️ utils/ # Shared Utilities
298
+ │ ├── aws_helpers.py # AWS session and API utilities
299
+ │ ├── threading_utils.py # Concurrent execution helpers
300
+ │ └── validation.py # Input validation and sanitization
301
+ └── 📜 legacy/ # Migration Support
302
+ └── migration_guide.md # Legacy script migration guide
303
+ ```
304
+
305
+ ## 🧪 Testing & Development
306
+
307
+ ### Running Tests
308
+
309
+ ```bash
310
+ # Run full test suite
311
+ task test
312
+
313
+ # Run specific test categories
314
+ pytest tests/unit/test_inventory.py -v
315
+ pytest tests/integration/test_collectors.py -v
316
+
317
+ # Test with coverage
318
+ task _test.coverage
319
+
320
+ # Test inventory module specifically
321
+ task inventory.test
322
+ ```
323
+
324
+ ### Development Workflow
325
+
326
+ ```bash
327
+ # Install development dependencies
328
+ task install
329
+
330
+ # Code quality checks
331
+ task code_quality
332
+
333
+ # Validate module structure
334
+ task inventory.validate
335
+
336
+ # Full validation workflow
337
+ task validate
338
+ ```
339
+
340
+ ## 📚 Documentation
341
+
342
+ - [API Reference](docs/api-reference.md)
343
+ - [Configuration Guide](docs/configuration.md)
344
+ - [Migration Guide](src/runbooks/inventory/legacy/migration_guide.md)
345
+ - [Contributing Guide](CONTRIBUTING.md)
346
+
347
+
348
+ ## 🚦 Roadmap
349
+
350
+ - **v1.0** (Q4 2025): Enhanced AI agent orchestration
351
+ - **v1.5** (Q1 2026): Self-healing infrastructure capabilities
352
+
353
+ ## 📝 License
354
+
355
+ This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.
356
+
357
+ ## 🆘 Support
358
+
359
+ ### Community
360
+ - [GitHub Issues](https://github.com/1xOps/CloudOps-Runbooks/issues)
361
+ - [Discussions](https://github.com/1xOps/CloudOps-Runbooks/discussions)
362
+
363
+ ### Enterprise Support
364
+ - Professional services and training available
365
+ - Custom collector development
366
+ - Enterprise deployment assistance
367
+ - Contact: [info@oceansoft.io](mailto:info@oceansoft.io)
368
+
369
+ ---
370
+
371
+ **Built with ❤️ by the xOps team at OceanSoft**
372
+
373
+ [Website](https://cloudops.oceansoft.io) • [Documentation](https://cloudops.oceansoft.io/runbooks/) • [GitHub](https://github.com/1xOps/CloudOps-Runbooks)
@@ -0,0 +1,237 @@
1
+ conftest.py,sha256=HTnQMw9wxefkvX5q4yG8EUH2qVLJBnC9QCt3UCltw7I,586
2
+ jupyter-agent/.env.template,sha256=xU2MQ80zvx2mYr_n3alar7oop9mdhonU6xNVEQGlzwY,71
3
+ jupyter-agent/.gitattributes,sha256=Ea1--iSXXuSww8OjjtGHN_Blil91oKlnh7V2p4oCM2E,1519
4
+ jupyter-agent/README.md,sha256=WJ7zUhaFaDl26cH6mcWimqkpN04TJhIH4TKiyd6MDI0,370
5
+ jupyter-agent/app.py,sha256=8UR8AzqrJYHWr2bpj-mOSuPHLYzd8AWVJbxnM43h5Q8,8727
6
+ jupyter-agent/cloudops-agent.png,sha256=A4e0WfpihWVHFtz0Yj09Y9uci-IWF4gdpnZifACzdT8,408376
7
+ jupyter-agent/ds-system-prompt.txt,sha256=YZydzHqxaHgXVPORiltlWDg3rK-c-a2Dlx0BAj2dfsg,5034
8
+ jupyter-agent/jupyter-agent.png,sha256=KJjLvoWAnuhSaEsWBW8PHwouzk2sVC84PTtSuMDEg3o,438042
9
+ jupyter-agent/llama3_template.jinja,sha256=gywY7mJ14M-VeCSs0LLFO-Nt3S7XEJaQQ-KuzorzuEs,5198
10
+ jupyter-agent/requirements.txt,sha256=OrwjCjWcVo8lp82yY6Sor2r46mxhqMfkFiH6PBphtA0,173
11
+ jupyter-agent/utils.py,sha256=MGsDPI6a2OYc39wwSeg8oAM69U_k8mMSzegwT1cyp_0,13067
12
+ runbooks/__init__.py,sha256=jkBN-97Rp-XYcLPz8QO8chA0qwnWe693gORgTmF3NQY,2021
13
+ runbooks/__main__.py,sha256=0hTPUA9KkLm_H_COqaIpNzXvC4Lv5b_XYYBV6fUFDrM,241
14
+ runbooks/base.py,sha256=SE31vwKB_CW2C0w2Onb7QfjU2xJXcUbiYTSHBDWT7KE,11593
15
+ runbooks/config.py,sha256=63Bct1jASQG3mjPTNnzfJwTMgXzG8aQqVsaku6ugZR0,7839
16
+ runbooks/main.py,sha256=wkYdo-zEV2zXx2D8KpEJizSH9O57Yl_jICw2F0LsW_o,28736
17
+ runbooks/aws/__init__.py,sha256=iswGPspnFaHLE_Zzw2uRraYI2zvJ1Nma5PbdOiBUdEo,1646
18
+ runbooks/aws/dynamodb_operations.py,sha256=c91YACBHnOELL8Ufj7tRQws9azGqnB6flQsacTi57xQ,6490
19
+ runbooks/aws/ec2_copy_image_cross-region.py,sha256=2Afoo2ddzswgtdhdzsDq5aZiqXkQ0_kUyRdHbhkaLAA,6017
20
+ runbooks/aws/ec2_describe_instances.py,sha256=0S9iY-J_dSOeve0HyeuVu4s01oCgPjdz3DYHhnJo-9w,6545
21
+ runbooks/aws/ec2_ebs_snapshots_delete.py,sha256=LwaGGAg_7tdqic1thBLywlHKjMSMyye2B79d4yNtK78,5886
22
+ runbooks/aws/ec2_run_instances.py,sha256=ZpqGXN2yeXz7jYwsL7EZrQsfaYxzRoH5UIrDeksmPRI,6885
23
+ runbooks/aws/ec2_start_stop_instances.py,sha256=M4adf7DZI176aWfb7oeT_pYjrs-IbZ9moGoVkIco7Fw,6035
24
+ runbooks/aws/ec2_terminate_instances.py,sha256=p8ZHHDkT--rlOFah82hG6SJpty4rYZa4hn3yq4MqvQI,4692
25
+ runbooks/aws/ec2_unused_eips.py,sha256=04pjoeSwm-CfJKT6u9XuHa_D-iK5r9D65FaisQy00Zk,5535
26
+ runbooks/aws/ec2_unused_volumes.py,sha256=ZnLr-LHVHoznmij8r2RtZ5Y3W7bBAklophnJKQmN6lg,5733
27
+ runbooks/aws/s3_create_bucket.py,sha256=UhQML3KWflvvKmEZFod4tYPzIukCGRJdmBXSfB3ne7w,4216
28
+ runbooks/aws/s3_list_buckets.py,sha256=sHh05_KrvpLzOlGZJy8nxTAfTuMaVtMIhb3A9nLh_rQ,4752
29
+ runbooks/aws/s3_list_objects.py,sha256=idwrfbjqEwF5sHFSJRhNb6X38P3tTscCwv0IwKm0NuA,4634
30
+ runbooks/aws/s3_object_operations.py,sha256=46l8v0Xt8pJhTuMjCyLDSLsU06WGxWKad99nQ91o2hg,5400
31
+ runbooks/aws/tagging_lambda_handler.py,sha256=NZwzlI3NwEKsLk3b-a_rq3EjMLQ9hUKWi_pzhomvWws,5433
32
+ runbooks/aws/tags.json,sha256=-Y77SDvrvn0sCdsxgdRwu0sl0mih2Ib_N6nGi-UtE5U,513
33
+ runbooks/cfat/README.md,sha256=ovKuVTxIJWqRmkTK1JGTNkG25Sufe918wYAFA86_SS8,4917
34
+ runbooks/cfat/__init__.py,sha256=4CAtXB-hUUgkZnp_QefbADpMAcTlXI-zDGyHgBlprAI,1876
35
+ runbooks/cfat/app.ts,sha256=EwpA9bQzkoH1qqTJ_Tco47PwVG2zTv4g8ZmEGYpWYlU,27785
36
+ runbooks/cfat/cli.py,sha256=37KUY-ObzMcB7xYs2R8Q40djLFnBgLhBnUXujvn2M7s,3483
37
+ runbooks/cfat/models.py,sha256=gh-7XmqEH9PvqrmxtmIhWoKGpGcFTWr1pah_9iNrLxM,37960
38
+ runbooks/cfat/package-lock.json,sha256=zRmjHmoieoF9UiNPZWPgsqo9Hq4LCE_pt59OZ2-hBn4,185693
39
+ runbooks/cfat/package.json,sha256=lQEq_Xh4xzCJYKgZRZoVs1R3i6W-_Xx6UV3et4mA37c,1133
40
+ runbooks/cfat/report.py,sha256=5QMCRcovPTSMfANRw6HbD_Ek6YlhwrapjkkpYQQWOiA,15452
41
+ runbooks/cfat/run-assessment.sh,sha256=VecBju8Jh0_ZH_ZN_OT1nJopu_lOnW7c7Aq_kK9AsGA,724
42
+ runbooks/cfat/runner.py,sha256=_7Adcd26Hy_m8QaDPMfakCK2Y7IfaDAxtEwopF9aP-Q,2213
43
+ runbooks/cfat/tsconfig.json,sha256=nNcqptUlfNwxcbSaPgNvX3fYLF3Nz10sN-GmyqR-Zhc,375
44
+ runbooks/cfat/webpack.config.cjs,sha256=37hj9MTrbMsTd-42xSp6gOw0W-yTwD2cRI9gzI6QNMI,597
45
+ runbooks/cfat/assessment/__init__.py,sha256=wXJhbHSUqYkJtIu9Vlz2UGV_VuKag5p5xAesfIdrPaE,1023
46
+ runbooks/cfat/assessment/asana-import.csv,sha256=oPGO9FJaUwqfYVFPkj04i-O_CKcW-0lOZfuyAJhAcq0,9532
47
+ runbooks/cfat/assessment/cfat-checks.csv,sha256=1C1zV058esQbSSzycATb22lAdRSwr4hzo4J09VzkzYk,6446
48
+ runbooks/cfat/assessment/cfat.txt,sha256=tS23zcYBwScNTEorQ__9KD4fnVaK0b_B2YONYwpGbaM,31890
49
+ runbooks/cfat/assessment/collectors.py,sha256=8nGKFtn4_niw48chZDj2aj4g21FqdWe2pgsyRmYlXd4,5419
50
+ runbooks/cfat/assessment/jira-import.csv,sha256=N3ydOtRPLB7NQ263FgFsGLnyJQ_9oSpnMRrfouwipIY,4887
51
+ runbooks/cfat/assessment/runner.py,sha256=nQik7cDLh_AEPgFJoePgUBzp4yQmVAfufxD_XqYhtQ8,14838
52
+ runbooks/cfat/assessment/validators.py,sha256=NhD_xuq9mdqR8q9KbChTLE05N8MssKpUI9bfvx9JET8,9628
53
+ runbooks/cfat/docs/asana-import.csv,sha256=MR9kKhGdJfTiLwkSyWTpagaU0fcHckCwjSw72ztHuxY,6064
54
+ runbooks/cfat/docs/cfat-checks.csv,sha256=YLI10fexN-x8k9YOxdRRBuEGoUSLr_ANGqXxOhOdnCM,6431
55
+ runbooks/cfat/docs/cfat.txt,sha256=jd8WfVaUMFSVyERI-f0-oZ15P2LP3sGxkWfYN0xmJZI,23917
56
+ runbooks/cfat/docs/checks-output.png,sha256=4a_Fy5Uyn02SuoqpzjXoeqU7g4NS4lscW4JxE3t9474,282007
57
+ runbooks/cfat/docs/cloudshell-console-run.png,sha256=lwHe9zOExZbdqmsMz04I1hpe0AhvNnXRlKTBongGZqs,132571
58
+ runbooks/cfat/docs/cloudshell-download.png,sha256=dKQedJJLBmev0z86MP9I2DJKb8bLC9EoV9W5QqfFvkM,93567
59
+ runbooks/cfat/docs/cloudshell-output.png,sha256=NbgmT9eFHo4gcMzXRA9LojF2so8ZshX7F0kc0PuhXIs,165591
60
+ runbooks/cfat/docs/downloadfile.png,sha256=Wjdgtng1_B5dNaOm0UJkHGOsRFXDMxvIawFBsUqeWSk,81141
61
+ runbooks/cfat/docs/jira-import.csv,sha256=yHlO7W3miXcsA6qhOIoZGEQtGqKVKz2P_vWmEeMvAPg,2901
62
+ runbooks/cfat/docs/open-cloudshell.png,sha256=_v41CuRZGoNlWZJCAxNBJxkS1CebVXwVMPj27zKlEno,45648
63
+ runbooks/cfat/docs/report-header.png,sha256=AhS-UWXRwYt3MGq26LY0QzncFsQ_Ttvzs4A4eyMmbjM,39518
64
+ runbooks/cfat/reporting/__init__.py,sha256=mrmfxIII9wS6dfb9Y73TVBU9CPioMNPZ6AbLjawY7fA,1136
65
+ runbooks/cfat/reporting/exporters.py,sha256=h0j0w5Ippe8MvJADpFGHPmyL7gPZtKUSP9uNpAf9jrY,11138
66
+ runbooks/cfat/reporting/formatters.py,sha256=5QMCRcovPTSMfANRw6HbD_Ek6YlhwrapjkkpYQQWOiA,15452
67
+ runbooks/cfat/reporting/templates.py,sha256=fH1POInjxp9XAucVF2earmcTvBQb69nL1copZI3fcCI,3743
68
+ runbooks/cfat/src/actions/check-cloudtrail-existence.ts,sha256=AQ2lQcc5RAQLXFEm9TVGqrYHwAIW-kEa1_SmandGyis,1456
69
+ runbooks/cfat/src/actions/check-config-existence.ts,sha256=TZWElaMMT176MIhWp3_M6GygmqMqbArUgKBwwe7anSY,1455
70
+ runbooks/cfat/src/actions/check-control-tower.ts,sha256=emS0mJsGxjrwwD2RBv3OVq6EAyCAmD_LTiIYl9yudvQ,1600
71
+ runbooks/cfat/src/actions/check-ec2-existence.ts,sha256=ZJ-kdfvSd9T3lK6cyZj-GSoX2fQwOYTDuW2zPw2iUKQ,1301
72
+ runbooks/cfat/src/actions/check-iam-users.ts,sha256=cLdJK0u_suXiACP3CHjHeZNMhajLFR4rA6sH84U3aLo,1953
73
+ runbooks/cfat/src/actions/check-legacy-cur.ts,sha256=KIO7DcIWdhL8Sfm_Hl4TZSjZyzfXQrcjQT1fD3LJbFk,988
74
+ runbooks/cfat/src/actions/check-org-cloudformation.ts,sha256=WPxyE9hSplXa1hycb-3Cf7WFYB0PV3zL9Kd6782dba4,1048
75
+ runbooks/cfat/src/actions/check-vpc-existence.ts,sha256=m3MtrkskuLPqkvfgotu4npvzc56URT1PsN8SD5_HPlg,1145
76
+ runbooks/cfat/src/actions/create-asanaimport.ts,sha256=mdBUImRQLntZcVI7I2tMyLfPHznN_QFGTDA45gKviKk,428
77
+ runbooks/cfat/src/actions/create-backlog.ts,sha256=kVlY2YBp4cCV2z8Gm9M2uKFPS43G7oZu1rGND9rCq78,17317
78
+ runbooks/cfat/src/actions/create-jiraimport.ts,sha256=JtE28_pIEDQJ_3TIv1TiMMdIWUd31DTR1scq8NEWtiU,396
79
+ runbooks/cfat/src/actions/create-report.ts,sha256=a3PTo6MYY2fGjzyb6GyLHX1tIbCqO1ED-b0GzqMpP7w,33906
80
+ runbooks/cfat/src/actions/define-account-type.ts,sha256=zBG3uwQJ9FR-0_J6o_45KIiTzkFdlbQNXSLJlhekGLY,2085
81
+ runbooks/cfat/src/actions/get-enabled-org-policy-types.ts,sha256=Sp4U6q1qJ_HzvgfLn3lYyebCs-YLiAbU4YxLSgRjB3I,1553
82
+ runbooks/cfat/src/actions/get-enabled-org-services.ts,sha256=2FcxThAApNtO6ig2DejK1Vejs9ju6WyFoFF7tF0urVs,1220
83
+ runbooks/cfat/src/actions/get-idc-info.ts,sha256=rt90yRWCnT1xYuDyYoueGYUdTty3cVVhYH24QCoCd7E,1092
84
+ runbooks/cfat/src/actions/get-org-da-accounts.ts,sha256=XyhzdUhybLLEgvTO5uRXrFC34AQ_JMY-q-waRnMWUyA,1267
85
+ runbooks/cfat/src/actions/get-org-details.ts,sha256=YqzdTRjXyZkC7DJX6Lvq-dZ2WqjvekQdwscfwO57-6o,1310
86
+ runbooks/cfat/src/actions/get-org-member-accounts.ts,sha256=vOMYwcHIjGm5u75ces5-sdSsFglzHr5XZvT9sxgb7bo,1568
87
+ runbooks/cfat/src/actions/get-org-ous.ts,sha256=eP4i5CIN3UsP8_wx6PN4CfokGG21KWtqRKDTBkRTHsM,1316
88
+ runbooks/cfat/src/actions/get-regions.ts,sha256=Yh1FYD0tlaBdOlRImTW1o9pbIwchulYgziZcStgwzKI,710
89
+ runbooks/cfat/src/actions/zip-assessment.ts,sha256=zkn6R6Ig_S8OQMg8_gL-r_5Cmwbv6BYMeGC9HxK4zxg,936
90
+ runbooks/cfat/src/types/index.d.ts,sha256=sHx_eV4uxRZc7KjiFryqHGkzGvJ-MxxmLLYb2qk2Vl0,2932
91
+ runbooks/cfat/tests/__init__.py,sha256=Z1n7BzG5FTFXduCISbEj2d4HOG6BcMULBoiRGJqizB0,4533
92
+ runbooks/cfat/tests/test_cli.py,sha256=6FGIKozOuZUroftmbNCVaT2YlSwStwyWu2yEBjcoHq0,15111
93
+ runbooks/cfat/tests/test_integration.py,sha256=L4kkWW41Jsuzn4Tv-z_a5cY6xOo_aHzCAVjlmuGHuew,12281
94
+ runbooks/cfat/tests/test_models.py,sha256=16Dcdty82_yotJ2ngBbgydCy9BDamxtMZrs4a1t-mVM,18267
95
+ runbooks/cfat/tests/test_reporting.py,sha256=ysPZSAFgCQ7oIkOdBxUrlCiyZBhWDpcnp0I2cv3k9_Q,12631
96
+ runbooks/finops/__init__.py,sha256=vGrRIxipstx9QFwA9vrWclic8XKKrOLLWiGr7a3JF8c,2273
97
+ runbooks/finops/aws_client.py,sha256=o9ShoAH_V1QKBlq2Li4VTrjnXNj3ezgGvenJAiPUbjY,9379
98
+ runbooks/finops/cli.py,sha256=HqU0CPhVrqD0WSxckpeHYRnJWZTAIqOygjfnflNZaoE,5227
99
+ runbooks/finops/cost_processor.py,sha256=BNyG9HpkAI27UFcoRurP3Tz1Q4BV9u_fVk6wVzf0ysU,15042
100
+ runbooks/finops/dashboard_runner.py,sha256=JDNx-MqmDuGEZXPhRTDaxlAcjzmvMpjXhOEwIkj8n2A,18281
101
+ runbooks/finops/helpers.py,sha256=TlFXLZ7oJViYlKWk7MpbWDVlG71jM8C61dM8r5yjNMw,12805
102
+ runbooks/finops/main.py,sha256=W0Lnr3GJN7Tp4QL0x09GROOc7fnttpdRmd3N3T5eULo,288
103
+ runbooks/finops/profile_processor.py,sha256=r39GYdO-v-iio13D3_yFv2Itjq-hbaiL56VXeyfU6yo,6189
104
+ runbooks/finops/types.py,sha256=Tk7sMVh-9LXxrU6IKDa6RMlxK7H3HkWUKvs1yctD_yQ,1592
105
+ runbooks/finops/visualisations.py,sha256=BI6cBsKSNUcjqnEukMzHxZzqyv12w3TRj2zvN53-Rbk,2737
106
+ runbooks/inventory/.gitignore,sha256=qqVQodfb6iNuPRM7fsl7lvqxrJaatKNQqQmX7s1_PPg,5563
107
+ runbooks/inventory/ArgumentsClass.py,sha256=BwquO-iYZNS_fVxgASrksanzoAN_NPCzRpTAyohRLX0,8621
108
+ runbooks/inventory/Inventory_Modules.py,sha256=4bBfezmCtsT-r0YU7Rhfv94rxhfPfStrUkPF4q009uI,285209
109
+ runbooks/inventory/README.md,sha256=gCubMJ8mp09hwPccr2GDbUgiFr8CoCsakp1kHHAApTU,43221
110
+ runbooks/inventory/__init__.py,sha256=J-MoV_B5ScwlqfLEZv7ZRF7iTai5Hsya0c4tiNrrVE4,2039
111
+ runbooks/inventory/account_class.py,sha256=wvYNeiXHq6tk8Pqa95Aa91zAtuBXcnE51NonzDueuaM,26361
112
+ runbooks/inventory/all_my_instances_wrapper.py,sha256=B_nHnXOFle6_LU1YnZd38uMZNV6pIONh4EvCyO-lwzw,5723
113
+ runbooks/inventory/aws_decorators.py,sha256=_3QWqih_J6tgs7_dnJwp7Al7OI0qImZpFMyO4E-bMZE,8605
114
+ runbooks/inventory/cfn_move_stack_instances.py,sha256=cwyOdgQCcrfQqQjPDlTZStEUUN8jp691Mwggniyx-NM,73797
115
+ runbooks/inventory/check_cloudtrail_compliance.py,sha256=rQGKuJefqBa1LCfTsVgKJ_GiP3HKqgpYX77iclOV2ko,33652
116
+ runbooks/inventory/check_controltower_readiness.py,sha256=2elNsYY_PYhcQeyjcnB4NTbZVUrHnXU70OjrzwOpwVI,56076
117
+ runbooks/inventory/check_landingzone_readiness.py,sha256=K7UayaO7QRIhNa0ewZk-Ks4iRAjUPVgMFfjkbgHVOYw,35934
118
+ runbooks/inventory/cloudtrail.md,sha256=wMgU8ki4fWjoiO9SdDGxRADtdVUVEmD6KD4tjyFtLQk,21929
119
+ runbooks/inventory/delete_s3_buckets_objects.py,sha256=o7nQQRdOXa3oW0Kfd-f1RwuLA7O5aLhg5gium3djjC0,6007
120
+ runbooks/inventory/discovery.md,sha256=cKfHx4EFMLnH3R0VIaQ3_ygx9rvAA96tC2mWqQNxowA,6079
121
+ runbooks/inventory/draw_org_structure.py,sha256=gMrXIs0FQkUCPgTRbTRwgTqLWBNzbcHZ6FFQ5L9hy0k,29769
122
+ runbooks/inventory/ec2_vpc_utils.py,sha256=bQWvEhe6hqxfj-hgpwu_ZZ9YJbfKiEbgJcAFWhwih-M,16627
123
+ runbooks/inventory/find_cfn_drift_detection.py,sha256=4kHHu4I6jBHqM9L6lFabMDVTiafaDmhA1UnXsxzgwiw,13169
124
+ runbooks/inventory/find_cfn_orphaned_stacks.py,sha256=dV9AABIrD6ccOTnSCTUA6H0t_OOs4EDW_Jn6h3RKReY,38021
125
+ runbooks/inventory/find_cfn_stackset_drift.py,sha256=yRGpH8535sXy4hMoh3s5q8IkLhTUuF54urznfRJz8f4,38128
126
+ runbooks/inventory/find_ec2_security_groups.py,sha256=f-I5Xp4e3A36za4sKEwYm_WkleJkSwcCdLlLxeFOsBs,30956
127
+ runbooks/inventory/find_landingzone_versions.py,sha256=4oYfgmH4fJ40F3YuQKAhCcBuLHRgie4fTLCftPaQXhE,10277
128
+ runbooks/inventory/find_vpc_flow_logs.py,sha256=BRwjqb4BD0K97uv8cabpn5nN1iL0DmVkClmX01hAfoA,65119
129
+ runbooks/inventory/inventory.sh,sha256=WXmBEpi9OpTu24US9LhW5PC-z6jSwTN0jdwlt-p3aok,23939
130
+ runbooks/inventory/list_cfn_stacks.py,sha256=Drgi_7RUaIZA-Z4L-eMEvmmT6nqlj-oGvwBOGOmRKlw,22399
131
+ runbooks/inventory/list_cfn_stackset_operation_results.py,sha256=1kjuv5uL-ioIWa7Dkx45XAEw3aFRClFTG8Qx1r44pSQ,12847
132
+ runbooks/inventory/list_cfn_stackset_operations.py,sha256=lYsrZ44xiHkmjKdDQLaVzm7zcabGG91N-7EWtzmWcVU,38317
133
+ runbooks/inventory/list_cfn_stacksets.py,sha256=YdEl1VogmbiYOI_fH8XdIlVCoAhk653zWuOrj7zlWos,21794
134
+ runbooks/inventory/list_config_recorders_delivery_channels.py,sha256=fCNJPpVCMlKVatrw4JsK3VSplaOkSPqChw2ufkQflQ4,36851
135
+ runbooks/inventory/list_ds_directories.py,sha256=6DZZTLHktfEeP0N75Pa0dS6nosReYR_lDwrGn97D0Mw,18923
136
+ runbooks/inventory/list_ec2_availability_zones.py,sha256=pXIhKQPyawbSWO78H1x9z15XJ81RwOU2WZd77QOsH5k,12786
137
+ runbooks/inventory/list_ec2_ebs_volumes.py,sha256=0r7d1rNbjrbZgAxJBKiT02lF7keadUa9LEgk_pnXpeA,9253
138
+ runbooks/inventory/list_ec2_instances.py,sha256=_GV9kCFLKrjh6e1AakYYLZZolxpBSugCjXUAASEbYAk,18881
139
+ runbooks/inventory/list_ecs_clusters_and_tasks.py,sha256=GoUJWb2mSFC7HSPw_s4IfN5QEx3a87SAf9nTGXvPnM4,30547
140
+ runbooks/inventory/list_elbs_load_balancers.py,sha256=r9b_KHy_J3AdcRjvq6RN55aWtiEcVXuciiE1O3yBEBY,20425
141
+ runbooks/inventory/list_enis_network_interfaces.py,sha256=2qWlSGUxnjsYowREPbL01LKcK3yFASRc8DVuRBCLij4,25840
142
+ runbooks/inventory/list_guardduty_detectors.py,sha256=ffBpQ2ZGj9MUkfMBccbJlaGhpE0IfaxuBbgZWgTCiZU,31495
143
+ runbooks/inventory/list_iam_policies.py,sha256=swwgmNOBzdM8bZpiaz-jAluvU1lDW2-iuWlwzDVenTU,18247
144
+ runbooks/inventory/list_iam_roles.py,sha256=CDU-FgAH67Fwyp7S2F3DRSFwwXDbH0Z9WLsPiwJmlsQ,22095
145
+ runbooks/inventory/list_iam_saml_providers.py,sha256=5jXUaWG_ItrLMIFrX-5m3mS2-cYabS03g6zS56q-NL8,16714
146
+ runbooks/inventory/list_lambda_functions.py,sha256=lEwLMDmt1E-d28XjzhhGI5CJPY5drMJmMyng1OR9dAg,42879
147
+ runbooks/inventory/list_org_accounts.py,sha256=LWcp9DHPvgP_RzqZ-G9e6XKEVKGbvoXqHfzj9cSO250,19149
148
+ runbooks/inventory/list_org_accounts_users.py,sha256=Duh8jtpR4WC94OT7b6AnQcywgFe3_nt1VcO08s1al5k,16512
149
+ runbooks/inventory/list_rds_db_instances.py,sha256=Mc0NA6Y8PSquwz4sGZMGTjt4Fr4ZZtoUY05IwxLHpVs,17288
150
+ runbooks/inventory/list_route53_hosted_zones.py,sha256=-Ypx5Krc6jkj2iiUe0o3SBcH7MvRYuA4xjhly83KwCA,13643
151
+ runbooks/inventory/list_servicecatalog_provisioned_products.py,sha256=8nxDdA9ybmFVu974ajf8rmTTlnxLnV_shqaIQfKl62c,27721
152
+ runbooks/inventory/list_sns_topics.py,sha256=qn1YlsZtpZSdC7lbFudBZCgW8w8DwUlVpzAW6B99-Z8,15004
153
+ runbooks/inventory/list_ssm_parameters.py,sha256=uA-69R5fGK-cPntBhliffPfki5igDQReD5q0XKHtUj8,19881
154
+ runbooks/inventory/list_vpc_subnets.py,sha256=HcKjbmU9mydJhC7QQ4f4C4MzRF6pY9xf-gCdE_42DnI,19001
155
+ runbooks/inventory/list_vpcs.py,sha256=b_54AqH_IgpJ_Qe4VcU-XKmvhfmc5rEJBLWldZw2lF4,18120
156
+ runbooks/inventory/lockdown_cfn_stackset_role.py,sha256=1qiG845cVpab3tzLT9JmVTPq4CufSExNQQRd1rm1kHo,8282
157
+ runbooks/inventory/recover_cfn_stack_ids.py,sha256=_KgQgDgZRxeyzUb5im6RM-gORZL9WmD03jKpruwp3os,8638
158
+ runbooks/inventory/requirements.txt,sha256=W8mvfeKf86CfTIeRJyqa978xJ77Cjfh4mlQ3Gb4YrCc,213
159
+ runbooks/inventory/run_on_multi_accounts.py,sha256=ecyzqffcHAoWovjoUlT643duC3sCdpCAz6z-S8vEIwU,8586
160
+ runbooks/inventory/update_aws_actions.py,sha256=y95kGJQFCt94OMWW6Dgx_R0dCJHbpx9FUQhOsfBsICc,5594
161
+ runbooks/inventory/update_cfn_stacksets.py,sha256=OlAQVT34zm1gJRp90e0GIyCWFHNzL99r9MjPxGVgwyo,64229
162
+ runbooks/inventory/update_cloudwatch_logs_retention_policy.py,sha256=WSjxo0Jiuqs_HrTKvTYBH9ISakXpusf4Iz5c45XfqdQ,12340
163
+ runbooks/inventory/update_iam_roles_cross_accounts.py,sha256=BfOqs4vdvkGVh9JvQtYr7kbG8Lmq2APQWi4vW3R84jY,21038
164
+ runbooks/inventory/update_s3_public_access_block.py,sha256=zLx4_eruUbXxsqlOcNbqcVNs7_FWjk87UdQDL3IPylg,22916
165
+ runbooks/inventory/verify_ec2_security_groups.py,sha256=iFX5AlRJWaU0DP-gwdOrsXc3zNwsRZbjZeyjcn0YMUA,68221
166
+ runbooks/inventory/LandingZone/delete_lz.py,sha256=hMwv-T8RTjQQdx9oLelABibFHGD9TFR0xkI_Hgfabw0,48920
167
+ runbooks/inventory/collectors/__init__.py,sha256=RcAYtYm1hPeAfK0QenfRRTSkE78_tTY-XKEvidjQARA,690
168
+ runbooks/inventory/collectors/aws_compute.py,sha256=MzxNqE1YWRdTVtLyJNNXgWabyvLU1kKoiKpe9Cn0RdU,21018
169
+ runbooks/inventory/collectors/aws_networking.py,sha256=qkH9j3mwko3pXYmSiIk_Nt9FhFZOi678eI9HZTW9yhY,11449
170
+ runbooks/inventory/collectors/base.py,sha256=cOFE-zUOOWYQJPxK0p9lwqPfBopS_bfX_LBrc9qq5TY,7371
171
+ runbooks/inventory/core/__init__.py,sha256=kCH8dKMGp3bAYNPQI7OegiQdglV0G1k36gUtAKT6avE,562
172
+ runbooks/inventory/core/collector.py,sha256=YYeAKgbVlJmltwZoPBCtacTSz5HYTwkEjL7z2IWjEcE,11769
173
+ runbooks/inventory/core/formatter.py,sha256=0GTQH8StHenETc0oGB8DRqASB0P1dQMwkLr9oiNATT4,12643
174
+ runbooks/inventory/models/__init__.py,sha256=LjW8NAHcDeBFvjXjAZwoo73xwQHid8f1-FiEn376omc,788
175
+ runbooks/inventory/models/account.py,sha256=G-7NtoRi8VRX6B0VoMF4qirwTNU_3ukMRGThylQKEbA,7109
176
+ runbooks/inventory/models/inventory.py,sha256=zNaQLvpshWeljbnbaTAeQ_6rJZ4HDPpwPovY7LfwrFY,11434
177
+ runbooks/inventory/models/resource.py,sha256=mSTpOv0EE5t-jZtLofsovXb1bpG9EE2HTU_0KjeE8Jo,8539
178
+ runbooks/inventory/tests/common_test_data.py,sha256=M4qRXxYu-WphsJnnumG0P7ENK3OX1Gh2AoCxFN71U4s,180677
179
+ runbooks/inventory/tests/common_test_functions.py,sha256=WKeLHuAclroH1Jhc2RyDU9L7d9L4nH6fIFS2NjNtokE,8710
180
+ runbooks/inventory/tests/script_test_data.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
181
+ runbooks/inventory/tests/setup.py,sha256=hig677ZZWySuWa5nlL1McAjLR3JMaFP1w6ysS9fISeg,698
182
+ runbooks/inventory/tests/src.py,sha256=5JhsRWGkrukMa8vGXbei64z_0j9K7c7uNmHk-TK8ZXE,641
183
+ runbooks/inventory/tests/test_cfn_describe_stacks.py,sha256=0Lt9pU8rlhnDo1-AnQLlSYSIzr3jl-NB6NUjj8QnRmI,7793
184
+ runbooks/inventory/tests/test_ec2_describe_instances.py,sha256=TPwK-sW3H3da30s1e-toJRpKJDhAZqE7l9sbh99buKc,8314
185
+ runbooks/inventory/tests/test_inventory_modules.py,sha256=OcGqt_Za3Se2hRbDidbcd-WZQfR3IOhsLBnAOsNhz14,2164
186
+ runbooks/inventory/tests/test_lambda_list_functions.py,sha256=4sABlsEVTxGzGtFVT5k4K5bYzK9YsX828_2_RkeHQas,3163
187
+ runbooks/inventory/tests/test_moto_integration_example.py,sha256=mBS6Tnr5Wd2EfzhhnbCqZxMEsPdjNPtu8PDrzsMT3JA,9357
188
+ runbooks/inventory/tests/test_org_list_accounts.py,sha256=otlaEcVED1bJEkwxWu0zrmMDM9JX5fvw72V0kD17j38,2233
189
+ runbooks/inventory/utils/__init__.py,sha256=c6bQD-Foq3U8tw-JK8PYR-o8K5MwJ3mJWkKi2UbDLtg,830
190
+ runbooks/inventory/utils/aws_helpers.py,sha256=rg1L69An3PLVWrTTiHGjL29Z8N51rOVYLostN8CCcwk,17124
191
+ runbooks/inventory/utils/threading_utils.py,sha256=ckizvb0QSWx1xkDanvaoUOCHaXOm2E6Abg1VQFxfJrU,16067
192
+ runbooks/inventory/utils/validation.py,sha256=HoQmEr9CSEfS1yF0uyCAW5TKlG-u9-t-YRouThSBxeA,19803
193
+ runbooks/organizations/__init__.py,sha256=R-33CAEz_sRPNfP_JCWiPbCQn4CSe6UxvpMEnT4H3AI,251
194
+ runbooks/organizations/manager.py,sha256=p9vUcGc1jGx5ke88EQ08ccexZ-TyppwU7_V5otXBJIg,14383
195
+ runbooks/security_baseline/README.md,sha256=VnWKeIXRljlscday8lwktKBMsl6Riv42peywsKRm68w,13126
196
+ runbooks/security_baseline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
197
+ runbooks/security_baseline/config-origin.json,sha256=3mijAIymVtkf1V_BzDJPnQSBSFjrYyL-wrPBH3t8gXQ,1009
198
+ runbooks/security_baseline/config.json,sha256=3mijAIymVtkf1V_BzDJPnQSBSFjrYyL-wrPBH3t8gXQ,1009
199
+ runbooks/security_baseline/permission.json,sha256=3p9xDYEKLfOT171GE8gV2dAjgw2TFNoggGB65w2q-L8,1261
200
+ runbooks/security_baseline/report_generator.py,sha256=KUDGJDGL7XrW1LT_KmPpED5ZgNNx8X2o-Q1ivrEeGsY,6483
201
+ runbooks/security_baseline/report_template_en.html,sha256=UARo0jfvNe41W9m70r_U6kqw8arq8N7Y0G5bqq6Mk5w,7983
202
+ runbooks/security_baseline/report_template_jp.html,sha256=UARo0jfvNe41W9m70r_U6kqw8arq8N7Y0G5bqq6Mk5w,7983
203
+ runbooks/security_baseline/report_template_kr.html,sha256=m3lf59ef12qaLsd_Zs2uZlYHVru0tQwt-e7q9odrvhc,10383
204
+ runbooks/security_baseline/report_template_vn.html,sha256=UARo0jfvNe41W9m70r_U6kqw8arq8N7Y0G5bqq6Mk5w,7983
205
+ runbooks/security_baseline/requirements.txt,sha256=AOD4LkRGnRx2Qv6x1xpINMZXbqp80RJvqbqfTUo0EvQ,119
206
+ runbooks/security_baseline/run_script.py,sha256=TrydLAuZ6_1AOo-CeNRqCYWABXDXAniyQ506KP6IRKI,2322
207
+ runbooks/security_baseline/security_baseline_tester.py,sha256=sBwGU7GG9d2dTL04VgA4CEJoSJ15RaoCbPjCN1tcea4,7849
208
+ runbooks/security_baseline/checklist/__init__.py,sha256=gXjVSA36zv5jCkaw3XASG8DpLPo6Fu8yxquUdX8YSFY,455
209
+ runbooks/security_baseline/checklist/account_level_bucket_public_access.py,sha256=_sILKNiBg-33wUUxoZhUq2O-x-xC2zZU9cQUehYMxTs,3386
210
+ runbooks/security_baseline/checklist/alternate_contacts.py,sha256=D65xPRbiregtYQ76kkKjy9GxHbbI_HWGEVF7Sbeu_bU,3172
211
+ runbooks/security_baseline/checklist/bucket_public_access.py,sha256=uwMUTtzIFLX_tDpxwo55Tdv_On69vBHpPIEQqigs5SY,3354
212
+ runbooks/security_baseline/checklist/cloudwatch_alarm_configuration.py,sha256=z7jiRJNA-RXUptXE9mLAXDwahHT-LVvuUcePoSg0PFw,2360
213
+ runbooks/security_baseline/checklist/direct_attached_policy.py,sha256=zjM3olLXjlaHQxHEOYyifTiugICuLAAOCMxn9pSLKFw,2568
214
+ runbooks/security_baseline/checklist/guardduty_enabled.py,sha256=IvWjHYjgT6Qv072ZG5okW4zK02azvOw7K1DNM-InlcE,2546
215
+ runbooks/security_baseline/checklist/iam_password_policy.py,sha256=bKIxhWQQ4xuE_uxtWfm0LXCqTFRQ-ygafxMKqeFFGw4,1570
216
+ runbooks/security_baseline/checklist/iam_user_mfa.py,sha256=H3mG_rC01iF-lbKCT7IqOEyShby9QkSADXE9BOt1DyQ,1234
217
+ runbooks/security_baseline/checklist/multi_region_instance_usage.py,sha256=ziDY6lHlpsmk2f_2Z8EaZ7wOUZuaUnZiI-x_R3o50Y0,2007
218
+ runbooks/security_baseline/checklist/multi_region_trail.py,sha256=OCAejEa59rKUWU-vnVQaNxOg1wOAUQZdGzyI7r25vi4,2293
219
+ runbooks/security_baseline/checklist/root_access_key.py,sha256=8jgRebbSmnKAPrTUh5uV_tC6nz7a7-qnME6uDLI99UM,2565
220
+ runbooks/security_baseline/checklist/root_mfa.py,sha256=X8PPzRLgaNhd-MMUjm432OkjQ1RqGis-pEhQUgqwVa8,1293
221
+ runbooks/security_baseline/checklist/root_usage.py,sha256=20XEtXC2seJnUW0clME3YGrosRYP5yRTi7a_Rr5YpdA,4658
222
+ runbooks/security_baseline/checklist/trail_enabled.py,sha256=kcX7sgB7NO2YbN8i3SDkB1m5Bb00Wu6JX9cniGBsSPw,2289
223
+ runbooks/security_baseline/checklist/trusted_advisor.py,sha256=zsLQf-mFeu3aiOhGndrojoa5K4QiI1Buk5rC5Hfg_gA,674
224
+ runbooks/security_baseline/utils/__init__.py,sha256=fEyCpWrJ6S6Z5rdHJGf7WRMnRNoZ6th5HmXbESc6guM,96
225
+ runbooks/security_baseline/utils/common.py,sha256=pOLbkvdkBpLcbf4NSlwghhs7mr7S_MMvW9D7LvJ6hkE,3446
226
+ runbooks/security_baseline/utils/enums.py,sha256=BGr8EgwZrWsU8kvWkwWsPqELUPGBc2tvJ5SzN9XhWQU,1258
227
+ runbooks/security_baseline/utils/language.py,sha256=MrSAojEyjHqRDDALdk002snj4xnFbwGgIjAc2buJ8g0,60448
228
+ runbooks/security_baseline/utils/level_const.py,sha256=l8uYBmgEMjIQTGVVuXPAfDd_Psl6jNfTQw2isI43zO8,88
229
+ runbooks/security_baseline/utils/permission_list.py,sha256=nq06vlILHp9rfnCpJauCmFCOEGdgFMF-XO3uBFrrd-o,767
230
+ runbooks/utils/__init__.py,sha256=3K-CwUA_NEN9R7RT5PeELs-VLSgVKUfkV-4NJkbCg90,5770
231
+ runbooks/utils/logger.py,sha256=ifxqLjDlZoDaG8rtAGVKLZ5dAwcMn16rB4YgMfeUC3E,972
232
+ runbooks-0.6.1.dist-info/licenses/LICENSE,sha256=WAQUYGIkLJh6CPrlZgr0IsbRODa0EZ6fboBXGjfWggs,11375
233
+ runbooks-0.6.1.dist-info/METADATA,sha256=sFW_ZXMCuDxd9R4fTHsxyPpA-_EKcr0KIUVP5u31M0k,14853
234
+ runbooks-0.6.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
235
+ runbooks-0.6.1.dist-info/entry_points.txt,sha256=Us-ey766qGdkpEFj5q9sB2V-QO0O34O3yS9ezhLPjfg,262
236
+ runbooks-0.6.1.dist-info/top_level.txt,sha256=dC5G9UiKrI_9_0dBLWwpGi1JFPRp_Qspi23URlD5WyU,32
237
+ runbooks-0.6.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,7 @@
1
+ [console_scripts]
2
+ cfat = runbooks.cfat.cli:main
3
+ runbooks = runbooks.main:main
4
+ runbooks-aws = runbooks.aws:run_script
5
+ runbooks-cfat = runbooks.cfat.cli:main
6
+ runbooks-finops = runbooks.finops.cli:main
7
+ runbooks-security = runbooks.security_baseline.run_script:main