runbooks 0.1.7__py3-none-any.whl → 0.1.9__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 (55) hide show
  1. runbooks/__init__.py +1 -1
  2. runbooks/aws/__init__.py +58 -0
  3. runbooks/aws/dynamodb_operations.py +231 -0
  4. runbooks/aws/ec2_copy_image_cross-region.py +195 -0
  5. runbooks/aws/ec2_describe_instances.py +202 -0
  6. runbooks/aws/ec2_ebs_snapshots_delete.py +186 -0
  7. runbooks/aws/ec2_run_instances.py +207 -0
  8. runbooks/aws/ec2_start_stop_instances.py +199 -0
  9. runbooks/aws/ec2_terminate_instances.py +143 -0
  10. runbooks/aws/ec2_unused_eips.py +196 -0
  11. runbooks/aws/ec2_unused_volumes.py +184 -0
  12. runbooks/aws/s3_create_bucket.py +140 -0
  13. runbooks/aws/s3_list_buckets.py +152 -0
  14. runbooks/aws/s3_list_objects.py +151 -0
  15. runbooks/aws/s3_object_operations.py +183 -0
  16. runbooks/aws/tagging_lambda_handler.py +172 -0
  17. runbooks/python101/calculator.py +34 -0
  18. runbooks/python101/config.py +1 -0
  19. runbooks/python101/exceptions.py +16 -0
  20. runbooks/python101/file_manager.py +218 -0
  21. runbooks/python101/toolkit.py +153 -0
  22. runbooks/security_baseline/__init__.py +0 -0
  23. runbooks/security_baseline/checklist/__init__.py +18 -0
  24. runbooks/security_baseline/checklist/account_level_bucket_public_access.py +87 -0
  25. runbooks/security_baseline/checklist/alternate_contacts.py +66 -0
  26. runbooks/security_baseline/checklist/bucket_public_access.py +83 -0
  27. runbooks/security_baseline/checklist/cloudwatch_alarm_configuration.py +67 -0
  28. runbooks/security_baseline/checklist/direct_attached_policy.py +70 -0
  29. runbooks/security_baseline/checklist/guardduty_enabled.py +72 -0
  30. runbooks/security_baseline/checklist/iam_password_policy.py +44 -0
  31. runbooks/security_baseline/checklist/iam_user_mfa.py +39 -0
  32. runbooks/security_baseline/checklist/multi_region_instance_usage.py +56 -0
  33. runbooks/security_baseline/checklist/multi_region_trail.py +65 -0
  34. runbooks/security_baseline/checklist/root_access_key.py +72 -0
  35. runbooks/security_baseline/checklist/root_mfa.py +39 -0
  36. runbooks/security_baseline/checklist/root_usage.py +128 -0
  37. runbooks/security_baseline/checklist/trail_enabled.py +69 -0
  38. runbooks/security_baseline/checklist/trusted_advisor.py +24 -0
  39. runbooks/security_baseline/report_generator.py +150 -0
  40. runbooks/security_baseline/run_script.py +76 -0
  41. runbooks/security_baseline/security_baseline_tester.py +184 -0
  42. runbooks/security_baseline/utils/__init__.py +2 -0
  43. runbooks/security_baseline/utils/common.py +109 -0
  44. runbooks/security_baseline/utils/enums.py +44 -0
  45. runbooks/security_baseline/utils/language.py +762 -0
  46. runbooks/security_baseline/utils/level_const.py +5 -0
  47. runbooks/security_baseline/utils/permission_list.py +26 -0
  48. runbooks/utils/__init__.py +0 -0
  49. runbooks/utils/logger.py +36 -0
  50. {runbooks-0.1.7.dist-info → runbooks-0.1.9.dist-info}/METADATA +2 -2
  51. runbooks-0.1.9.dist-info/RECORD +54 -0
  52. runbooks-0.1.7.dist-info/RECORD +0 -6
  53. {runbooks-0.1.7.dist-info → runbooks-0.1.9.dist-info}/WHEEL +0 -0
  54. {runbooks-0.1.7.dist-info → runbooks-0.1.9.dist-info}/entry_points.txt +0 -0
  55. {runbooks-0.1.7.dist-info → runbooks-0.1.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,5 @@
1
+ success = "Success"
2
+ warning = "Warning"
3
+ danger = "Danger"
4
+ error = "Error"
5
+ info = "Info"
@@ -0,0 +1,26 @@
1
+ permissions = [
2
+ "sts:GetCallerIdentity",
3
+ "ec2:DescribeRegions",
4
+ "ec2:DescribeInstances",
5
+ "account:GetAlternateContact",
6
+ "iam:GenerateCredentialReport",
7
+ "iam:GetCredentialReport",
8
+ "iam:GetAccountPasswordPolicy",
9
+ "iam:ListUsers",
10
+ "iam:ListAttachedUserPolicies",
11
+ "iam:ListUserPolicies",
12
+ "cloudtrail:DescribeTrails",
13
+ "cloudtrail:GetTrailStatus",
14
+ "cloudtrail:GetTrail",
15
+ "s3:GetAccountPublicAccessBlock",
16
+ "s3:GetBucketPublicAccessBlock",
17
+ "s3:ListBucket",
18
+ "s3:ListAllMyBuckets",
19
+ "cloudwatch:DescribeAlarms",
20
+ "ec2:DescribeNetworkInterfaces",
21
+ "ec2:DescribeVpcs",
22
+ "ec2:DescribeSubnets",
23
+ "support:DescribeTrustedAdvisorChecks",
24
+ "guardduty:ListDetectors",
25
+ "guardduty:GetDetector",
26
+ ]
File without changes
@@ -0,0 +1,36 @@
1
+ import logging
2
+
3
+
4
+ ## ==============================
5
+ ## CONFIGURE LOGGING
6
+ ## ==============================
7
+ def configure_logger(module_name: str) -> logging.Logger:
8
+ """
9
+ Configures and returns a logger for a given module.
10
+
11
+ Args:
12
+ module_name (str): The name of the module using the logger.
13
+
14
+ Returns:
15
+ logging.Logger: Configured logger instance.
16
+ """
17
+ logger = logging.getLogger(module_name)
18
+ logger.setLevel(logging.INFO)
19
+
20
+ ## Create formatter
21
+ formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
22
+
23
+ ## Console Handler
24
+ console_handler = logging.StreamHandler()
25
+ console_handler.setFormatter(formatter)
26
+
27
+ ## File Handler
28
+ file_handler = logging.FileHandler(f"{module_name}.log")
29
+ file_handler.setFormatter(formatter)
30
+
31
+ ## Add handlers if not already added
32
+ if not logger.handlers:
33
+ logger.addHandler(console_handler)
34
+ logger.addHandler(file_handler)
35
+
36
+ return logger
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: runbooks
3
- Version: 0.1.7
3
+ Version: 0.1.9
4
4
  Summary: CloudOps Automation Toolkit for DevOps and SRE teams.
5
5
  Author-email: runbooks maintainers <nnthanh101@gmail.com>
6
6
  License: Apache License
@@ -255,7 +255,7 @@ Requires-Dist: pandas>=2.2.3
255
255
  Requires-Dist: plotly>=5.24.1
256
256
  Requires-Dist: vizro>=0.1.30
257
257
  Requires-Dist: vizro-ai>=0.3.2
258
- Requires-Dist: runbooks>=0.1.7
258
+ Requires-Dist: runbooks>=0.1.9
259
259
 
260
260
  # 🔥 CloudOps Automation at Scale 🦅
261
261
 
@@ -0,0 +1,54 @@
1
+ runbooks/__init__.py,sha256=kmipbAcnK8gk4TiDgbq9XPLad1-sZSLzdCwlwWIZ8i0,133
2
+ runbooks/aws/__init__.py,sha256=iswGPspnFaHLE_Zzw2uRraYI2zvJ1Nma5PbdOiBUdEo,1646
3
+ runbooks/aws/dynamodb_operations.py,sha256=c91YACBHnOELL8Ufj7tRQws9azGqnB6flQsacTi57xQ,6490
4
+ runbooks/aws/ec2_copy_image_cross-region.py,sha256=2Afoo2ddzswgtdhdzsDq5aZiqXkQ0_kUyRdHbhkaLAA,6017
5
+ runbooks/aws/ec2_describe_instances.py,sha256=-Wbp0wQakCa7lJ2vfqR3P-lXN5s0jqjBHYhppiZEtSI,6543
6
+ runbooks/aws/ec2_ebs_snapshots_delete.py,sha256=LwaGGAg_7tdqic1thBLywlHKjMSMyye2B79d4yNtK78,5886
7
+ runbooks/aws/ec2_run_instances.py,sha256=wE7G8Xn10gG25Smu4SHpfc54rFly40Ba09Cv76XJYGg,6803
8
+ runbooks/aws/ec2_start_stop_instances.py,sha256=a0yUy9Zb2JmJc7wsGh3UXJZ5P0CI1omRaRCCpV5jOxE,5939
9
+ runbooks/aws/ec2_terminate_instances.py,sha256=p8ZHHDkT--rlOFah82hG6SJpty4rYZa4hn3yq4MqvQI,4692
10
+ runbooks/aws/ec2_unused_eips.py,sha256=04pjoeSwm-CfJKT6u9XuHa_D-iK5r9D65FaisQy00Zk,5535
11
+ runbooks/aws/ec2_unused_volumes.py,sha256=x2kcYV6DUqw77AaKILLtXYfrzAnEg3uoPJD6h5ad2Yg,5686
12
+ runbooks/aws/s3_create_bucket.py,sha256=-oSYKJ_tCW5fuspuQUYSw8Y_Y9_oqzn9dbmmO80UHc4,4182
13
+ runbooks/aws/s3_list_buckets.py,sha256=sHh05_KrvpLzOlGZJy8nxTAfTuMaVtMIhb3A9nLh_rQ,4752
14
+ runbooks/aws/s3_list_objects.py,sha256=VYk-ljQbgXsrt9d-xCJoXe6hPeCgkCa97pf-z7EOk08,4595
15
+ runbooks/aws/s3_object_operations.py,sha256=46l8v0Xt8pJhTuMjCyLDSLsU06WGxWKad99nQ91o2hg,5400
16
+ runbooks/aws/tagging_lambda_handler.py,sha256=o4hTUS8ta99tVS4kZ-w_j329NArGZDi46XB-AdvWi4M,5367
17
+ runbooks/python101/calculator.py,sha256=FEWSHyC6vV0Qoy13Fz-bE-mWP6Xs_yvu39iji260jDs,1365
18
+ runbooks/python101/config.py,sha256=ILwA7ZyjEDHNdDbOArFAZkDSB-saF-tzeE7xmJ2CtbE,104
19
+ runbooks/python101/exceptions.py,sha256=4KuSN-Kz-Xx17dU8i4rMbECANA4IXdT5dAposuv3tZc,319
20
+ runbooks/python101/file_manager.py,sha256=7QLxO2eiwlgcTpdnbd80TIP1CNFGz0ZGpGKnBZvpdAk,7163
21
+ runbooks/python101/toolkit.py,sha256=bWoP_r8GhsEPFsgTKSeJiilcjxO4A1fynjSDSOnlmzQ,3709
22
+ runbooks/security_baseline/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
+ runbooks/security_baseline/report_generator.py,sha256=rHh9d6OBg_Qcy59ZJSCfZu0ur-LeE_dSIc2LJQAtWMY,6333
24
+ runbooks/security_baseline/run_script.py,sha256=lrvbcOtofspBnI17YYw2q_3CG4q3awoEnsaZ2HcGZ_E,2084
25
+ runbooks/security_baseline/security_baseline_tester.py,sha256=mOVvWWXByaQklth0QeEHxGCMT7bVGrUIVRgmUhINeg0,7354
26
+ runbooks/security_baseline/checklist/__init__.py,sha256=gXjVSA36zv5jCkaw3XASG8DpLPo6Fu8yxquUdX8YSFY,455
27
+ runbooks/security_baseline/checklist/account_level_bucket_public_access.py,sha256=_sILKNiBg-33wUUxoZhUq2O-x-xC2zZU9cQUehYMxTs,3386
28
+ runbooks/security_baseline/checklist/alternate_contacts.py,sha256=MqHcKNwwmNKTna0bOdUPPNj2ytobpDMGPAUW2XhvRxI,3043
29
+ runbooks/security_baseline/checklist/bucket_public_access.py,sha256=FmNpOOUPVTTTZEOrUGZOVEQab-VbwrrG1yoNNrj-5bc,3307
30
+ runbooks/security_baseline/checklist/cloudwatch_alarm_configuration.py,sha256=LmErieAcBLO8qmuwoHfrJnLKrR_gHEMcF0TI0oZDcMc,2262
31
+ runbooks/security_baseline/checklist/direct_attached_policy.py,sha256=zjM3olLXjlaHQxHEOYyifTiugICuLAAOCMxn9pSLKFw,2568
32
+ runbooks/security_baseline/checklist/guardduty_enabled.py,sha256=uvjgRqpjPiTd-d762P2jLPHCiHuGPkTvrXOwhOpLcjI,2448
33
+ runbooks/security_baseline/checklist/iam_password_policy.py,sha256=bKIxhWQQ4xuE_uxtWfm0LXCqTFRQ-ygafxMKqeFFGw4,1570
34
+ runbooks/security_baseline/checklist/iam_user_mfa.py,sha256=H3mG_rC01iF-lbKCT7IqOEyShby9QkSADXE9BOt1DyQ,1234
35
+ runbooks/security_baseline/checklist/multi_region_instance_usage.py,sha256=em2RvxW7rQK4Nv6APqE3mQJ7q4mO8e10Z8uymfyVvSY,1944
36
+ runbooks/security_baseline/checklist/multi_region_trail.py,sha256=OCAejEa59rKUWU-vnVQaNxOg1wOAUQZdGzyI7r25vi4,2293
37
+ runbooks/security_baseline/checklist/root_access_key.py,sha256=SUPpV3n3Wnx7VI7cWldjE6yYDn09dUnqkaiNykvN4f4,2504
38
+ runbooks/security_baseline/checklist/root_mfa.py,sha256=X8PPzRLgaNhd-MMUjm432OkjQ1RqGis-pEhQUgqwVa8,1293
39
+ runbooks/security_baseline/checklist/root_usage.py,sha256=20XEtXC2seJnUW0clME3YGrosRYP5yRTi7a_Rr5YpdA,4658
40
+ runbooks/security_baseline/checklist/trail_enabled.py,sha256=kcX7sgB7NO2YbN8i3SDkB1m5Bb00Wu6JX9cniGBsSPw,2289
41
+ runbooks/security_baseline/checklist/trusted_advisor.py,sha256=zsLQf-mFeu3aiOhGndrojoa5K4QiI1Buk5rC5Hfg_gA,674
42
+ runbooks/security_baseline/utils/__init__.py,sha256=fEyCpWrJ6S6Z5rdHJGf7WRMnRNoZ6th5HmXbESc6guM,96
43
+ runbooks/security_baseline/utils/common.py,sha256=hCgYtgIgzV5Z2LCeXSDXd7LNxYg9NE2s_c-d9w43a-Y,3399
44
+ runbooks/security_baseline/utils/enums.py,sha256=BGr8EgwZrWsU8kvWkwWsPqELUPGBc2tvJ5SzN9XhWQU,1258
45
+ runbooks/security_baseline/utils/language.py,sha256=MrSAojEyjHqRDDALdk002snj4xnFbwGgIjAc2buJ8g0,60448
46
+ runbooks/security_baseline/utils/level_const.py,sha256=l8uYBmgEMjIQTGVVuXPAfDd_Psl6jNfTQw2isI43zO8,88
47
+ runbooks/security_baseline/utils/permission_list.py,sha256=nq06vlILHp9rfnCpJauCmFCOEGdgFMF-XO3uBFrrd-o,767
48
+ runbooks/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
49
+ runbooks/utils/logger.py,sha256=ifxqLjDlZoDaG8rtAGVKLZ5dAwcMn16rB4YgMfeUC3E,972
50
+ runbooks-0.1.9.dist-info/METADATA,sha256=CJ9ddkFV-chd3Vv9OO11Iuaf5_fHSXBxhaVXwpqXOLc,24982
51
+ runbooks-0.1.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
52
+ runbooks-0.1.9.dist-info/entry_points.txt,sha256=dxS4lhytftkG2sBS-tgSRKoWtK-AgQmiAJ4VxJY3f5A,115
53
+ runbooks-0.1.9.dist-info/top_level.txt,sha256=1EwNxU12QGOLtO0Naw75hXIdSIhgV_b-z_6vhlhVkhM,9
54
+ runbooks-0.1.9.dist-info/RECORD,,
@@ -1,6 +0,0 @@
1
- runbooks/__init__.py,sha256=iIM66NiwDJHBC3CkhiU8ViMtCXg3bYV5hQ3ENU1rJFk,133
2
- runbooks-0.1.7.dist-info/METADATA,sha256=Y3cpxx_9VkdEGD4dwaeo6VGIUzfefWqCtGL_f7Hiqs0,24982
3
- runbooks-0.1.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
4
- runbooks-0.1.7.dist-info/entry_points.txt,sha256=dxS4lhytftkG2sBS-tgSRKoWtK-AgQmiAJ4VxJY3f5A,115
5
- runbooks-0.1.7.dist-info/top_level.txt,sha256=1EwNxU12QGOLtO0Naw75hXIdSIhgV_b-z_6vhlhVkhM,9
6
- runbooks-0.1.7.dist-info/RECORD,,