runbooks 1.1.7__py3-none-any.whl → 1.1.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- runbooks/__init__.py +1 -1
- runbooks/__init___optimized.py +2 -1
- runbooks/_platform/__init__.py +1 -1
- runbooks/cfat/cli.py +4 -3
- runbooks/cfat/cloud_foundations_assessment.py +1 -2
- runbooks/cfat/tests/test_cli.py +4 -1
- runbooks/cli/commands/finops.py +68 -19
- runbooks/cli/commands/inventory.py +838 -14
- runbooks/cli/commands/operate.py +65 -4
- runbooks/cli/commands/vpc.py +1 -1
- runbooks/cloudops/cost_optimizer.py +1 -3
- runbooks/common/cli_decorators.py +6 -4
- runbooks/common/config_loader.py +787 -0
- runbooks/common/config_schema.py +280 -0
- runbooks/common/dry_run_framework.py +14 -2
- runbooks/common/mcp_integration.py +238 -0
- runbooks/finops/ebs_cost_optimizer.py +7 -4
- runbooks/finops/elastic_ip_optimizer.py +7 -4
- runbooks/finops/infrastructure/__init__.py +3 -2
- runbooks/finops/infrastructure/commands.py +7 -4
- runbooks/finops/infrastructure/load_balancer_optimizer.py +7 -4
- runbooks/finops/infrastructure/vpc_endpoint_optimizer.py +7 -4
- runbooks/finops/nat_gateway_optimizer.py +7 -4
- runbooks/finops/tests/run_tests.py +1 -1
- runbooks/inventory/ArgumentsClass.py +2 -1
- runbooks/inventory/CLAUDE.md +41 -0
- runbooks/inventory/README.md +210 -2
- runbooks/inventory/Tests/test_Inventory_Modules.py +27 -10
- runbooks/inventory/Tests/test_cfn_describe_stacks.py +18 -7
- runbooks/inventory/Tests/test_ec2_describe_instances.py +30 -15
- runbooks/inventory/Tests/test_lambda_list_functions.py +17 -3
- runbooks/inventory/Tests/test_org_list_accounts.py +17 -4
- runbooks/inventory/account_class.py +0 -1
- runbooks/inventory/all_my_instances_wrapper.py +4 -8
- runbooks/inventory/aws_organization.png +0 -0
- runbooks/inventory/check_cloudtrail_compliance.py +4 -4
- runbooks/inventory/check_controltower_readiness.py +50 -47
- runbooks/inventory/check_landingzone_readiness.py +35 -31
- runbooks/inventory/cloud_foundations_integration.py +8 -3
- runbooks/inventory/collectors/aws_compute.py +59 -11
- runbooks/inventory/collectors/aws_management.py +39 -5
- runbooks/inventory/core/collector.py +1655 -159
- runbooks/inventory/core/concurrent_paginator.py +511 -0
- runbooks/inventory/discovery.md +15 -6
- runbooks/inventory/{draw_org_structure.py → draw_org.py} +55 -9
- runbooks/inventory/drift_detection_cli.py +8 -68
- runbooks/inventory/find_cfn_drift_detection.py +14 -4
- runbooks/inventory/find_cfn_orphaned_stacks.py +7 -5
- runbooks/inventory/find_cfn_stackset_drift.py +5 -5
- runbooks/inventory/find_ec2_security_groups.py +6 -3
- runbooks/inventory/find_landingzone_versions.py +5 -5
- runbooks/inventory/find_vpc_flow_logs.py +5 -5
- runbooks/inventory/inventory.sh +20 -7
- runbooks/inventory/inventory_mcp_cli.py +4 -0
- runbooks/inventory/inventory_modules.py +9 -7
- runbooks/inventory/list_cfn_stacks.py +18 -8
- runbooks/inventory/list_cfn_stackset_operation_results.py +2 -2
- runbooks/inventory/list_cfn_stackset_operations.py +32 -20
- runbooks/inventory/list_cfn_stacksets.py +7 -4
- runbooks/inventory/list_config_recorders_delivery_channels.py +4 -4
- runbooks/inventory/list_ds_directories.py +3 -3
- runbooks/inventory/list_ec2_availability_zones.py +7 -3
- runbooks/inventory/list_ec2_ebs_volumes.py +3 -3
- runbooks/inventory/list_ec2_instances.py +1 -1
- runbooks/inventory/list_ecs_clusters_and_tasks.py +8 -4
- runbooks/inventory/list_elbs_load_balancers.py +7 -3
- runbooks/inventory/list_enis_network_interfaces.py +3 -3
- runbooks/inventory/list_guardduty_detectors.py +9 -5
- runbooks/inventory/list_iam_policies.py +7 -3
- runbooks/inventory/list_iam_roles.py +3 -3
- runbooks/inventory/list_iam_saml_providers.py +8 -4
- runbooks/inventory/list_lambda_functions.py +8 -4
- runbooks/inventory/list_org_accounts.py +306 -276
- runbooks/inventory/list_org_accounts_users.py +45 -9
- runbooks/inventory/list_rds_db_instances.py +4 -4
- runbooks/inventory/list_route53_hosted_zones.py +3 -3
- runbooks/inventory/list_servicecatalog_provisioned_products.py +5 -5
- runbooks/inventory/list_sns_topics.py +4 -4
- runbooks/inventory/list_ssm_parameters.py +6 -3
- runbooks/inventory/list_vpc_subnets.py +8 -4
- runbooks/inventory/list_vpcs.py +15 -4
- runbooks/inventory/mcp_inventory_validator.py +771 -134
- runbooks/inventory/mcp_vpc_validator.py +6 -0
- runbooks/inventory/organizations_discovery.py +17 -3
- runbooks/inventory/organizations_utils.py +553 -0
- runbooks/inventory/output_formatters.py +422 -0
- runbooks/inventory/recover_cfn_stack_ids.py +5 -5
- runbooks/inventory/run_on_multi_accounts.py +3 -3
- runbooks/inventory/tag_coverage.py +481 -0
- runbooks/inventory/validation_utils.py +358 -0
- runbooks/inventory/verify_ec2_security_groups.py +18 -5
- runbooks/inventory/vpc_architecture_validator.py +7 -1
- runbooks/inventory/vpc_dependency_analyzer.py +6 -0
- runbooks/main_final.py +2 -2
- runbooks/main_ultra_minimal.py +2 -2
- runbooks/mcp/integration.py +6 -4
- runbooks/remediation/acm_remediation.py +2 -2
- runbooks/remediation/cloudtrail_remediation.py +2 -2
- runbooks/remediation/cognito_remediation.py +2 -2
- runbooks/remediation/dynamodb_remediation.py +2 -2
- runbooks/remediation/ec2_remediation.py +2 -2
- runbooks/remediation/kms_remediation.py +2 -2
- runbooks/remediation/lambda_remediation.py +2 -2
- runbooks/remediation/rds_remediation.py +2 -2
- runbooks/remediation/s3_remediation.py +1 -1
- runbooks/vpc/cloudtrail_audit_integration.py +1 -1
- {runbooks-1.1.7.dist-info → runbooks-1.1.10.dist-info}/METADATA +74 -4
- {runbooks-1.1.7.dist-info → runbooks-1.1.10.dist-info}/RECORD +112 -105
- runbooks/__init__.py.backup +0 -134
- {runbooks-1.1.7.dist-info → runbooks-1.1.10.dist-info}/WHEEL +0 -0
- {runbooks-1.1.7.dist-info → runbooks-1.1.10.dist-info}/entry_points.txt +0 -0
- {runbooks-1.1.7.dist-info → runbooks-1.1.10.dist-info}/licenses/LICENSE +0 -0
- {runbooks-1.1.7.dist-info → runbooks-1.1.10.dist-info}/top_level.txt +0 -0
@@ -5,13 +5,13 @@ from queue import Queue
|
|
5
5
|
from threading import Thread
|
6
6
|
from time import time
|
7
7
|
|
8
|
-
from ArgumentsClass import CommonArguments
|
8
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
9
9
|
from botocore.exceptions import ClientError
|
10
10
|
from runbooks.common.rich_utils import console
|
11
|
-
from
|
11
|
+
from runbooks.inventory.inventory_modules import display_results, find_account_volumes2, get_all_credentials
|
12
12
|
from runbooks.common.rich_utils import create_progress_bar
|
13
|
+
from runbooks import __version__
|
13
14
|
|
14
|
-
__version__ = "2024.05.31"
|
15
15
|
|
16
16
|
# ANSI escape code for clearing current line (progress bar cleanup)
|
17
17
|
|
@@ -64,8 +64,8 @@ from .ArgumentsClass import CommonArguments
|
|
64
64
|
from botocore.exceptions import ClientError
|
65
65
|
from .inventory_modules import display_results, get_all_credentials
|
66
66
|
from runbooks.common.rich_utils import create_progress_bar
|
67
|
+
from runbooks import __version__
|
67
68
|
|
68
|
-
__version__ = "2025.04.09"
|
69
69
|
begin_time = time()
|
70
70
|
|
71
71
|
|
@@ -87,14 +87,18 @@ from queue import Queue
|
|
87
87
|
from threading import Thread
|
88
88
|
from time import time
|
89
89
|
|
90
|
-
import Inventory_Modules
|
91
|
-
from ArgumentsClass import CommonArguments
|
90
|
+
from runbooks.inventory import inventory_modules as Inventory_Modules
|
91
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
92
92
|
from botocore.exceptions import ClientError
|
93
93
|
from runbooks.common.rich_utils import console
|
94
|
-
from
|
94
|
+
from runbooks.inventory.inventory_modules import display_results, find_account_ecs_clusters_services_and_tasks2, get_all_credentials
|
95
95
|
from runbooks.common.rich_utils import create_progress_bar
|
96
|
+
from runbooks import __version__
|
96
97
|
|
97
|
-
|
98
|
+
|
99
|
+
|
100
|
+
# Terminal control constants
|
101
|
+
ERASE_LINE = '\x1b[2K'
|
98
102
|
begin_time = time()
|
99
103
|
|
100
104
|
# TODO: Need a table at the bottom that summarizes the results, by instance-type, by running/ stopped, maybe by account and region
|
@@ -86,13 +86,17 @@ from queue import Queue
|
|
86
86
|
from threading import Thread
|
87
87
|
from time import time
|
88
88
|
|
89
|
-
from ArgumentsClass import CommonArguments
|
89
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
90
90
|
from botocore.exceptions import ClientError
|
91
91
|
from runbooks.common.rich_utils import console
|
92
|
-
from
|
92
|
+
from runbooks.inventory.inventory_modules import display_results, find_load_balancers2, get_all_credentials
|
93
93
|
from runbooks.common.rich_utils import create_progress_bar
|
94
|
+
from runbooks import __version__
|
94
95
|
|
95
|
-
|
96
|
+
|
97
|
+
|
98
|
+
# Terminal control constants
|
99
|
+
ERASE_LINE = '\x1b[2K'
|
96
100
|
begin_time = time()
|
97
101
|
|
98
102
|
|
@@ -92,16 +92,16 @@ from queue import Queue
|
|
92
92
|
from threading import Thread
|
93
93
|
from time import time
|
94
94
|
|
95
|
-
from ArgumentsClass import CommonArguments
|
95
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
96
96
|
from botocore.exceptions import ClientError
|
97
97
|
|
98
98
|
# from datetime import datetime
|
99
99
|
from runbooks.common.rich_utils import console
|
100
|
-
from
|
100
|
+
from runbooks.inventory.inventory_modules import display_results, find_account_enis2, get_all_credentials
|
101
101
|
from runbooks.common.rich_utils import create_progress_bar
|
102
|
+
from runbooks import __version__
|
102
103
|
|
103
104
|
|
104
|
-
__version__ = "2024.10.24"
|
105
105
|
|
106
106
|
|
107
107
|
##################
|
@@ -91,14 +91,18 @@ import logging
|
|
91
91
|
import sys
|
92
92
|
|
93
93
|
import boto3
|
94
|
-
import Inventory_Modules
|
95
|
-
from account_class import aws_acct_access
|
96
|
-
from ArgumentsClass import CommonArguments
|
94
|
+
from runbooks.inventory import inventory_modules as Inventory_Modules
|
95
|
+
from runbooks.inventory.account_class import aws_acct_access
|
96
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
97
97
|
from botocore.exceptions import ClientError
|
98
98
|
from runbooks.common.rich_utils import console
|
99
|
-
from
|
99
|
+
from runbooks.inventory.inventory_modules import get_all_credentials
|
100
|
+
from runbooks import __version__
|
100
101
|
|
101
|
-
|
102
|
+
|
103
|
+
|
104
|
+
# Terminal control constants
|
105
|
+
ERASE_LINE = '\x1b[2K'
|
102
106
|
|
103
107
|
# Parse enterprise command-line arguments with GuardDuty-specific security management options
|
104
108
|
parser = CommonArguments()
|
@@ -92,12 +92,16 @@ from queue import Queue
|
|
92
92
|
from threading import Thread
|
93
93
|
from time import time
|
94
94
|
|
95
|
-
from ArgumentsClass import CommonArguments
|
95
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
96
96
|
from botocore.exceptions import ClientError
|
97
97
|
from runbooks.common.rich_utils import console
|
98
|
-
from
|
98
|
+
from runbooks.inventory.inventory_modules import display_results, find_account_policies2, find_policy_action2, get_all_credentials
|
99
|
+
from runbooks import __version__
|
99
100
|
|
100
|
-
|
101
|
+
|
102
|
+
|
103
|
+
# Terminal control constants
|
104
|
+
ERASE_LINE = '\x1b[2K'
|
101
105
|
begin_time = time()
|
102
106
|
|
103
107
|
|
@@ -41,12 +41,12 @@ import sys
|
|
41
41
|
from time import sleep, time
|
42
42
|
|
43
43
|
import boto3
|
44
|
-
from ArgumentsClass import CommonArguments
|
44
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
45
45
|
from botocore.exceptions import ClientError
|
46
|
-
from
|
46
|
+
from runbooks.inventory.inventory_modules import display_results, find_in, get_all_credentials
|
47
47
|
from runbooks.common.rich_utils import console
|
48
|
+
from runbooks import __version__
|
48
49
|
|
49
|
-
__version__ = "2023.11.06"
|
50
50
|
|
51
51
|
|
52
52
|
###########################
|
@@ -98,13 +98,17 @@ from os.path import split
|
|
98
98
|
from time import time
|
99
99
|
|
100
100
|
import boto3
|
101
|
-
from account_class import aws_acct_access
|
102
|
-
from ArgumentsClass import CommonArguments
|
101
|
+
from runbooks.inventory.account_class import aws_acct_access
|
102
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
103
103
|
from botocore.exceptions import ClientError
|
104
104
|
from runbooks.common.rich_utils import console
|
105
|
-
from
|
105
|
+
from runbooks.inventory.inventory_modules import display_results, find_saml_components_in_acct2, get_child_access3
|
106
|
+
from runbooks import __version__
|
106
107
|
|
107
|
-
|
108
|
+
|
109
|
+
|
110
|
+
# Terminal control constants
|
111
|
+
ERASE_LINE = '\x1b[2K'
|
108
112
|
|
109
113
|
begin_time = time()
|
110
114
|
|
@@ -79,14 +79,18 @@ from threading import Thread
|
|
79
79
|
from time import time
|
80
80
|
|
81
81
|
import boto3
|
82
|
-
import Inventory_Modules
|
83
|
-
from ArgumentsClass import CommonArguments
|
82
|
+
from runbooks.inventory import inventory_modules as Inventory_Modules
|
83
|
+
from runbooks.inventory.ArgumentsClass import CommonArguments
|
84
84
|
from botocore.exceptions import ClientError
|
85
85
|
from runbooks.common.rich_utils import console
|
86
|
-
from
|
86
|
+
from runbooks.inventory.inventory_modules import display_results, get_all_credentials
|
87
87
|
from runbooks.common.rich_utils import create_progress_bar
|
88
|
+
from runbooks import __version__
|
88
89
|
|
89
|
-
|
90
|
+
|
91
|
+
|
92
|
+
# Terminal control constants
|
93
|
+
ERASE_LINE = '\x1b[2K'
|
90
94
|
|
91
95
|
begin_time = time()
|
92
96
|
|