runbooks 0.2.5__py3-none-any.whl → 0.7.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. conftest.py +26 -0
  2. jupyter-agent/.env +2 -0
  3. jupyter-agent/.env.template +2 -0
  4. jupyter-agent/.gitattributes +35 -0
  5. jupyter-agent/.gradio/certificate.pem +31 -0
  6. jupyter-agent/README.md +16 -0
  7. jupyter-agent/__main__.log +8 -0
  8. jupyter-agent/app.py +256 -0
  9. jupyter-agent/cloudops-agent.png +0 -0
  10. jupyter-agent/ds-system-prompt.txt +154 -0
  11. jupyter-agent/jupyter-agent.png +0 -0
  12. jupyter-agent/llama3_template.jinja +123 -0
  13. jupyter-agent/requirements.txt +9 -0
  14. jupyter-agent/tmp/4ojbs8a02ir/jupyter-agent.ipynb +68 -0
  15. jupyter-agent/tmp/cm5iasgpm3p/jupyter-agent.ipynb +91 -0
  16. jupyter-agent/tmp/crqbsseag5/jupyter-agent.ipynb +91 -0
  17. jupyter-agent/tmp/hohanq1u097/jupyter-agent.ipynb +57 -0
  18. jupyter-agent/tmp/jns1sam29wm/jupyter-agent.ipynb +53 -0
  19. jupyter-agent/tmp/jupyter-agent.ipynb +27 -0
  20. jupyter-agent/utils.py +409 -0
  21. runbooks/__init__.py +71 -3
  22. runbooks/__main__.py +13 -0
  23. runbooks/aws/ec2_describe_instances.py +1 -1
  24. runbooks/aws/ec2_run_instances.py +8 -2
  25. runbooks/aws/ec2_start_stop_instances.py +17 -4
  26. runbooks/aws/ec2_unused_volumes.py +5 -1
  27. runbooks/aws/s3_create_bucket.py +4 -2
  28. runbooks/aws/s3_list_objects.py +6 -1
  29. runbooks/aws/tagging_lambda_handler.py +13 -2
  30. runbooks/aws/tags.json +12 -0
  31. runbooks/base.py +353 -0
  32. runbooks/cfat/README.md +49 -0
  33. runbooks/cfat/__init__.py +74 -0
  34. runbooks/cfat/app.ts +644 -0
  35. runbooks/cfat/assessment/__init__.py +40 -0
  36. runbooks/cfat/assessment/asana-import.csv +39 -0
  37. runbooks/cfat/assessment/cfat-checks.csv +31 -0
  38. runbooks/cfat/assessment/cfat.txt +520 -0
  39. runbooks/cfat/assessment/collectors.py +200 -0
  40. runbooks/cfat/assessment/jira-import.csv +39 -0
  41. runbooks/cfat/assessment/runner.py +387 -0
  42. runbooks/cfat/assessment/validators.py +290 -0
  43. runbooks/cfat/cli.py +103 -0
  44. runbooks/cfat/docs/asana-import.csv +24 -0
  45. runbooks/cfat/docs/cfat-checks.csv +31 -0
  46. runbooks/cfat/docs/cfat.txt +335 -0
  47. runbooks/cfat/docs/checks-output.png +0 -0
  48. runbooks/cfat/docs/cloudshell-console-run.png +0 -0
  49. runbooks/cfat/docs/cloudshell-download.png +0 -0
  50. runbooks/cfat/docs/cloudshell-output.png +0 -0
  51. runbooks/cfat/docs/downloadfile.png +0 -0
  52. runbooks/cfat/docs/jira-import.csv +24 -0
  53. runbooks/cfat/docs/open-cloudshell.png +0 -0
  54. runbooks/cfat/docs/report-header.png +0 -0
  55. runbooks/cfat/models.py +1026 -0
  56. runbooks/cfat/package-lock.json +5116 -0
  57. runbooks/cfat/package.json +38 -0
  58. runbooks/cfat/report.py +496 -0
  59. runbooks/cfat/reporting/__init__.py +46 -0
  60. runbooks/cfat/reporting/exporters.py +337 -0
  61. runbooks/cfat/reporting/formatters.py +496 -0
  62. runbooks/cfat/reporting/templates.py +135 -0
  63. runbooks/cfat/run-assessment.sh +23 -0
  64. runbooks/cfat/runner.py +69 -0
  65. runbooks/cfat/src/actions/check-cloudtrail-existence.ts +43 -0
  66. runbooks/cfat/src/actions/check-config-existence.ts +37 -0
  67. runbooks/cfat/src/actions/check-control-tower.ts +37 -0
  68. runbooks/cfat/src/actions/check-ec2-existence.ts +46 -0
  69. runbooks/cfat/src/actions/check-iam-users.ts +50 -0
  70. runbooks/cfat/src/actions/check-legacy-cur.ts +30 -0
  71. runbooks/cfat/src/actions/check-org-cloudformation.ts +30 -0
  72. runbooks/cfat/src/actions/check-vpc-existence.ts +43 -0
  73. runbooks/cfat/src/actions/create-asanaimport.ts +14 -0
  74. runbooks/cfat/src/actions/create-backlog.ts +372 -0
  75. runbooks/cfat/src/actions/create-jiraimport.ts +15 -0
  76. runbooks/cfat/src/actions/create-report.ts +616 -0
  77. runbooks/cfat/src/actions/define-account-type.ts +51 -0
  78. runbooks/cfat/src/actions/get-enabled-org-policy-types.ts +40 -0
  79. runbooks/cfat/src/actions/get-enabled-org-services.ts +26 -0
  80. runbooks/cfat/src/actions/get-idc-info.ts +34 -0
  81. runbooks/cfat/src/actions/get-org-da-accounts.ts +34 -0
  82. runbooks/cfat/src/actions/get-org-details.ts +35 -0
  83. runbooks/cfat/src/actions/get-org-member-accounts.ts +44 -0
  84. runbooks/cfat/src/actions/get-org-ous.ts +35 -0
  85. runbooks/cfat/src/actions/get-regions.ts +22 -0
  86. runbooks/cfat/src/actions/zip-assessment.ts +27 -0
  87. runbooks/cfat/src/types/index.d.ts +147 -0
  88. runbooks/cfat/tests/__init__.py +141 -0
  89. runbooks/cfat/tests/test_cli.py +340 -0
  90. runbooks/cfat/tests/test_integration.py +290 -0
  91. runbooks/cfat/tests/test_models.py +505 -0
  92. runbooks/cfat/tests/test_reporting.py +354 -0
  93. runbooks/cfat/tsconfig.json +16 -0
  94. runbooks/cfat/webpack.config.cjs +27 -0
  95. runbooks/config.py +260 -0
  96. runbooks/finops/README.md +337 -0
  97. runbooks/finops/__init__.py +86 -0
  98. runbooks/finops/aws_client.py +245 -0
  99. runbooks/finops/cli.py +151 -0
  100. runbooks/finops/cost_processor.py +410 -0
  101. runbooks/finops/dashboard_runner.py +448 -0
  102. runbooks/finops/helpers.py +355 -0
  103. runbooks/finops/main.py +14 -0
  104. runbooks/finops/profile_processor.py +174 -0
  105. runbooks/finops/types.py +66 -0
  106. runbooks/finops/visualisations.py +80 -0
  107. runbooks/inventory/.gitignore +354 -0
  108. runbooks/inventory/ArgumentsClass.py +261 -0
  109. runbooks/inventory/FAILED_SCRIPTS_TROUBLESHOOTING.md +619 -0
  110. runbooks/inventory/Inventory_Modules.py +6130 -0
  111. runbooks/inventory/LandingZone/delete_lz.py +1075 -0
  112. runbooks/inventory/PASSED_SCRIPTS_GUIDE.md +738 -0
  113. runbooks/inventory/README.md +1320 -0
  114. runbooks/inventory/__init__.py +62 -0
  115. runbooks/inventory/account_class.py +532 -0
  116. runbooks/inventory/all_my_instances_wrapper.py +123 -0
  117. runbooks/inventory/aws_decorators.py +201 -0
  118. runbooks/inventory/aws_organization.png +0 -0
  119. runbooks/inventory/cfn_move_stack_instances.py +1526 -0
  120. runbooks/inventory/check_cloudtrail_compliance.py +614 -0
  121. runbooks/inventory/check_controltower_readiness.py +1107 -0
  122. runbooks/inventory/check_landingzone_readiness.py +711 -0
  123. runbooks/inventory/cloudtrail.md +727 -0
  124. runbooks/inventory/collectors/__init__.py +20 -0
  125. runbooks/inventory/collectors/aws_compute.py +518 -0
  126. runbooks/inventory/collectors/aws_networking.py +275 -0
  127. runbooks/inventory/collectors/base.py +222 -0
  128. runbooks/inventory/core/__init__.py +19 -0
  129. runbooks/inventory/core/collector.py +303 -0
  130. runbooks/inventory/core/formatter.py +296 -0
  131. runbooks/inventory/delete_s3_buckets_objects.py +169 -0
  132. runbooks/inventory/discovery.md +81 -0
  133. runbooks/inventory/draw_org_structure.py +748 -0
  134. runbooks/inventory/ec2_vpc_utils.py +341 -0
  135. runbooks/inventory/find_cfn_drift_detection.py +272 -0
  136. runbooks/inventory/find_cfn_orphaned_stacks.py +719 -0
  137. runbooks/inventory/find_cfn_stackset_drift.py +733 -0
  138. runbooks/inventory/find_ec2_security_groups.py +669 -0
  139. runbooks/inventory/find_landingzone_versions.py +201 -0
  140. runbooks/inventory/find_vpc_flow_logs.py +1221 -0
  141. runbooks/inventory/inventory.sh +659 -0
  142. runbooks/inventory/list_cfn_stacks.py +558 -0
  143. runbooks/inventory/list_cfn_stackset_operation_results.py +252 -0
  144. runbooks/inventory/list_cfn_stackset_operations.py +734 -0
  145. runbooks/inventory/list_cfn_stacksets.py +453 -0
  146. runbooks/inventory/list_config_recorders_delivery_channels.py +681 -0
  147. runbooks/inventory/list_ds_directories.py +354 -0
  148. runbooks/inventory/list_ec2_availability_zones.py +286 -0
  149. runbooks/inventory/list_ec2_ebs_volumes.py +244 -0
  150. runbooks/inventory/list_ec2_instances.py +425 -0
  151. runbooks/inventory/list_ecs_clusters_and_tasks.py +562 -0
  152. runbooks/inventory/list_elbs_load_balancers.py +411 -0
  153. runbooks/inventory/list_enis_network_interfaces.py +526 -0
  154. runbooks/inventory/list_guardduty_detectors.py +568 -0
  155. runbooks/inventory/list_iam_policies.py +404 -0
  156. runbooks/inventory/list_iam_roles.py +518 -0
  157. runbooks/inventory/list_iam_saml_providers.py +359 -0
  158. runbooks/inventory/list_lambda_functions.py +882 -0
  159. runbooks/inventory/list_org_accounts.py +446 -0
  160. runbooks/inventory/list_org_accounts_users.py +354 -0
  161. runbooks/inventory/list_rds_db_instances.py +406 -0
  162. runbooks/inventory/list_route53_hosted_zones.py +318 -0
  163. runbooks/inventory/list_servicecatalog_provisioned_products.py +575 -0
  164. runbooks/inventory/list_sns_topics.py +360 -0
  165. runbooks/inventory/list_ssm_parameters.py +402 -0
  166. runbooks/inventory/list_vpc_subnets.py +433 -0
  167. runbooks/inventory/list_vpcs.py +422 -0
  168. runbooks/inventory/lockdown_cfn_stackset_role.py +224 -0
  169. runbooks/inventory/models/__init__.py +24 -0
  170. runbooks/inventory/models/account.py +192 -0
  171. runbooks/inventory/models/inventory.py +309 -0
  172. runbooks/inventory/models/resource.py +247 -0
  173. runbooks/inventory/recover_cfn_stack_ids.py +205 -0
  174. runbooks/inventory/requirements.txt +12 -0
  175. runbooks/inventory/run_on_multi_accounts.py +211 -0
  176. runbooks/inventory/tests/common_test_data.py +3661 -0
  177. runbooks/inventory/tests/common_test_functions.py +204 -0
  178. runbooks/inventory/tests/setup.py +24 -0
  179. runbooks/inventory/tests/src.py +18 -0
  180. runbooks/inventory/tests/test_cfn_describe_stacks.py +208 -0
  181. runbooks/inventory/tests/test_ec2_describe_instances.py +162 -0
  182. runbooks/inventory/tests/test_inventory_modules.py +55 -0
  183. runbooks/inventory/tests/test_lambda_list_functions.py +86 -0
  184. runbooks/inventory/tests/test_moto_integration_example.py +273 -0
  185. runbooks/inventory/tests/test_org_list_accounts.py +49 -0
  186. runbooks/inventory/update_aws_actions.py +173 -0
  187. runbooks/inventory/update_cfn_stacksets.py +1215 -0
  188. runbooks/inventory/update_cloudwatch_logs_retention_policy.py +294 -0
  189. runbooks/inventory/update_iam_roles_cross_accounts.py +478 -0
  190. runbooks/inventory/update_s3_public_access_block.py +539 -0
  191. runbooks/inventory/utils/__init__.py +23 -0
  192. runbooks/inventory/utils/aws_helpers.py +510 -0
  193. runbooks/inventory/utils/threading_utils.py +493 -0
  194. runbooks/inventory/utils/validation.py +682 -0
  195. runbooks/inventory/verify_ec2_security_groups.py +1430 -0
  196. runbooks/main.py +1004 -0
  197. runbooks/organizations/__init__.py +12 -0
  198. runbooks/organizations/manager.py +374 -0
  199. runbooks/security/README.md +447 -0
  200. runbooks/security/__init__.py +71 -0
  201. runbooks/{security_baseline → security}/checklist/alternate_contacts.py +8 -1
  202. runbooks/{security_baseline → security}/checklist/bucket_public_access.py +4 -1
  203. runbooks/{security_baseline → security}/checklist/cloudwatch_alarm_configuration.py +9 -2
  204. runbooks/{security_baseline → security}/checklist/guardduty_enabled.py +9 -2
  205. runbooks/{security_baseline → security}/checklist/multi_region_instance_usage.py +5 -1
  206. runbooks/{security_baseline → security}/checklist/root_access_key.py +6 -1
  207. runbooks/{security_baseline → security}/config-origin.json +1 -1
  208. runbooks/{security_baseline → security}/config.json +1 -1
  209. runbooks/{security_baseline → security}/permission.json +1 -1
  210. runbooks/{security_baseline → security}/report_generator.py +10 -2
  211. runbooks/{security_baseline → security}/report_template_en.html +7 -7
  212. runbooks/{security_baseline → security}/report_template_jp.html +7 -7
  213. runbooks/{security_baseline → security}/report_template_kr.html +12 -12
  214. runbooks/{security_baseline → security}/report_template_vn.html +7 -7
  215. runbooks/{security_baseline → security}/run_script.py +8 -2
  216. runbooks/{security_baseline → security}/security_baseline_tester.py +12 -4
  217. runbooks/{security_baseline → security}/utils/common.py +5 -1
  218. runbooks/utils/__init__.py +204 -0
  219. runbooks-0.7.0.dist-info/METADATA +375 -0
  220. runbooks-0.7.0.dist-info/RECORD +249 -0
  221. {runbooks-0.2.5.dist-info → runbooks-0.7.0.dist-info}/WHEEL +1 -1
  222. runbooks-0.7.0.dist-info/entry_points.txt +7 -0
  223. runbooks-0.7.0.dist-info/licenses/LICENSE +201 -0
  224. runbooks-0.7.0.dist-info/top_level.txt +3 -0
  225. runbooks/python101/calculator.py +0 -34
  226. runbooks/python101/config.py +0 -1
  227. runbooks/python101/exceptions.py +0 -16
  228. runbooks/python101/file_manager.py +0 -218
  229. runbooks/python101/toolkit.py +0 -153
  230. runbooks-0.2.5.dist-info/METADATA +0 -439
  231. runbooks-0.2.5.dist-info/RECORD +0 -61
  232. runbooks-0.2.5.dist-info/entry_points.txt +0 -3
  233. runbooks-0.2.5.dist-info/top_level.txt +0 -1
  234. /runbooks/{security_baseline/__init__.py → inventory/tests/script_test_data.py} +0 -0
  235. /runbooks/{security_baseline → security}/checklist/__init__.py +0 -0
  236. /runbooks/{security_baseline → security}/checklist/account_level_bucket_public_access.py +0 -0
  237. /runbooks/{security_baseline → security}/checklist/direct_attached_policy.py +0 -0
  238. /runbooks/{security_baseline → security}/checklist/iam_password_policy.py +0 -0
  239. /runbooks/{security_baseline → security}/checklist/iam_user_mfa.py +0 -0
  240. /runbooks/{security_baseline → security}/checklist/multi_region_trail.py +0 -0
  241. /runbooks/{security_baseline → security}/checklist/root_mfa.py +0 -0
  242. /runbooks/{security_baseline → security}/checklist/root_usage.py +0 -0
  243. /runbooks/{security_baseline → security}/checklist/trail_enabled.py +0 -0
  244. /runbooks/{security_baseline → security}/checklist/trusted_advisor.py +0 -0
  245. /runbooks/{security_baseline → security}/utils/__init__.py +0 -0
  246. /runbooks/{security_baseline → security}/utils/enums.py +0 -0
  247. /runbooks/{security_baseline → security}/utils/language.py +0 -0
  248. /runbooks/{security_baseline → security}/utils/level_const.py +0 -0
  249. /runbooks/{security_baseline → security}/utils/permission_list.py +0 -0
@@ -0,0 +1,3661 @@
1
+ from datetime import datetime
2
+
3
+ from dateutil.tz import tzlocal, tzutc
4
+
5
+ ListAccountsResponseData = {
6
+ "Accounts": [
7
+ {
8
+ "Id": "111122223333",
9
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/111122223333",
10
+ "Email": "example+LZRoot@notreal.com",
11
+ "Name": "LZRoot2",
12
+ "Status": "ACTIVE",
13
+ "JoinedMethod": "INVITED",
14
+ "JoinedTimestamp": datetime(2018, 7, 19, 23, 32, 57, 676000, tzinfo=tzlocal()),
15
+ },
16
+ {
17
+ "Id": "777777777777",
18
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykEXAMPLEmn/777777777777",
19
+ "Email": "example+LZ2FSA@notreal.com",
20
+ "Name": "fsa-services",
21
+ "Status": "ACTIVE",
22
+ "JoinedMethod": "CREATED",
23
+ "JoinedTimestamp": datetime(2018, 12, 5, 4, 2, 39, 398000, tzinfo=tzlocal()),
24
+ },
25
+ {
26
+ "Id": "333333333333",
27
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/333333333333",
28
+ "Email": "example+LZ_Demo3@notreal.com",
29
+ "Name": "Test-Demo3",
30
+ "Status": "ACTIVE",
31
+ "JoinedMethod": "INVITED",
32
+ "JoinedTimestamp": datetime(2020, 9, 8, 18, 32, 1, 416000, tzinfo=tzlocal()),
33
+ },
34
+ {
35
+ "Id": "555555555555",
36
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/555555555555",
37
+ "Email": "example+LZ_Sec@notreal.com",
38
+ "Name": "security",
39
+ "Status": "ACTIVE",
40
+ "JoinedMethod": "CREATED",
41
+ "JoinedTimestamp": datetime(2018, 10, 30, 17, 12, 14, 78000, tzinfo=tzlocal()),
42
+ },
43
+ {
44
+ "Id": "888888888888",
45
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/888888888888",
46
+ "Email": "example+LZ4-Log@notreal.com",
47
+ "Name": "logging",
48
+ "Status": "ACTIVE",
49
+ "JoinedMethod": "INVITED",
50
+ "JoinedTimestamp": datetime(2021, 2, 17, 15, 10, 24, 597000, tzinfo=tzlocal()),
51
+ },
52
+ {
53
+ "Id": "222222222222",
54
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/222222222222",
55
+ "Email": "example+LZ4-SS@notreal.com",
56
+ "Name": "shared-services",
57
+ "Status": "ACTIVE",
58
+ "JoinedMethod": "INVITED",
59
+ "JoinedTimestamp": datetime(2021, 2, 17, 15, 10, 46, 390000, tzinfo=tzlocal()),
60
+ },
61
+ {
62
+ "Id": "999999999999",
63
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/999999999999",
64
+ "Email": "example+LZ_Demo23@notreal.com",
65
+ "Name": "Test-Demo23",
66
+ "Status": "ACTIVE",
67
+ "JoinedMethod": "CREATED",
68
+ "JoinedTimestamp": datetime(2020, 7, 23, 18, 16, 52, 900000, tzinfo=tzlocal()),
69
+ },
70
+ {
71
+ "Id": "444444444444",
72
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/444444444444",
73
+ "Email": "example+LZ_Log@notreal.com",
74
+ "Name": "logging",
75
+ "Status": "ACTIVE",
76
+ "JoinedMethod": "CREATED",
77
+ "JoinedTimestamp": datetime(2018, 10, 30, 17, 17, 51, 248000, tzinfo=tzlocal()),
78
+ },
79
+ {
80
+ "Id": "666666666666",
81
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/666666666666",
82
+ "Email": "example+LZ2SS@notreal.com",
83
+ "Name": "shared-services",
84
+ "Status": "ACTIVE",
85
+ "JoinedMethod": "CREATED",
86
+ "JoinedTimestamp": datetime(2018, 10, 26, 23, 27, 11, 350000, tzinfo=tzlocal()),
87
+ },
88
+ {
89
+ "Id": "111111111111",
90
+ "Arn": "arn:aws:organizations::111122223333:account/o-ykfx0legmn/111111111111",
91
+ "Email": "example+Demo2@notreal.com",
92
+ "Name": "Demo2",
93
+ "Status": "ACTIVE",
94
+ "JoinedMethod": "CREATED",
95
+ "JoinedTimestamp": datetime(2018, 12, 4, 10, 15, 6, 149000, tzinfo=tzlocal()),
96
+ },
97
+ ]
98
+ }
99
+ DescribeRegionsResponseData = {
100
+ "Regions": [
101
+ {"Endpoint": "ec2.af-south-1.amazonaws.com", "RegionName": "af-south-1", "OptInStatus": "opted-in"},
102
+ {"Endpoint": "ec2.ap-south-1.amazonaws.com", "RegionName": "ap-south-1", "OptInStatus": "opt-in-not-required"},
103
+ {"Endpoint": "ec2.eu-north-1.amazonaws.com", "RegionName": "eu-north-1", "OptInStatus": "opt-in-not-required"},
104
+ {"Endpoint": "ec2.eu-west-3.amazonaws.com", "RegionName": "eu-west-3", "OptInStatus": "opt-in-not-required"},
105
+ {"Endpoint": "ec2.eu-south-1.amazonaws.com", "RegionName": "eu-south-1", "OptInStatus": "opted-in"},
106
+ {"Endpoint": "ec2.eu-west-2.amazonaws.com", "RegionName": "eu-west-2", "OptInStatus": "opt-in-not-required"},
107
+ {"Endpoint": "ec2.eu-west-1.amazonaws.com", "RegionName": "eu-west-1", "OptInStatus": "opt-in-not-required"},
108
+ {
109
+ "Endpoint": "ec2.ap-northeast-3.amazonaws.com",
110
+ "RegionName": "ap-northeast-3",
111
+ "OptInStatus": "opt-in-not-required",
112
+ },
113
+ {
114
+ "Endpoint": "ec2.ap-northeast-2.amazonaws.com",
115
+ "RegionName": "ap-northeast-2",
116
+ "OptInStatus": "opt-in-not-required",
117
+ },
118
+ {"Endpoint": "ec2.me-south-1.amazonaws.com", "RegionName": "me-south-1", "OptInStatus": "opted-in"},
119
+ {
120
+ "Endpoint": "ec2.ap-northeast-1.amazonaws.com",
121
+ "RegionName": "ap-northeast-1",
122
+ "OptInStatus": "opt-in-not-required",
123
+ },
124
+ {"Endpoint": "ec2.il-central-1.amazonaws.com", "RegionName": "il-central-1", "OptInStatus": "opted-in"},
125
+ {
126
+ "Endpoint": "ec2.ca-central-1.amazonaws.com",
127
+ "RegionName": "ca-central-1",
128
+ "OptInStatus": "opt-in-not-required",
129
+ },
130
+ {"Endpoint": "ec2.sa-east-1.amazonaws.com", "RegionName": "sa-east-1", "OptInStatus": "opt-in-not-required"},
131
+ {
132
+ "Endpoint": "ec2.ap-southeast-1.amazonaws.com",
133
+ "RegionName": "ap-southeast-1",
134
+ "OptInStatus": "opt-in-not-required",
135
+ },
136
+ {
137
+ "Endpoint": "ec2.ap-southeast-2.amazonaws.com",
138
+ "RegionName": "ap-southeast-2",
139
+ "OptInStatus": "opt-in-not-required",
140
+ },
141
+ {
142
+ "Endpoint": "ec2.eu-central-1.amazonaws.com",
143
+ "RegionName": "eu-central-1",
144
+ "OptInStatus": "opt-in-not-required",
145
+ },
146
+ {"Endpoint": "ec2.eu-central-2.amazonaws.com", "RegionName": "eu-central-2", "OptInStatus": "opted-in"},
147
+ {"Endpoint": "ec2.us-east-1.amazonaws.com", "RegionName": "us-east-1", "OptInStatus": "opt-in-not-required"},
148
+ {"Endpoint": "ec2.us-east-2.amazonaws.com", "RegionName": "us-east-2", "OptInStatus": "opt-in-not-required"},
149
+ {"Endpoint": "ec2.us-west-1.amazonaws.com", "RegionName": "us-west-1", "OptInStatus": "opt-in-not-required"},
150
+ {"Endpoint": "ec2.us-west-2.amazonaws.com", "RegionName": "us-west-2", "OptInStatus": "opt-in-not-required"},
151
+ ]
152
+ }
153
+ DescribeOrganizationsResponseData = {
154
+ "Organization": {
155
+ "Id": "o-ykEXAMPLEmn",
156
+ "Arn": "arn:aws:organizations::111122223333:organization/o-ykEXAMPLEmn",
157
+ "FeatureSet": "ALL",
158
+ "MasterAccountArn": "arn:aws:organizations::111122223333:account/o-ykEXAMPLEmn/111122223333",
159
+ "MasterAccountId": "111122223333",
160
+ "MasterAccountEmail": "me+LZRoot@notreal.com",
161
+ "AvailablePolicyTypes": [{"Type": "SERVICE_CONTROL_POLICY", "Status": "ENABLED"}],
162
+ }
163
+ }
164
+ GetCallerIdentity = {
165
+ "UserId": "xxxx111122223333xxxxx",
166
+ "Account": "111122223333",
167
+ "Arn": "arn:aws:iam::111122223333:user/Paul",
168
+ }
169
+ cli_provided_parameters1 = {
170
+ "pProfiles": ["LZRoot14"],
171
+ "pRegionList": ["us-east-1", "eu-west-1"],
172
+ "pSkipProfiles": [],
173
+ "pSkipAccounts": [],
174
+ "pRoleList": [],
175
+ "pAccountList": [],
176
+ "pTiming": True,
177
+ "pRootOnly": False,
178
+ "pSaveFilename": None,
179
+ "pShortform": False,
180
+ "pverbose": 20,
181
+ }
182
+ cli_provided_parameters2 = {
183
+ "pProfiles": ["LZRoot"],
184
+ "pSkipProfiles": [],
185
+ "pAccountList": [],
186
+ "pTiming": True,
187
+ "pRootOnly": True,
188
+ "pSaveFilename": None,
189
+ "pShortform": False,
190
+ "pverbose": 50,
191
+ }
192
+
193
+ # Below is 10 Credentials
194
+ CredentialResponseData = [
195
+ # Management Account Credentials
196
+ {
197
+ "ParentAcctId": "111122223333",
198
+ "MgmtAccount": "111122223333",
199
+ "OrgType": "Root",
200
+ "AccessKeyId": "xxxx111122223333xxxxx",
201
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
202
+ "SessionToken": None,
203
+ "AccountNumber": "111122223333",
204
+ "AccountId": "111122223333",
205
+ "Region": "us-east-1",
206
+ "AccountStatus": "ACTIVE",
207
+ "RolesTried": None,
208
+ "Role": "Use Profile",
209
+ "Profile": "mock_profile",
210
+ "AccessError": False,
211
+ "Success": True,
212
+ "ErrorMessage": None,
213
+ "ParentProfile": "mock_profile_1",
214
+ },
215
+ # Child Accounts Credentials
216
+ {
217
+ "AccessKeyId": "xxxx444455556666xxxxx",
218
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
219
+ "SessionToken": "*****SessionTokenHere*****",
220
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
221
+ "ParentAcctId": "111122223333",
222
+ "MgmtAccount": "111122223333",
223
+ "OrgType": "Child",
224
+ "AccountNumber": "444455556666",
225
+ "AccountId": "444455556666",
226
+ "Region": "us-east-2",
227
+ "AccountStatus": "ACTIVE",
228
+ "RolesTried": None,
229
+ "Role": "AWSCloudFormationStackSetExecutionRole",
230
+ "Profile": None,
231
+ "AccessError": False,
232
+ "ErrorMessage": None,
233
+ "Success": True,
234
+ "ParentProfile": "mock_profile_2",
235
+ },
236
+ {
237
+ "AccessKeyId": "xxxx555566667777xxxxx",
238
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
239
+ "SessionToken": "*****SessionTokenHere*****",
240
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
241
+ "ParentAcctId": "111122223333",
242
+ "MgmtAccount": "111122223333",
243
+ "OrgType": "Child",
244
+ "AccountNumber": "555566667777",
245
+ "AccountId": "555566667777",
246
+ "Region": "us-west-2",
247
+ "AccountStatus": "ACTIVE",
248
+ "RolesTried": None,
249
+ "Role": "AWSCloudFormationStackSetExecutionRole",
250
+ "Profile": None,
251
+ "AccessError": False,
252
+ "ErrorMessage": None,
253
+ "Success": True,
254
+ "ParentProfile": "mock_profile_3",
255
+ },
256
+ {
257
+ "AccessKeyId": "xxxx555566667777xxxxx",
258
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
259
+ "SessionToken": "*****SessionTokenHere*****",
260
+ "Expiration": datetime(2023, 9, 8, 1, 30, 18, tzinfo=tzutc()),
261
+ "ParentAcctId": "111122223333",
262
+ "MgmtAccount": "111122223333",
263
+ "OrgType": "Child",
264
+ "AccountNumber": "555566667777",
265
+ "AccountId": "555566667777",
266
+ "Region": "eu-west-1",
267
+ "AccountStatus": "ACTIVE",
268
+ "RolesTried": None,
269
+ "Role": "AWSCloudFormationStackSetExecutionRole",
270
+ "Profile": None,
271
+ "AccessError": False,
272
+ "ErrorMessage": None,
273
+ "Success": True,
274
+ "ParentProfile": "mock_profile_4",
275
+ },
276
+ {
277
+ "AccessKeyId": "xxxx666677775555xxxxx",
278
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
279
+ "SessionToken": "*****SessionTokenHere*****",
280
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
281
+ "ParentAcctId": "111122223333",
282
+ "MgmtAccount": "111122223333",
283
+ "OrgType": "Child",
284
+ "AccountNumber": "666677775555",
285
+ "AccountId": "666677775555",
286
+ "Region": "eu-central-1",
287
+ "AccountStatus": "ACTIVE",
288
+ "RolesTried": None,
289
+ "Role": "AWSCloudFormationStackSetExecutionRole",
290
+ "Profile": None,
291
+ "AccessError": False,
292
+ "ErrorMessage": None,
293
+ "Success": True,
294
+ "ParentProfile": "mock_profile_5",
295
+ },
296
+ {
297
+ "AccessKeyId": "xxxx777755556666xxxxx",
298
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
299
+ "SessionToken": "*****SessionTokenHere*****",
300
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
301
+ "ParentAcctId": "111122223333",
302
+ "MgmtAccount": "111122223333",
303
+ "OrgType": "Child",
304
+ "AccountNumber": "777755556666",
305
+ "AccountId": "777755556666",
306
+ "Region": "eu-north-1",
307
+ "AccountStatus": "ACTIVE",
308
+ "RolesTried": None,
309
+ "Role": "AWSCloudFormationStackSetExecutionRole",
310
+ "Profile": None,
311
+ "AccessError": False,
312
+ "ErrorMessage": None,
313
+ "Success": True,
314
+ "ParentProfile": "mock_profile_6",
315
+ },
316
+ {
317
+ "AccessKeyId": "xxxx777755556666xxxxx",
318
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
319
+ "SessionToken": "*****SessionTokenHere*****",
320
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
321
+ "ParentAcctId": "111122223333",
322
+ "MgmtAccount": "111122223333",
323
+ "OrgType": "Child",
324
+ "AccountNumber": "777755556666",
325
+ "AccountId": "777755556666",
326
+ "Region": "eu-west-2",
327
+ "AccountStatus": "ACTIVE",
328
+ "RolesTried": None,
329
+ "Role": "AWSCloudFormationStackSetExecutionRole",
330
+ "Profile": None,
331
+ "AccessError": False,
332
+ "ErrorMessage": None,
333
+ "Success": True,
334
+ "ParentProfile": "mock_profile_7",
335
+ },
336
+ {
337
+ "AccessKeyId": "xxxx666677778888xxxxx",
338
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
339
+ "SessionToken": "*****SessionTokenHere*****",
340
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
341
+ "ParentAcctId": "111122223333",
342
+ "MgmtAccount": "111122223333",
343
+ "OrgType": "Child",
344
+ "AccountNumber": "666677778888",
345
+ "AccountId": "666677778888",
346
+ "Region": "ap-south-1",
347
+ "AccountStatus": "ACTIVE",
348
+ "RolesTried": None,
349
+ "Role": "AWSCloudFormationStackSetExecutionRole",
350
+ "Profile": None,
351
+ "AccessError": False,
352
+ "ErrorMessage": None,
353
+ "Success": True,
354
+ "ParentProfile": "mock_profile_8",
355
+ },
356
+ {
357
+ "AccessKeyId": "xxxx777788886666xxxxx",
358
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
359
+ "SessionToken": "*****SessionTokenHere*****",
360
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
361
+ "ParentAcctId": "111122223333",
362
+ "MgmtAccount": "111122223333",
363
+ "OrgType": "Child",
364
+ "AccountNumber": "777788886666",
365
+ "AccountId": "777788886666",
366
+ "Region": "il-central-1",
367
+ "AccountStatus": "ACTIVE",
368
+ "RolesTried": None,
369
+ "Role": "AWSCloudFormationStackSetExecutionRole",
370
+ "Profile": None,
371
+ "AccessError": False,
372
+ "ErrorMessage": None,
373
+ "Success": True,
374
+ "ParentProfile": "mock_profile_9",
375
+ },
376
+ {
377
+ "AccessKeyId": "xxxx888866667777xxxxx",
378
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
379
+ "SessionToken": "*****SessionTokenHere*****",
380
+ "Expiration": datetime(2023, 9, 8, 1, 30, tzinfo=tzutc()),
381
+ "ParentAcctId": "111122223333",
382
+ "MgmtAccount": "111122223333",
383
+ "OrgType": "Child",
384
+ "AccountNumber": "888866667777",
385
+ "AccountId": "888866667777",
386
+ "Region": "af-south-1",
387
+ "AccountStatus": "ACTIVE",
388
+ "RolesTried": None,
389
+ "Role": "AWSCloudFormationStackSetExecutionRole",
390
+ "Profile": None,
391
+ "AccessError": False,
392
+ "ErrorMessage": None,
393
+ "Success": True,
394
+ "ParentProfile": "mock_profile_10",
395
+ },
396
+ ]
397
+
398
+ AssumeRoleResponseData = {
399
+ "Credentials": {
400
+ "AccessKeyId": "xxxxAccountNumberxxxxx",
401
+ "SecretAccessKey": "*****SecretAccessKeyHere*****",
402
+ "SessionToken": "*****SessionTokenHere*****",
403
+ "Expiration": datetime(2023, 9, 24, 0, 3, 4, tzinfo=tzutc()),
404
+ }
405
+ }
406
+ # 20 functions below - all meeting the filter criteria of either being runtime 'python3.9' or with the fragment 'Metric' in the name, all within one account, within one region (us-east-1).
407
+ # Function response data from the Inventory_Scripts function, and not boto3.
408
+ t = [
409
+ {
410
+ "FunctionName": "Create_CW_Metrics",
411
+ "FunctionArn": "arn:aws:lambda:us-east-1:111111111111:function:Create_CW_Metrics",
412
+ "Role": "Create_CW_MetricsRole",
413
+ "Runtime": "python3.9",
414
+ "MgmtAccount": "111122223333",
415
+ "AccountId": "111122223333",
416
+ "Region": "us-east-1",
417
+ "AccessKeyId": "***AccessKeyIdHere***",
418
+ "SecretAccessKey": "***SecretAccessKeyHere***",
419
+ "SessionToken": "***SessionTokenHere***",
420
+ },
421
+ {
422
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
423
+ "FunctionArn": "arn:aws:lambda:us-east-1:111111111111:function:LandingZoneLocalSNSNotificationForwarder",
424
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-10GM1SS21LPJ4",
425
+ "Runtime": "python3.9",
426
+ "MgmtAccount": "111122223333",
427
+ "AccountId": "111122223333",
428
+ "Region": "us-east-1",
429
+ "AccessKeyId": "***AccessKeyIdHere***",
430
+ "SecretAccessKey": "***SecretAccessKeyHere***",
431
+ "SessionToken": "***SessionTokenHere***",
432
+ },
433
+ {
434
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-14R9E4I39TMGH",
435
+ "FunctionArn": "arn:aws:lambda:us-east-1:111111111111:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-14R9E4I39TMGH",
436
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-1ROC6UIWPU7BM",
437
+ "Runtime": "python3.8",
438
+ "MgmtAccount": "111122223333",
439
+ "AccountId": "111122223333",
440
+ "Region": "us-east-1",
441
+ "AccessKeyId": "***AccessKeyIdHere***",
442
+ "SecretAccessKey": "***SecretAccessKeyHere***",
443
+ "SessionToken": "***SessionTokenHere***",
444
+ },
445
+ {
446
+ "FunctionName": "CloudFormationApply",
447
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:CloudFormationApply",
448
+ "Role": "service-role/myLambdaRunCode_Role",
449
+ "Runtime": "python3.9",
450
+ "MgmtAccount": "111122223333",
451
+ "AccountId": "111122223333",
452
+ "Region": "us-east-1",
453
+ "AccessKeyId": "***AccessKeyIdHere***",
454
+ "SecretAccessKey": "***SecretAccessKeyHere***",
455
+ "SessionToken": None,
456
+ },
457
+ {
458
+ "FunctionName": "Create_CW_Metrics",
459
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:Create_CW_Metrics",
460
+ "Role": "Create_CW_MetricsRole",
461
+ "Runtime": "python3.9",
462
+ "MgmtAccount": "111122223333",
463
+ "AccountId": "111122223333",
464
+ "Region": "us-east-1",
465
+ "AccessKeyId": "***AccessKeyIdHere***",
466
+ "SecretAccessKey": "***SecretAccessKeyHere***",
467
+ "SessionToken": None,
468
+ },
469
+ {
470
+ "FunctionName": "LandingZone",
471
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZone",
472
+ "Role": "LandingZoneLambdaRole",
473
+ "Runtime": "python3.9",
474
+ "MgmtAccount": "111122223333",
475
+ "AccountId": "111122223333",
476
+ "Region": "us-east-1",
477
+ "AccessKeyId": "***AccessKeyIdHere***",
478
+ "SecretAccessKey": "***SecretAccessKeyHere***",
479
+ "SessionToken": None,
480
+ },
481
+ {
482
+ "FunctionName": "LandingZoneAddonPublisher",
483
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZoneAddonPublisher",
484
+ "Role": "LZ-Initiation-PublisherLambdaRole-1U2ELSGH61W55",
485
+ "Runtime": "python3.9",
486
+ "MgmtAccount": "111122223333",
487
+ "AccountId": "111122223333",
488
+ "Region": "us-east-1",
489
+ "AccessKeyId": "***AccessKeyIdHere***",
490
+ "SecretAccessKey": "***SecretAccessKeyHere***",
491
+ "SessionToken": None,
492
+ },
493
+ {
494
+ "FunctionName": "LandingZoneDeploymentLambda",
495
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZoneDeploymentLambda",
496
+ "Role": "LandingZoneDeploymentLambdaRole",
497
+ "Runtime": "python3.9",
498
+ "MgmtAccount": "111122223333",
499
+ "AccountId": "111122223333",
500
+ "Region": "us-east-1",
501
+ "AccessKeyId": "***AccessKeyIdHere***",
502
+ "SecretAccessKey": "***SecretAccessKeyHere***",
503
+ "SessionToken": None,
504
+ },
505
+ {
506
+ "FunctionName": "LandingZoneHandshakeSMLambda",
507
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZoneHandshakeSMLambda",
508
+ "Role": "LandingZoneHandshakeSMLambdaRole",
509
+ "Runtime": "python3.9",
510
+ "MgmtAccount": "111122223333",
511
+ "AccountId": "111122223333",
512
+ "Region": "us-east-1",
513
+ "AccessKeyId": "***AccessKeyIdHere***",
514
+ "SecretAccessKey": "***SecretAccessKeyHere***",
515
+ "SessionToken": None,
516
+ },
517
+ {
518
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
519
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZoneLocalSNSNotificationForwarder",
520
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-1J4CB75JBXNYO",
521
+ "Runtime": "python3.9",
522
+ "MgmtAccount": "111122223333",
523
+ "AccountId": "111122223333",
524
+ "Region": "us-east-1",
525
+ "AccessKeyId": "***AccessKeyIdHere***",
526
+ "SecretAccessKey": "***SecretAccessKeyHere***",
527
+ "SessionToken": None,
528
+ },
529
+ {
530
+ "FunctionName": "LandingZoneStateMachineLambda",
531
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZoneStateMachineLambda",
532
+ "Role": "StateMachineLambdaRole",
533
+ "Runtime": "python3.9",
534
+ "MgmtAccount": "111122223333",
535
+ "AccountId": "111122223333",
536
+ "Region": "us-east-1",
537
+ "AccessKeyId": "***AccessKeyIdHere***",
538
+ "SecretAccessKey": "***SecretAccessKeyHere***",
539
+ "SessionToken": None,
540
+ },
541
+ {
542
+ "FunctionName": "LandingZoneStateMachineTriggerLambda",
543
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZoneStateMachineTriggerLambda",
544
+ "Role": "StateMachineTriggerLambdaRole",
545
+ "Runtime": "python3.9",
546
+ "MgmtAccount": "111122223333",
547
+ "AccountId": "111122223333",
548
+ "Region": "us-east-1",
549
+ "AccessKeyId": "***AccessKeyIdHere***",
550
+ "SecretAccessKey": "***SecretAccessKeyHere***",
551
+ "SessionToken": None,
552
+ },
553
+ {
554
+ "FunctionName": "SC-111122223333-pp-n6374w-LandingZoneAddOnDeployme-3vcpGQMxeWXT",
555
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:SC-111122223333-pp-n6374w-LandingZoneAddOnDeployme-3vcpGQMxeWXT",
556
+ "Role": "LandingZoneDeploymentLambdaRole",
557
+ "Runtime": "python3.9",
558
+ "MgmtAccount": "111122223333",
559
+ "AccountId": "111122223333",
560
+ "Region": "us-east-1",
561
+ "AccessKeyId": "***AccessKeyIdHere***",
562
+ "SecretAccessKey": "***SecretAccessKeyHere***",
563
+ "SessionToken": None,
564
+ },
565
+ {
566
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-UF2T2MKY3NJF",
567
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-UF2T2MKY3NJF",
568
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-RVDISB3T58RV",
569
+ "Runtime": "python3.8",
570
+ "MgmtAccount": "111122223333",
571
+ "AccountId": "111122223333",
572
+ "Region": "us-east-1",
573
+ "AccessKeyId": "***AccessKeyIdHere***",
574
+ "SecretAccessKey": "***SecretAccessKeyHere***",
575
+ "SessionToken": None,
576
+ },
577
+ {
578
+ "FunctionName": "org-dep-checker-OrgDependencyCheckerFunction-LOoXu13rmtpr",
579
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:org-dep-checker-OrgDependencyCheckerFunction-LOoXu13rmtpr",
580
+ "Role": "org-dep-checker-OrgDependencyCheckerFunctionRole-Q70Z1POVGX9S",
581
+ "Runtime": "python3.8",
582
+ "MgmtAccount": "111122223333",
583
+ "AccountId": "111122223333",
584
+ "Region": "us-east-1",
585
+ "AccessKeyId": "***AccessKeyIdHere***",
586
+ "SecretAccessKey": "***SecretAccessKeyHere***",
587
+ "SessionToken": None,
588
+ },
589
+ {
590
+ "FunctionName": "Create_CW_Metrics",
591
+ "FunctionArn": "arn:aws:lambda:us-east-1:292902349725:function:Create_CW_Metrics",
592
+ "Role": "Create_CW_MetricsRole",
593
+ "Runtime": "python3.9",
594
+ "MgmtAccount": "111122223333",
595
+ "AccountId": "292902349725",
596
+ "Region": "us-east-1",
597
+ "AccessKeyId": "***AccessKeyIdHere***",
598
+ "SecretAccessKey": "***SecretAccessKeyHere***",
599
+ "SessionToken": "***SessionTokenHere***",
600
+ },
601
+ {
602
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
603
+ "FunctionArn": "arn:aws:lambda:us-east-1:292902349725:function:LandingZoneLocalSNSNotificationForwarder",
604
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-1B95P1B7Y1U3H",
605
+ "Runtime": "python3.9",
606
+ "MgmtAccount": "111122223333",
607
+ "AccountId": "292902349725",
608
+ "Region": "us-east-1",
609
+ "AccessKeyId": "***AccessKeyIdHere***",
610
+ "SecretAccessKey": "***SecretAccessKeyHere***",
611
+ "SessionToken": "***SessionTokenHere***",
612
+ },
613
+ {
614
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-E3EYVN9PTV7I",
615
+ "FunctionArn": "arn:aws:lambda:us-east-1:292902349725:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-E3EYVN9PTV7I",
616
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-4TLTYE61OQRU",
617
+ "Runtime": "python3.8",
618
+ "MgmtAccount": "111122223333",
619
+ "AccountId": "292902349725",
620
+ "Region": "us-east-1",
621
+ "AccessKeyId": "***AccessKeyIdHere***",
622
+ "SecretAccessKey": "***SecretAccessKeyHere***",
623
+ "SessionToken": "***SessionTokenHere***",
624
+ },
625
+ {
626
+ "FunctionName": "Create_CW_Metrics",
627
+ "FunctionArn": "arn:aws:lambda:us-east-1:222222222222:function:Create_CW_Metrics",
628
+ "Role": "Create_CW_MetricsRole",
629
+ "Runtime": "python3.9",
630
+ "MgmtAccount": "111122223333",
631
+ "AccountId": "111122223333",
632
+ "Region": "us-east-1",
633
+ "AccessKeyId": "***AccessKeyIdHere***",
634
+ "SecretAccessKey": "***SecretAccessKeyHere***",
635
+ "SessionToken": "***SessionTokenHere***",
636
+ },
637
+ {
638
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
639
+ "FunctionArn": "arn:aws:lambda:us-east-1:222222222222:function:LandingZoneLocalSNSNotificationForwarder",
640
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-ZB120L4B39DW",
641
+ "Runtime": "python3.9",
642
+ "MgmtAccount": "111122223333",
643
+ "AccountId": "222222222222",
644
+ "Region": "us-east-1",
645
+ "AccessKeyId": "***AccessKeyIdHere***",
646
+ "SecretAccessKey": "***SecretAccessKeyHere***",
647
+ "SessionToken": "***SessionTokenHere***",
648
+ },
649
+ {
650
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-6KP78QBS1J5L",
651
+ "FunctionArn": "arn:aws:lambda:us-east-1:222222222222:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-6KP78QBS1J5L",
652
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-YKAMOJLAYNZV",
653
+ "Runtime": "python3.8",
654
+ "MgmtAccount": "111122223333",
655
+ "AccountId": "111122223333",
656
+ "Region": "us-east-1",
657
+ "AccessKeyId": "***AccessKeyIdHere***",
658
+ "SecretAccessKey": "***SecretAccessKeyHere***",
659
+ "SessionToken": "***SessionTokenHere***",
660
+ },
661
+ {
662
+ "FunctionName": "Create_CW_Metrics",
663
+ "FunctionArn": "arn:aws:lambda:us-east-1:333333333333:function:Create_CW_Metrics",
664
+ "Role": "Create_CW_MetricsRole",
665
+ "Runtime": "python3.9",
666
+ "MgmtAccount": "111122223333",
667
+ "AccountId": "111122223333",
668
+ "Region": "us-east-1",
669
+ "AccessKeyId": "***AccessKeyIdHere***",
670
+ "SecretAccessKey": "***SecretAccessKeyHere***",
671
+ "SessionToken": "***SessionTokenHere***",
672
+ },
673
+ {
674
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
675
+ "FunctionArn": "arn:aws:lambda:us-east-1:333333333333:function:LandingZoneLocalSNSNotificationForwarder",
676
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-1CI5HVHBI7WKR",
677
+ "Runtime": "python3.9",
678
+ "MgmtAccount": "111122223333",
679
+ "AccountId": "111122223333",
680
+ "Region": "us-east-1",
681
+ "AccessKeyId": "***AccessKeyIdHere***",
682
+ "SecretAccessKey": "***SecretAccessKeyHere***",
683
+ "SessionToken": "***SessionTokenHere***",
684
+ },
685
+ {
686
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-166N622Y1F1D8",
687
+ "FunctionArn": "arn:aws:lambda:us-east-1:333333333333:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-166N622Y1F1D8",
688
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-14NLLL8TQ2AIO",
689
+ "Runtime": "python3.8",
690
+ "MgmtAccount": "111122223333",
691
+ "AccountId": "111122223333",
692
+ "Region": "us-east-1",
693
+ "AccessKeyId": "***AccessKeyIdHere***",
694
+ "SecretAccessKey": "***SecretAccessKeyHere***",
695
+ "SessionToken": "***SessionTokenHere***",
696
+ },
697
+ {
698
+ "FunctionName": "Create_CW_Metrics",
699
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:Create_CW_Metrics",
700
+ "Role": "Create_CW_MetricsRole",
701
+ "Runtime": "python3.9",
702
+ "MgmtAccount": "111122223333",
703
+ "AccountId": "111122223333",
704
+ "Region": "us-east-1",
705
+ "AccessKeyId": "***AccessKeyIdHere***",
706
+ "SecretAccessKey": "***SecretAccessKeyHere***",
707
+ "SessionToken": "***SessionTokenHere***",
708
+ },
709
+ {
710
+ "FunctionName": "GetStartedLambdaProxyIntegration",
711
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:GetStartedLambdaProxyIntegration",
712
+ "Role": "service-role/GetStartedLambdaBasicExecutionRole",
713
+ "Runtime": "nodejs10.x",
714
+ "MgmtAccount": "111122223333",
715
+ "AccountId": "111122223333",
716
+ "Region": "us-east-1",
717
+ "AccessKeyId": "***AccessKeyIdHere***",
718
+ "SecretAccessKey": "***SecretAccessKeyHere***",
719
+ "SessionToken": "***SessionTokenHere***",
720
+ },
721
+ {
722
+ "FunctionName": "InvokeCloudFormation",
723
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:InvokeCloudFormation",
724
+ "Role": "service-role/InvokeCloudFormation-role-03z41yeg",
725
+ "Runtime": "nodejs10.x",
726
+ "MgmtAccount": "111122223333",
727
+ "AccountId": "111122223333",
728
+ "Region": "us-east-1",
729
+ "AccessKeyId": "***AccessKeyIdHere***",
730
+ "SecretAccessKey": "***SecretAccessKeyHere***",
731
+ "SessionToken": "***SessionTokenHere***",
732
+ },
733
+ {
734
+ "FunctionName": "LambdaAuthorizerExample",
735
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:LambdaAuthorizerExample",
736
+ "Role": "service-role/LambdaAuthorizerExample-role-03sn3n1k",
737
+ "Runtime": "python2.7",
738
+ "MgmtAccount": "111122223333",
739
+ "AccountId": "111122223333",
740
+ "Region": "us-east-1",
741
+ "AccessKeyId": "***AccessKeyIdHere***",
742
+ "SecretAccessKey": "***SecretAccessKeyHere***",
743
+ "SessionToken": "***SessionTokenHere***",
744
+ },
745
+ {
746
+ "FunctionName": "LambdaAuthorizerRequestTypeCustom",
747
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:LambdaAuthorizerRequestTypeCustom",
748
+ "Role": "service-role/LambdaAuthorizerRequestTypeCustom-role-iiyuxrue",
749
+ "Runtime": "python3.9",
750
+ "MgmtAccount": "111122223333",
751
+ "AccountId": "444444444444",
752
+ "Region": "us-east-1",
753
+ "AccessKeyId": "***AccessKeyIdHere***",
754
+ "SecretAccessKey": "***SecretAccessKeyHere***",
755
+ "SessionToken": "***SessionTokenHere***",
756
+ },
757
+ {
758
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
759
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:LandingZoneLocalSNSNotificationForwarder",
760
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-1WSZCDKENGDSH",
761
+ "Runtime": "python3.9",
762
+ "MgmtAccount": "111122223333",
763
+ "AccountId": "111122223333",
764
+ "Region": "us-east-1",
765
+ "AccessKeyId": "***AccessKeyIdHere***",
766
+ "SecretAccessKey": "***SecretAccessKeyHere***",
767
+ "SessionToken": "***SessionTokenHere***",
768
+ },
769
+ {
770
+ "FunctionName": "SagemakerInvokerBlazingText",
771
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:SagemakerInvokerBlazingText",
772
+ "Role": "service-role/SagemakerInvokerBlazingText-role-kkbzh050",
773
+ "Runtime": "python3.9",
774
+ "MgmtAccount": "111122223333",
775
+ "AccountId": "111122223333",
776
+ "Region": "us-east-1",
777
+ "AccessKeyId": "***AccessKeyIdHere***",
778
+ "SecretAccessKey": "***SecretAccessKeyHere***",
779
+ "SessionToken": "***SessionTokenHere***",
780
+ },
781
+ {
782
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-A3VSMQU7FRMR",
783
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-A3VSMQU7FRMR",
784
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-16O26U382TMXG",
785
+ "Runtime": "python3.8",
786
+ "MgmtAccount": "111122223333",
787
+ "AccountId": "111122223333",
788
+ "Region": "us-east-1",
789
+ "AccessKeyId": "***AccessKeyIdHere***",
790
+ "SecretAccessKey": "***SecretAccessKeyHere***",
791
+ "SessionToken": "***SessionTokenHere***",
792
+ },
793
+ {
794
+ "FunctionName": "Telemetry_LogCleaup",
795
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:Telemetry_LogCleaup",
796
+ "Role": "service-role/Telemetry_LogCleaup-role-aomd82zq",
797
+ "Runtime": "python3.9",
798
+ "MgmtAccount": "111122223333",
799
+ "AccountId": "111122223333",
800
+ "Region": "us-east-1",
801
+ "AccessKeyId": "***AccessKeyIdHere***",
802
+ "SecretAccessKey": "***SecretAccessKeyHere***",
803
+ "SessionToken": "***SessionTokenHere***",
804
+ },
805
+ {
806
+ "FunctionName": "dotnetcorelambda",
807
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:dotnetcorelambda",
808
+ "Role": "service-role/dotnetcorelambda-role-qk445824",
809
+ "Runtime": "dotnetcore2.1",
810
+ "MgmtAccount": "111122223333",
811
+ "AccountId": "111122223333",
812
+ "Region": "us-east-1",
813
+ "AccessKeyId": "***AccessKeyIdHere***",
814
+ "SecretAccessKey": "***SecretAccessKeyHere***",
815
+ "SessionToken": "***SessionTokenHere***",
816
+ },
817
+ {
818
+ "FunctionName": "hellonodejs",
819
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:hellonodejs",
820
+ "Role": "service-role/hellonodejs-role-2nvxxxy7",
821
+ "Runtime": "nodejs8.10",
822
+ "MgmtAccount": "111122223333",
823
+ "AccountId": "111122223333",
824
+ "Region": "us-east-1",
825
+ "AccessKeyId": "***AccessKeyIdHere***",
826
+ "SecretAccessKey": "***SecretAccessKeyHere***",
827
+ "SessionToken": "***SessionTokenHere***",
828
+ },
829
+ {
830
+ "FunctionName": "secretrotationfunction",
831
+ "FunctionArn": "arn:aws:lambda:us-east-1:444444444444:function:secretrotationfunction",
832
+ "Role": "service-role/secretrotationfunction-role-4v03rkfq",
833
+ "Runtime": "python3.9",
834
+ "MgmtAccount": "111122223333",
835
+ "AccountId": "111122223333",
836
+ "Region": "us-east-1",
837
+ "AccessKeyId": "***AccessKeyIdHere***",
838
+ "SecretAccessKey": "***SecretAccessKeyHere***",
839
+ "SessionToken": "***SessionTokenHere***",
840
+ },
841
+ {
842
+ "FunctionName": "Create_CW_Metrics",
843
+ "FunctionArn": "arn:aws:lambda:us-east-1:555555555555:function:Create_CW_Metrics",
844
+ "Role": "Create_CW_MetricsRole",
845
+ "Runtime": "python3.9",
846
+ "MgmtAccount": "111122223333",
847
+ "AccountId": "111122223333",
848
+ "Region": "us-east-1",
849
+ "AccessKeyId": "***AccessKeyIdHere***",
850
+ "SecretAccessKey": "***SecretAccessKeyHere***",
851
+ "SessionToken": "***SessionTokenHere***",
852
+ },
853
+ {
854
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
855
+ "FunctionArn": "arn:aws:lambda:us-east-1:555555555555:function:LandingZoneLocalSNSNotificationForwarder",
856
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-WCIU8QEBAZGA",
857
+ "Runtime": "python3.9",
858
+ "MgmtAccount": "111122223333",
859
+ "AccountId": "555555555555",
860
+ "Region": "us-east-1",
861
+ "AccessKeyId": "***AccessKeyIdHere***",
862
+ "SecretAccessKey": "***SecretAccessKeyHere***",
863
+ "SessionToken": "***SessionTokenHere***",
864
+ },
865
+ {
866
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-NC3Z57YQ4VF3",
867
+ "FunctionArn": "arn:aws:lambda:us-east-1:555555555555:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-NC3Z57YQ4VF3",
868
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-1U8PG0E7R57HS",
869
+ "Runtime": "python3.8",
870
+ "MgmtAccount": "111122223333",
871
+ "AccountId": "111122223333",
872
+ "Region": "us-east-1",
873
+ "AccessKeyId": "***AccessKeyIdHere***",
874
+ "SecretAccessKey": "***SecretAccessKeyHere***",
875
+ "SessionToken": "***SessionTokenHere***",
876
+ },
877
+ {
878
+ "FunctionName": "Create_CW_Metrics",
879
+ "FunctionArn": "arn:aws:lambda:us-east-1:666666666666:function:Create_CW_Metrics",
880
+ "Role": "Create_CW_MetricsRole",
881
+ "Runtime": "python3.9",
882
+ "MgmtAccount": "111122223333",
883
+ "AccountId": "111122223333",
884
+ "Region": "us-east-1",
885
+ "AccessKeyId": "***AccessKeyIdHere***",
886
+ "SecretAccessKey": "***SecretAccessKeyHere***",
887
+ "SessionToken": "***SessionTokenHere***",
888
+ },
889
+ {
890
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
891
+ "FunctionArn": "arn:aws:lambda:us-east-1:666666666666:function:LandingZoneLocalSNSNotificationForwarder",
892
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-E599EO74LGXA",
893
+ "Runtime": "python3.9",
894
+ "MgmtAccount": "111122223333",
895
+ "AccountId": "666666666666",
896
+ "Region": "us-east-1",
897
+ "AccessKeyId": "***AccessKeyIdHere***",
898
+ "SecretAccessKey": "***SecretAccessKeyHere***",
899
+ "SessionToken": "***SessionTokenHere***",
900
+ },
901
+ {
902
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-HRX910NRFLLR",
903
+ "FunctionArn": "arn:aws:lambda:us-east-1:666666666666:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-HRX910NRFLLR",
904
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-JSXKBH9MQ0CV",
905
+ "Runtime": "python3.8",
906
+ "MgmtAccount": "111122223333",
907
+ "AccountId": "111122223333",
908
+ "Region": "us-east-1",
909
+ "AccessKeyId": "***AccessKeyIdHere***",
910
+ "SecretAccessKey": "***SecretAccessKeyHere***",
911
+ "SessionToken": "***SessionTokenHere***",
912
+ },
913
+ {
914
+ "FunctionName": "Create_CW_Metrics",
915
+ "FunctionArn": "arn:aws:lambda:us-east-1:777777777777:function:Create_CW_Metrics",
916
+ "Role": "Create_CW_MetricsRole",
917
+ "Runtime": "python3.9",
918
+ "MgmtAccount": "111122223333",
919
+ "AccountId": "111122223333",
920
+ "Region": "us-east-1",
921
+ "AccessKeyId": "***AccessKeyIdHere***",
922
+ "SecretAccessKey": "***SecretAccessKeyHere***",
923
+ "SessionToken": "***SessionTokenHere***",
924
+ },
925
+ {
926
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
927
+ "FunctionArn": "arn:aws:lambda:us-east-1:777777777777:function:LandingZoneLocalSNSNotificationForwarder",
928
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-1UVK1I2XFTK92",
929
+ "Runtime": "python3.9",
930
+ "MgmtAccount": "111122223333",
931
+ "AccountId": "111122223333",
932
+ "Region": "us-east-1",
933
+ "AccessKeyId": "***AccessKeyIdHere***",
934
+ "SecretAccessKey": "***SecretAccessKeyHere***",
935
+ "SessionToken": "***SessionTokenHere***",
936
+ },
937
+ {
938
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-9SUEVBGP134A",
939
+ "FunctionArn": "arn:aws:lambda:us-east-1:777777777777:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-9SUEVBGP134A",
940
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-1SVZOOUOCKDFR",
941
+ "Runtime": "python3.8",
942
+ "MgmtAccount": "111122223333",
943
+ "AccountId": "111122223333",
944
+ "Region": "us-east-1",
945
+ "AccessKeyId": "***AccessKeyIdHere***",
946
+ "SecretAccessKey": "***SecretAccessKeyHere***",
947
+ "SessionToken": "***SessionTokenHere***",
948
+ },
949
+ {
950
+ "FunctionName": "Create_CW_Metrics",
951
+ "FunctionArn": "arn:aws:lambda:us-east-1:888888888888:function:Create_CW_Metrics",
952
+ "Role": "Create_CW_MetricsRole",
953
+ "Runtime": "python3.9",
954
+ "MgmtAccount": "111122223333",
955
+ "AccountId": "111122223333",
956
+ "Region": "us-east-1",
957
+ "AccessKeyId": "***AccessKeyIdHere***",
958
+ "SecretAccessKey": "***SecretAccessKeyHere***",
959
+ "SessionToken": "***SessionTokenHere***",
960
+ },
961
+ {
962
+ "FunctionName": "LandingZoneGuardDutyNotificationForwarder",
963
+ "FunctionArn": "arn:aws:lambda:us-east-1:888888888888:function:LandingZoneGuardDutyNotificationForwarder",
964
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-1LL63QEBS7M0O",
965
+ "Runtime": "python3.9",
966
+ "MgmtAccount": "111122223333",
967
+ "AccountId": "111122223333",
968
+ "Region": "us-east-1",
969
+ "AccessKeyId": "***AccessKeyIdHere***",
970
+ "SecretAccessKey": "***SecretAccessKeyHere***",
971
+ "SessionToken": "***SessionTokenHere***",
972
+ },
973
+ {
974
+ "FunctionName": "LandingZoneLocalSNSNotificationForwarder",
975
+ "FunctionArn": "arn:aws:lambda:us-east-1:888888888888:function:LandingZoneLocalSNSNotificationForwarder",
976
+ "Role": "StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-7STAM9IH9WC1",
977
+ "Runtime": "python3.9",
978
+ "MgmtAccount": "111122223333",
979
+ "AccountId": "888888888888",
980
+ "Region": "us-east-1",
981
+ "AccessKeyId": "***AccessKeyIdHere***",
982
+ "SecretAccessKey": "***SecretAccessKeyHere***",
983
+ "SessionToken": "***SessionTokenHere***",
984
+ },
985
+ {
986
+ "FunctionName": "StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-8PPP3LFKM4C4",
987
+ "FunctionArn": "arn:aws:lambda:us-east-1:888888888888:function:StackSet-AWS-Landing-Zone-IamPasswordPolicyCustomR-8PPP3LFKM4C4",
988
+ "Role": "StackSet-AWS-Landing-Zone-Baseline-IamP-LambdaRole-RG7FX3KV68EL",
989
+ "Runtime": "python3.8",
990
+ "MgmtAccount": "111122223333",
991
+ "AccountId": "111122223333",
992
+ "Region": "us-east-1",
993
+ "AccessKeyId": "***AccessKeyIdHere***",
994
+ "SecretAccessKey": "***SecretAccessKeyHere***",
995
+ "SessionToken": "***SessionTokenHere***",
996
+ },
997
+ {
998
+ "FunctionName": "CheckPipelineStatus",
999
+ "FunctionArn": "arn:aws:lambda:us-east-1:999999999999:function:CheckPipelineStatus",
1000
+ "Role": "adf-lambda-role",
1001
+ "Runtime": "python3.9",
1002
+ "MgmtAccount": "111122223333",
1003
+ "AccountId": "111122223333",
1004
+ "Region": "us-east-1",
1005
+ "AccessKeyId": "***AccessKeyIdHere***",
1006
+ "SecretAccessKey": "***SecretAccessKeyHere***",
1007
+ "SessionToken": "***SessionTokenHere***",
1008
+ },
1009
+ {
1010
+ "FunctionName": "PipelinesCreateInitialCommitFunction",
1011
+ "FunctionArn": "arn:aws:lambda:us-east-1:999999999999:function:PipelinesCreateInitialCommitFunction",
1012
+ "Role": "adf-global-base-deploymen-InitialCommitHandlerRole-21R8IK57XL0X",
1013
+ "Runtime": "python3.9",
1014
+ "MgmtAccount": "111122223333",
1015
+ "AccountId": "999999999999",
1016
+ "Region": "us-east-1",
1017
+ "AccessKeyId": "***AccessKeyIdHere***",
1018
+ "SecretAccessKey": "***SecretAccessKeyHere***",
1019
+ "SessionToken": "***SessionTokenHere***",
1020
+ },
1021
+ {
1022
+ "FunctionName": "SendSlackNotification",
1023
+ "FunctionArn": "arn:aws:lambda:us-east-1:999999999999:function:SendSlackNotification",
1024
+ "Role": "adf-lambda-role",
1025
+ "Runtime": "python3.9",
1026
+ "MgmtAccount": "111122223333",
1027
+ "AccountId": "111122223333",
1028
+ "Region": "us-east-1",
1029
+ "AccessKeyId": "***AccessKeyIdHere***",
1030
+ "SecretAccessKey": "***SecretAccessKeyHere***",
1031
+ "SessionToken": "***SessionTokenHere***",
1032
+ },
1033
+ {
1034
+ "FunctionName": "UpdateCrossAccountIAM",
1035
+ "FunctionArn": "arn:aws:lambda:us-east-1:999999999999:function:UpdateCrossAccountIAM",
1036
+ "Role": "adf-lambda-role",
1037
+ "Runtime": "python3.9",
1038
+ "MgmtAccount": "111122223333",
1039
+ "AccountId": "111122223333",
1040
+ "Region": "us-east-1",
1041
+ "AccessKeyId": "***AccessKeyIdHere***",
1042
+ "SecretAccessKey": "***SecretAccessKeyHere***",
1043
+ "SessionToken": "***SessionTokenHere***",
1044
+ },
1045
+ ]
1046
+
1047
+ mock_profile_list_1 = ["default", "mock_profile_1"]
1048
+ mock_profile_list_2 = ["default", "mock_profile_2"]
1049
+ mock_profile_list_3 = ["default", "mock_profile_3"]
1050
+ mock_profile_list_4 = ["default", "mock_profile_4"]
1051
+ mock_region_list_1 = ["us-east-1"]
1052
+ mock_region_list_2 = ["us-east-1", "us-east-2"]
1053
+ mock_region_list_3 = ["eu-west-1", "eu-central-1"]
1054
+ mock_region_list_4 = ["all"]
1055
+ mock_region_list_5 = ["global"]
1056
+
1057
+ """
1058
+ all_my_functions Test Data
1059
+ """
1060
+ account_and_region_specific_function_response_data = [
1061
+ {
1062
+ "Account": "111122223333",
1063
+ "Region": "us-east-1",
1064
+ "mocked_response": {
1065
+ "Functions": [
1066
+ {
1067
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyValidate-tziul2Otm32F",
1068
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyValidate-tziul2Otm32F",
1069
+ "Runtime": "python3.9",
1070
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-ValidateSpokeAccountAccess",
1071
+ "Handler": "resource_based_policy/step_functions_lambda/validate_account_access.lambda_handler",
1072
+ "CodeSize": 17578832,
1073
+ "Description": "",
1074
+ "Timeout": 900,
1075
+ "MemorySize": 1024,
1076
+ "LastModified": "2023-04-14T15:01:53.312+0000",
1077
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1078
+ "Version": "$LATEST",
1079
+ "Environment": {
1080
+ "Variables": {
1081
+ "SPOKE_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-Spoke-ExecutionRole",
1082
+ "POWERTOOLS_SERVICE_NAME": "ScanResourceBasedPolicy",
1083
+ "SEND_ANONYMOUS_DATA": "Yes",
1084
+ "TIME_TO_LIVE_IN_DAYS": "90",
1085
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1086
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1087
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1088
+ "LOG_LEVEL": "INFO",
1089
+ "SOLUTION_VERSION": "v1.0.3",
1090
+ }
1091
+ },
1092
+ "TracingConfig": {"Mode": "Active"},
1093
+ "RevisionId": "6e9ec792-08c6-491d-aa19-aad57aeab78d",
1094
+ "PackageType": "Zip",
1095
+ "Architectures": ["x86_64"],
1096
+ "EphemeralStorage": {"Size": 512},
1097
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1098
+ },
1099
+ {
1100
+ "FunctionName": "AccountAssessmentStack-TrustedAccessStartScan70308-LfEGZM07HEP6",
1101
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-TrustedAccessStartScan70308-LfEGZM07HEP6",
1102
+ "Runtime": "python3.9",
1103
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-TrustedAccess",
1104
+ "Handler": "trusted_access_enabled_services/scan_for_trusted_services.lambda_handler",
1105
+ "CodeSize": 17578832,
1106
+ "Description": "",
1107
+ "Timeout": 120,
1108
+ "MemorySize": 128,
1109
+ "LastModified": "2023-04-14T15:01:53.914+0000",
1110
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1111
+ "Version": "$LATEST",
1112
+ "Environment": {
1113
+ "Variables": {
1114
+ "POWERTOOLS_SERVICE_NAME": "ScanTrustedAccess",
1115
+ "SEND_ANONYMOUS_DATA": "Yes",
1116
+ "ORG_MANAGEMENT_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-OrgMgmtStackRole",
1117
+ "TIME_TO_LIVE_IN_DAYS": "90",
1118
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1119
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1120
+ "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
1121
+ "LOG_LEVEL": "INFO",
1122
+ "SOLUTION_VERSION": "v1.0.3",
1123
+ }
1124
+ },
1125
+ "TracingConfig": {"Mode": "Active"},
1126
+ "RevisionId": "943aca8c-3984-45cb-97ce-fd3e2a8f7c03",
1127
+ "PackageType": "Zip",
1128
+ "Architectures": ["x86_64"],
1129
+ "EphemeralStorage": {"Size": 512},
1130
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1131
+ },
1132
+ {
1133
+ "FunctionName": "lock_down_stacks_sets_role",
1134
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:lock_down_stacks_sets_role",
1135
+ "Runtime": "python3.9",
1136
+ "Role": "arn:aws:iam::111122223333:role/service-role/lock_down_stacks_sets_role-role-pgehgfag",
1137
+ "Handler": "lambda_function.lambda_handler",
1138
+ "CodeSize": 299,
1139
+ "Description": "",
1140
+ "Timeout": 3,
1141
+ "MemorySize": 128,
1142
+ "LastModified": "2023-09-06T15:50:05.000+0000",
1143
+ "CodeSha256": "fI06ZlRH/KN6Ra3twvdRllUYaxv182Tjx0qNWNlKIhI=",
1144
+ "Version": "$LATEST",
1145
+ "TracingConfig": {"Mode": "PassThrough"},
1146
+ "RevisionId": "ec0a7b23-c892-4dc8-935c-954bf6990bf5",
1147
+ "PackageType": "Zip",
1148
+ "Architectures": ["x86_64"],
1149
+ "EphemeralStorage": {"Size": 512},
1150
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1151
+ },
1152
+ {
1153
+ "FunctionName": "PrintOutEvents_Function",
1154
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:PrintOutEvents_Function",
1155
+ "Runtime": "python3.8",
1156
+ "Role": "arn:aws:iam::111122223333:role/service-role/PrintOutEvents_Function-role-p29wwswh",
1157
+ "Handler": "lambda_function.lambda_handler",
1158
+ "CodeSize": 309,
1159
+ "Description": "",
1160
+ "Timeout": 3,
1161
+ "MemorySize": 128,
1162
+ "LastModified": "2023-02-03T20:41:15.016+0000",
1163
+ "CodeSha256": "O3OGwvaAIbPJr4rqhF1OZuuDThX1qcaCGGEekuse8OY=",
1164
+ "Version": "$LATEST",
1165
+ "TracingConfig": {"Mode": "PassThrough"},
1166
+ "RevisionId": "cfeb671f-f08d-4217-8263-b5110101baf9",
1167
+ "PackageType": "Zip",
1168
+ "Architectures": ["x86_64"],
1169
+ "EphemeralStorage": {"Size": 512},
1170
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1171
+ },
1172
+ {
1173
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyFinishAs-n8TanL9sDr9r",
1174
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyFinishAs-n8TanL9sDr9r",
1175
+ "Runtime": "python3.9",
1176
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-ResourceBasedPolicyFinishAs-1RO9MOHKM92VA",
1177
+ "Handler": "resource_based_policy/finish_scan.lambda_handler",
1178
+ "CodeSize": 17578832,
1179
+ "Description": "",
1180
+ "Timeout": 60,
1181
+ "MemorySize": 128,
1182
+ "LastModified": "2023-04-14T15:01:53.878+0000",
1183
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1184
+ "Version": "$LATEST",
1185
+ "Environment": {
1186
+ "Variables": {
1187
+ "POWERTOOLS_SERVICE_NAME": "FinishScanForResourceBasedPolicies",
1188
+ "SEND_ANONYMOUS_DATA": "Yes",
1189
+ "TIME_TO_LIVE_IN_DAYS": "90",
1190
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1191
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1192
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1193
+ "SOLUTION_VERSION": "v1.0.3",
1194
+ }
1195
+ },
1196
+ "TracingConfig": {"Mode": "Active"},
1197
+ "RevisionId": "e422e2e3-de5b-4a1d-b1f1-09b6125d230e",
1198
+ "PackageType": "Zip",
1199
+ "Architectures": ["x86_64"],
1200
+ "EphemeralStorage": {"Size": 512},
1201
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1202
+ },
1203
+ {
1204
+ "FunctionName": "AccountAssessmentStack-DelegatedAdminsStartScanE7D-Qk14ANSD75ay",
1205
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-DelegatedAdminsStartScanE7D-Qk14ANSD75ay",
1206
+ "Runtime": "python3.9",
1207
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-DelegatedAdmin",
1208
+ "Handler": "delegated_admins/scan_for_delegated_admins.lambda_handler",
1209
+ "CodeSize": 17578832,
1210
+ "Description": "",
1211
+ "Timeout": 120,
1212
+ "MemorySize": 128,
1213
+ "LastModified": "2023-04-14T15:01:52.995+0000",
1214
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1215
+ "Version": "$LATEST",
1216
+ "Environment": {
1217
+ "Variables": {
1218
+ "POWERTOOLS_SERVICE_NAME": "ScanDelegatedAdmin",
1219
+ "SEND_ANONYMOUS_DATA": "Yes",
1220
+ "ORG_MANAGEMENT_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-OrgMgmtStackRole",
1221
+ "TIME_TO_LIVE_IN_DAYS": "90",
1222
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1223
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1224
+ "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
1225
+ "LOG_LEVEL": "INFO",
1226
+ "SOLUTION_VERSION": "v1.0.3",
1227
+ }
1228
+ },
1229
+ "TracingConfig": {"Mode": "Active"},
1230
+ "RevisionId": "d3fdc6a8-35b5-44b6-ae21-a533eea3f478",
1231
+ "PackageType": "Zip",
1232
+ "Architectures": ["x86_64"],
1233
+ "EphemeralStorage": {"Size": 512},
1234
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1235
+ },
1236
+ {
1237
+ "FunctionName": "UpsertDNSNameLambda",
1238
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:UpsertDNSNameLambda",
1239
+ "Runtime": "python3.9",
1240
+ "Role": "arn:aws:iam::111122223333:role/UpsertDNSNameToSQSQueueLambdaRole",
1241
+ "Handler": "Route53PHZLambdaUpdate.lambda_handler",
1242
+ "CodeSize": 2164,
1243
+ "Description": "Lambda to to update DNS Hosted Zone for EC2 starts",
1244
+ "Timeout": 20,
1245
+ "MemorySize": 256,
1246
+ "LastModified": "2023-02-04T02:25:54.603+0000",
1247
+ "CodeSha256": "RC3e1d8z3DRLwxRK32sVJ+VoPpsBCRNZLPWzKLgqoHE=",
1248
+ "Version": "$LATEST",
1249
+ "Environment": {
1250
+ "Variables": {
1251
+ "HOSTED_ZONE_ID": "Z06954483PM26JFJ0ET4L",
1252
+ "CENTRAL_ACCT": "444444444444",
1253
+ "QUEUE_NAME": "myDNSUpsertQueue",
1254
+ "TIME_TO_LIVE": "300",
1255
+ "LOG_LEVEL": "INFO",
1256
+ }
1257
+ },
1258
+ "TracingConfig": {"Mode": "PassThrough"},
1259
+ "RevisionId": "bbfc8a57-67de-426f-a63d-08996b688bd8",
1260
+ "Layers": [
1261
+ {
1262
+ "Arn": "arn:aws:lambda:us-east-1:111122223333:layer:DistributedBoto3Library:9",
1263
+ "CodeSize": 12119917,
1264
+ }
1265
+ ],
1266
+ "PackageType": "Zip",
1267
+ "Architectures": ["x86_64"],
1268
+ "EphemeralStorage": {"Size": 512},
1269
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1270
+ },
1271
+ {
1272
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyScanSpok-xWlINDye4FUd",
1273
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyScanSpok-xWlINDye4FUd",
1274
+ "Runtime": "python3.9",
1275
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-ScanSpokeResource",
1276
+ "Handler": "resource_based_policy/step_functions_lambda/scan_policy_all_services_router.lambda_handler",
1277
+ "CodeSize": 17578832,
1278
+ "Description": "",
1279
+ "Timeout": 900,
1280
+ "MemorySize": 512,
1281
+ "LastModified": "2023-04-14T15:01:54.774+0000",
1282
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1283
+ "Version": "$LATEST",
1284
+ "Environment": {
1285
+ "Variables": {
1286
+ "SPOKE_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-Spoke-ExecutionRole",
1287
+ "POWERTOOLS_SERVICE_NAME": "ScanResourceBasedPolicyInSpokeAccount",
1288
+ "SEND_ANONYMOUS_DATA": "Yes",
1289
+ "TIME_TO_LIVE_IN_DAYS": "90",
1290
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1291
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1292
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1293
+ "LOG_LEVEL": "INFO",
1294
+ "SOLUTION_VERSION": "v1.0.3",
1295
+ }
1296
+ },
1297
+ "TracingConfig": {"Mode": "Active"},
1298
+ "RevisionId": "5d2d6891-e38f-4038-a5c6-fd0be145f34e",
1299
+ "PackageType": "Zip",
1300
+ "Architectures": ["x86_64"],
1301
+ "EphemeralStorage": {"Size": 512},
1302
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1303
+ },
1304
+ {
1305
+ "FunctionName": "vpc-mappings-111122223333",
1306
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:vpc-mappings-111122223333",
1307
+ "Runtime": "python3.9",
1308
+ "Role": "arn:aws:iam::111122223333:role/AZ-Mapping-LambdaIAMRole-1MWVK82KVY9O5",
1309
+ "Handler": "index.lambda_handler",
1310
+ "CodeSize": 1711,
1311
+ "Description": "Stores VPC mappings into parameter store",
1312
+ "Timeout": 5,
1313
+ "MemorySize": 128,
1314
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1315
+ "CodeSha256": "H1vz9hfL3eHL/GigRMwy5E7ngxFl1XHzaSP5Dai3M8Y=",
1316
+ "Version": "$LATEST",
1317
+ "TracingConfig": {"Mode": "PassThrough"},
1318
+ "RevisionId": "14153c9e-b5d0-4e0a-9d18-93868f7dd1ae",
1319
+ "PackageType": "Zip",
1320
+ "Architectures": ["x86_64"],
1321
+ "EphemeralStorage": {"Size": 512},
1322
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1323
+ },
1324
+ {
1325
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyReadDC5D-4fhaK4485acJ",
1326
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyReadDC5D-4fhaK4485acJ",
1327
+ "Runtime": "python3.9",
1328
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-ResourceBasedPolicyReadServ-12WZ14XZFTC18",
1329
+ "Handler": "resource_based_policy/read_resource_based_policies.lambda_handler",
1330
+ "CodeSize": 17578832,
1331
+ "Description": "",
1332
+ "Timeout": 60,
1333
+ "MemorySize": 128,
1334
+ "LastModified": "2023-04-14T15:01:53.924+0000",
1335
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1336
+ "Version": "$LATEST",
1337
+ "Environment": {
1338
+ "Variables": {
1339
+ "POWERTOOLS_SERVICE_NAME": "ReadResourceBasedPolicy",
1340
+ "SEND_ANONYMOUS_DATA": "Yes",
1341
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1342
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1343
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1344
+ "SOLUTION_VERSION": "v1.0.3",
1345
+ }
1346
+ },
1347
+ "TracingConfig": {"Mode": "Active"},
1348
+ "RevisionId": "fe607630-2342-4d09-98d2-cee63552cb05",
1349
+ "PackageType": "Zip",
1350
+ "Architectures": ["x86_64"],
1351
+ "EphemeralStorage": {"Size": 512},
1352
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1353
+ },
1354
+ {
1355
+ "FunctionName": "Fix_Default_SGs",
1356
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:Fix_Default_SGs",
1357
+ "Runtime": "python3.9",
1358
+ "Role": "arn:aws:iam::111122223333:role/service-role/Fix_Default_SGs-role-qc5pamya",
1359
+ "Handler": "lambda_function.lambda_handler",
1360
+ "CodeSize": 740,
1361
+ "Description": "",
1362
+ "Timeout": 3,
1363
+ "MemorySize": 128,
1364
+ "LastModified": "2023-09-06T16:33:20.000+0000",
1365
+ "CodeSha256": "XZF1c2Xfl/YT+twYFVmlAGGuuNTO7i3J2FTCMoqFVew=",
1366
+ "Version": "$LATEST",
1367
+ "TracingConfig": {"Mode": "PassThrough"},
1368
+ "RevisionId": "c60151c0-f460-4dfe-98b5-47f6710447b8",
1369
+ "PackageType": "Zip",
1370
+ "Architectures": ["x86_64"],
1371
+ "EphemeralStorage": {"Size": 512},
1372
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1373
+ },
1374
+ {
1375
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyStartSca-RU8utlGVjJyc",
1376
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyStartSca-RU8utlGVjJyc",
1377
+ "Runtime": "python3.9",
1378
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-ResourceBasedPolicy",
1379
+ "Handler": "resource_based_policy/start_state_machine_execution_to_scan_services.lambda_handler",
1380
+ "CodeSize": 17578832,
1381
+ "Description": "",
1382
+ "Timeout": 120,
1383
+ "MemorySize": 128,
1384
+ "LastModified": "2023-04-14T15:02:10.418+0000",
1385
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1386
+ "Version": "$LATEST",
1387
+ "Environment": {
1388
+ "Variables": {
1389
+ "POWERTOOLS_SERVICE_NAME": "ScanResourceBasedPolicy",
1390
+ "SEND_ANONYMOUS_DATA": "Yes",
1391
+ "ORG_MANAGEMENT_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-OrgMgmtStackRole",
1392
+ "SCAN_RESOURCE_POLICY_STATE_MACHINE_ARN": "arn:aws:states:us-east-1:111122223333:stateMachine:ResourceBasedPolicyScanAllSpokeAccounts38C6FB6E-hEkgjewVuwLc",
1393
+ "TIME_TO_LIVE_IN_DAYS": "90",
1394
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1395
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1396
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1397
+ "LOG_LEVEL": "INFO",
1398
+ "SOLUTION_VERSION": "v1.0.3",
1399
+ }
1400
+ },
1401
+ "TracingConfig": {"Mode": "Active"},
1402
+ "RevisionId": "4d80914c-9423-435d-b1fe-d48125ea064d",
1403
+ "PackageType": "Zip",
1404
+ "Architectures": ["x86_64"],
1405
+ "EphemeralStorage": {"Size": 512},
1406
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1407
+ },
1408
+ {
1409
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyReadScan-DbzA0NZGeTb3",
1410
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyReadScan-DbzA0NZGeTb3",
1411
+ "Runtime": "python3.9",
1412
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-ResourceBasedPolicyReadScan-14UZV70G67KSO",
1413
+ "Handler": "resource_based_policy/supported_configuration/scan_configurations.lambda_handler",
1414
+ "CodeSize": 17578832,
1415
+ "Description": "",
1416
+ "Timeout": 600,
1417
+ "MemorySize": 128,
1418
+ "LastModified": "2023-04-14T15:01:54.572+0000",
1419
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1420
+ "Version": "$LATEST",
1421
+ "Environment": {
1422
+ "Variables": {
1423
+ "POWERTOOLS_SERVICE_NAME": "ReadScanConfigs",
1424
+ "SEND_ANONYMOUS_DATA": "Yes",
1425
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1426
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1427
+ "LOG_LEVEL": "INFO",
1428
+ "SOLUTION_VERSION": "v1.0.3",
1429
+ }
1430
+ },
1431
+ "TracingConfig": {"Mode": "Active"},
1432
+ "RevisionId": "b0f59e30-6d16-4368-80b2-27ed25d16d1e",
1433
+ "PackageType": "Zip",
1434
+ "Architectures": ["x86_64"],
1435
+ "EphemeralStorage": {"Size": 512},
1436
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1437
+ },
1438
+ {
1439
+ "FunctionName": "AccountAssessmentStack-WebUIDeployerDeployWebUIC2B-ZL1H4n2W05xe",
1440
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-WebUIDeployerDeployWebUIC2B-ZL1H4n2W05xe",
1441
+ "Runtime": "python3.9",
1442
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-WebUIDeployerDeployWebUISer-SXOS38SBZPWQ",
1443
+ "Handler": "deploy_webui/deploy_webui.lambda_handler",
1444
+ "CodeSize": 17578832,
1445
+ "Description": "",
1446
+ "Timeout": 300,
1447
+ "MemorySize": 128,
1448
+ "LastModified": "2023-04-14T15:06:17.107+0000",
1449
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1450
+ "Version": "$LATEST",
1451
+ "Environment": {
1452
+ "Variables": {
1453
+ "CONFIG": '{"SrcBucket":"solutions-us-east-1","SrcPath":"account-assessment-for-aws-organizations/v1.0.3/webui/","WebUIBucket":"accountassessmentstack-s3bucket07682993-1qnr9dfvuvn8m","awsExports":{"API":{"endpoints":[{"name":"AccountAssessmentApi","endpoint":"https://5ugessads8.execute-api.us-east-1.amazonaws.com/prod"}]},"loggingLevel":"INFO","Auth":{"region":"us-east-1","userPoolId":"us-east-1_4y5EH6RX3","userPoolWebClientId":"10hrrgcdjum45c4jmre3kv7r7d","mandatorySignIn":true,"oauth":{"domain":"paulbaye-amzn.auth.us-east-1.amazoncognito.com","scope":["openid","profile","email","aws.cognito.signin.user.admin"],"redirectSignIn":"https://d12i33hlb8s7se.cloudfront.net/","redirectSignOut":"https://d12i33hlb8s7se.cloudfront.net/","responseType":"code","clientId":"10hrrgcdjum45c4jmre3kv7r7d"}}}}',
1454
+ "POWERTOOLS_SERVICE_NAME": "DeployWebUI",
1455
+ "SEND_ANONYMOUS_DATA": "Yes",
1456
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1457
+ "LOG_LEVEL": "INFO",
1458
+ "SOLUTION_VERSION": "v1.0.3",
1459
+ }
1460
+ },
1461
+ "TracingConfig": {"Mode": "Active"},
1462
+ "RevisionId": "b79766f8-4e8d-438c-a5b5-8d5e656a165e",
1463
+ "PackageType": "Zip",
1464
+ "Architectures": ["x86_64"],
1465
+ "EphemeralStorage": {"Size": 512},
1466
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1467
+ },
1468
+ {
1469
+ "FunctionName": "orgformation-EmptyS3BucketOnDeletionLambdaFunction-W98Id8S5pK33",
1470
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:orgformation-EmptyS3BucketOnDeletionLambdaFunction-W98Id8S5pK33",
1471
+ "Runtime": "python3.9",
1472
+ "Role": "arn:aws:iam::111122223333:role/orgformation-EmptyS3BucketOnDeletionLambdaExecutio-1SLZXRGG2YUT5",
1473
+ "Handler": "index.handler",
1474
+ "CodeSize": 1412,
1475
+ "Description": "",
1476
+ "Timeout": 3,
1477
+ "MemorySize": 128,
1478
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1479
+ "CodeSha256": "kK3SVtC1I7ezvKPsNwno7YY9AfCKV3kkA56RV8kD3DE=",
1480
+ "Version": "$LATEST",
1481
+ "TracingConfig": {"Mode": "PassThrough"},
1482
+ "RevisionId": "c5d3cf2d-8a26-41d0-a0e8-60a36bca1103",
1483
+ "PackageType": "Zip",
1484
+ "Architectures": ["x86_64"],
1485
+ "EphemeralStorage": {"Size": 512},
1486
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1487
+ },
1488
+ {
1489
+ "FunctionName": "AccountAssessmentStack-JobHistoryJobsHandler060579-EShvGJzftPCt",
1490
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-JobHistoryJobsHandler060579-EShvGJzftPCt",
1491
+ "Runtime": "python3.9",
1492
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-JobHistoryJobsHandlerServic-HXRBGBPC98KW",
1493
+ "Handler": "assessment_runner/api_router.lambda_handler",
1494
+ "CodeSize": 17578832,
1495
+ "Description": "",
1496
+ "Timeout": 60,
1497
+ "MemorySize": 128,
1498
+ "LastModified": "2023-04-14T15:01:53.918+0000",
1499
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1500
+ "Version": "$LATEST",
1501
+ "Environment": {
1502
+ "Variables": {
1503
+ "POWERTOOLS_LOGGER_LOG_EVENT": "True",
1504
+ "POWERTOOLS_SERVICE_NAME": "JobsApiHandler",
1505
+ "SEND_ANONYMOUS_DATA": "Yes",
1506
+ "TABLE_TRUSTED_ACCESS": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
1507
+ "TABLE_DELEGATED_ADMIN": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
1508
+ "TIME_TO_LIVE_IN_DAYS": "90",
1509
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1510
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1511
+ "SOLUTION_VERSION": "v1.0.3",
1512
+ "TABLE_RESOURCE_BASED_POLICY": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
1513
+ }
1514
+ },
1515
+ "TracingConfig": {"Mode": "Active"},
1516
+ "RevisionId": "4ebd1e01-2898-4dab-8fb2-a42bad2bb1df",
1517
+ "PackageType": "Zip",
1518
+ "Architectures": ["x86_64"],
1519
+ "EphemeralStorage": {"Size": 512},
1520
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1521
+ },
1522
+ {
1523
+ "FunctionName": "CreateidpProvider",
1524
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:CreateidpProvider",
1525
+ "Runtime": "python2.7",
1526
+ "Role": "arn:aws:iam::111122223333:role/service-role/CreateidpProvider-role-o7h6t6no",
1527
+ "Handler": "lambda_function.lambda_handler",
1528
+ "CodeSize": 886,
1529
+ "Description": "",
1530
+ "Timeout": 3,
1531
+ "MemorySize": 128,
1532
+ "LastModified": "2019-05-02T15:03:42.436+0000",
1533
+ "CodeSha256": "QvxbS4ZbI9bivuDn5kp7ARuHikbV5Xf3/SN3bKCcQdY=",
1534
+ "Version": "$LATEST",
1535
+ "TracingConfig": {"Mode": "PassThrough"},
1536
+ "RevisionId": "42c3c4df-fe81-4dfd-9cd8-827a478407b7",
1537
+ "PackageType": "Zip",
1538
+ "Architectures": ["x86_64"],
1539
+ "EphemeralStorage": {"Size": 512},
1540
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1541
+ },
1542
+ {
1543
+ "FunctionName": "P9E-a8ba4fea-1856-49ca-8aa4-2b7e9b58d7a6",
1544
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:P9E-a8ba4fea-1856-49ca-8aa4-2b7e9b58d7a6",
1545
+ "Runtime": "python3.7",
1546
+ "Role": "arn:aws:iam::111122223333:role/aws-perspective-51771365777-LambdaEdgeFunctionRole-15OZK21LEUC5O",
1547
+ "Handler": "append_headers.handler",
1548
+ "CodeSize": 1039,
1549
+ "Description": "Lambda@Edge for secure headers",
1550
+ "Timeout": 5,
1551
+ "MemorySize": 128,
1552
+ "LastModified": "2020-09-22T15:54:23.904+0000",
1553
+ "CodeSha256": "tZMc1X5ewz2jkq2rML6VPQgb3x4T9wnYvnMacZHO65I=",
1554
+ "Version": "$LATEST",
1555
+ "TracingConfig": {"Mode": "PassThrough"},
1556
+ "RevisionId": "ffa243e9-dbe5-4424-970a-96ecfb5e4a3b",
1557
+ "PackageType": "Zip",
1558
+ "Architectures": ["x86_64"],
1559
+ "EphemeralStorage": {"Size": 512},
1560
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1561
+ },
1562
+ {
1563
+ "FunctionName": "AccountAssessmentStack-TrustedAccessRead96AB6071-NKktqhxZ7fTz",
1564
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-TrustedAccessRead96AB6071-NKktqhxZ7fTz",
1565
+ "Runtime": "python3.9",
1566
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-TrustedAccessReadServiceRol-1RC8YXWIAP9YN",
1567
+ "Handler": "trusted_access_enabled_services/read_trusted_services.lambda_handler",
1568
+ "CodeSize": 17578832,
1569
+ "Description": "",
1570
+ "Timeout": 60,
1571
+ "MemorySize": 128,
1572
+ "LastModified": "2023-04-14T15:01:53.616+0000",
1573
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1574
+ "Version": "$LATEST",
1575
+ "Environment": {
1576
+ "Variables": {
1577
+ "POWERTOOLS_SERVICE_NAME": "ReadTrustedAccess",
1578
+ "SEND_ANONYMOUS_DATA": "Yes",
1579
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1580
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1581
+ "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
1582
+ "SOLUTION_VERSION": "v1.0.3",
1583
+ }
1584
+ },
1585
+ "TracingConfig": {"Mode": "Active"},
1586
+ "RevisionId": "41db914e-32ea-4b7c-8a05-a78def9856b1",
1587
+ "PackageType": "Zip",
1588
+ "Architectures": ["x86_64"],
1589
+ "EphemeralStorage": {"Size": 512},
1590
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1591
+ },
1592
+ {
1593
+ "FunctionName": "AccountAssessmentStack-DelegatedAdminsRead591DCC7E-AyGSKEOHKNm2",
1594
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-DelegatedAdminsRead591DCC7E-AyGSKEOHKNm2",
1595
+ "Runtime": "python3.9",
1596
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-DelegatedAdminsReadServiceR-NA50GOH53141",
1597
+ "Handler": "delegated_admins/read_delegated_admins.lambda_handler",
1598
+ "CodeSize": 17578832,
1599
+ "Description": "",
1600
+ "Timeout": 60,
1601
+ "MemorySize": 128,
1602
+ "LastModified": "2023-04-14T15:01:54.770+0000",
1603
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
1604
+ "Version": "$LATEST",
1605
+ "Environment": {
1606
+ "Variables": {
1607
+ "POWERTOOLS_SERVICE_NAME": "ReadDelegatedAdmin",
1608
+ "SEND_ANONYMOUS_DATA": "Yes",
1609
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
1610
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
1611
+ "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
1612
+ "SOLUTION_VERSION": "v1.0.3",
1613
+ }
1614
+ },
1615
+ "TracingConfig": {"Mode": "Active"},
1616
+ "RevisionId": "677f7ad5-f7d2-44d7-a3dd-c026e022b2fb",
1617
+ "PackageType": "Zip",
1618
+ "Architectures": ["x86_64"],
1619
+ "EphemeralStorage": {"Size": 512},
1620
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1621
+ },
1622
+ ]
1623
+ },
1624
+ },
1625
+ {
1626
+ "Account": "111122223333",
1627
+ "Region": "eu-west-1",
1628
+ "mocked_response": {
1629
+ "Functions": [
1630
+ {
1631
+ "FunctionName": "Create_CW_Metrics",
1632
+ "FunctionArn": "arn:aws:lambda:eu-west-1:111122223333:function:Create_CW_Metrics",
1633
+ "Runtime": "python3.9",
1634
+ "Role": "arn:aws:iam::111122223333:role/Create_CW_MetricsRole",
1635
+ "Handler": "index.lambda_handler",
1636
+ "CodeSize": 674,
1637
+ "Description": "A Lambda that will create CW Metrics on a scheduled basis",
1638
+ "Timeout": 3,
1639
+ "MemorySize": 128,
1640
+ "LastModified": "2023-09-07T19:23:12.000+0000",
1641
+ "CodeSha256": "UJo4+gH5c0/a1WobLUsxZ94YsPdIC79bO/v8fuxkwtc=",
1642
+ "Version": "$LATEST",
1643
+ "TracingConfig": {"Mode": "PassThrough"},
1644
+ "RevisionId": "c5416966-cb79-4f43-bea5-c0286ad1630c",
1645
+ "PackageType": "Zip",
1646
+ "Architectures": ["x86_64"],
1647
+ "EphemeralStorage": {"Size": 512},
1648
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1649
+ }
1650
+ ]
1651
+ },
1652
+ },
1653
+ {
1654
+ "Account": "111122223333",
1655
+ "Region": "us-west-2",
1656
+ "mocked_response": {
1657
+ "Functions": [
1658
+ {
1659
+ "FunctionName": "Create_CW_Metrics",
1660
+ "FunctionArn": "arn:aws:lambda:us-west-2:111122223333:function:Create_CW_Metrics",
1661
+ "Runtime": "python3.9",
1662
+ "Role": "arn:aws:iam::111122223333:role/Create_CW_MetricsRole",
1663
+ "Handler": "index.lambda_handler",
1664
+ "CodeSize": 674,
1665
+ "Description": "A Lambda that will create CW Metrics on a scheduled basis",
1666
+ "Timeout": 3,
1667
+ "MemorySize": 128,
1668
+ "LastModified": "2023-09-06T17:03:16.000+0000",
1669
+ "CodeSha256": "oawy0iWCmQk0hCy7/E5p9sv4x40Ydt2sVGuno/zwiuw=",
1670
+ "Version": "$LATEST",
1671
+ "TracingConfig": {"Mode": "PassThrough"},
1672
+ "RevisionId": "4a4dbdc0-3ee9-4213-aaea-a831efc6bc44",
1673
+ "PackageType": "Zip",
1674
+ "Architectures": ["x86_64"],
1675
+ "EphemeralStorage": {"Size": 512},
1676
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1677
+ }
1678
+ ]
1679
+ },
1680
+ },
1681
+ {
1682
+ "Account": "111122223333",
1683
+ "Region": "us-east-2",
1684
+ "mocked_response": {
1685
+ "Functions": [
1686
+ {
1687
+ "FunctionName": "UpdateCrossAccountIAM",
1688
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:UpdateCrossAccountIAM",
1689
+ "Runtime": "python3.9",
1690
+ "Role": "arn:aws:iam::111122223333:role/adf-lambda-role",
1691
+ "Handler": "enable_cross_account_access.lambda_handler",
1692
+ "CodeSize": 16141,
1693
+ "Description": "ADF Lambda Function - EnableCrossAccountAccess",
1694
+ "Timeout": 900,
1695
+ "MemorySize": 1024,
1696
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1697
+ "CodeSha256": "YgXP/qmhV8xisT3UnKrMHUFlgDNrM5rcqphh+cGGDvY=",
1698
+ "Version": "$LATEST",
1699
+ "Environment": {
1700
+ "Variables": {
1701
+ "KMS_KEY_ID": "54b48e47-0df6-4730-8077-37575b2152a0",
1702
+ "S3_BUCKET_NAME": "adf-global-base-deployment-pipelinebucket-x5m8zmy1i1sc",
1703
+ "ADF_LOG_LEVEL": "INFO",
1704
+ }
1705
+ },
1706
+ "TracingConfig": {"Mode": "PassThrough"},
1707
+ "RevisionId": "242037fc-bfc8-4b87-8190-0a163f27be4a",
1708
+ "Layers": [
1709
+ {"Arn": "arn:aws:lambda:us-east-1:111122223333:layer:shared_layer:1", "CodeSize": 85865}
1710
+ ],
1711
+ "PackageType": "Zip",
1712
+ "Architectures": ["x86_64"],
1713
+ "EphemeralStorage": {"Size": 512},
1714
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1715
+ },
1716
+ {
1717
+ "FunctionName": "CheckPipelineStatus",
1718
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:CheckPipelineStatus",
1719
+ "Runtime": "python3.9",
1720
+ "Role": "arn:aws:iam::111122223333:role/adf-lambda-role",
1721
+ "Handler": "update_pipelines.lambda_handler",
1722
+ "CodeSize": 16141,
1723
+ "Description": "ADF Lambda Function - CheckPipelineStatus",
1724
+ "Timeout": 120,
1725
+ "MemorySize": 128,
1726
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1727
+ "CodeSha256": "YgXP/qmhV8xisT3UnKrMHUFlgDNrM5rcqphh+cGGDvY=",
1728
+ "Version": "$LATEST",
1729
+ "Environment": {
1730
+ "Variables": {
1731
+ "KMS_KEY_ID": "54b48e47-0df6-4730-8077-37575b2152a0",
1732
+ "S3_BUCKET_NAME": "adf-global-base-deployment-pipelinebucket-x5m8zmy1i1sc",
1733
+ "ADF_LOG_LEVEL": "INFO",
1734
+ }
1735
+ },
1736
+ "TracingConfig": {"Mode": "PassThrough"},
1737
+ "RevisionId": "e2ce6ebf-63e9-441d-84a6-d3c6619a157c",
1738
+ "Layers": [
1739
+ {"Arn": "arn:aws:lambda:us-east-1:111122223333:layer:shared_layer:1", "CodeSize": 85865}
1740
+ ],
1741
+ "PackageType": "Zip",
1742
+ "Architectures": ["x86_64"],
1743
+ "EphemeralStorage": {"Size": 512},
1744
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1745
+ },
1746
+ {
1747
+ "FunctionName": "PipelinesCreateInitialCommitFunction",
1748
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:PipelinesCreateInitialCommitFunction",
1749
+ "Runtime": "python3.9",
1750
+ "Role": "arn:aws:iam::111122223333:role/adf-global-base-deploymen-InitialCommitHandlerRole-1E34VR3WCI8XG",
1751
+ "Handler": "handler.lambda_handler",
1752
+ "CodeSize": 7048112,
1753
+ "Description": "ADF Lambda Function - PipelinesCreateInitialCommitFunction",
1754
+ "Timeout": 300,
1755
+ "MemorySize": 128,
1756
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1757
+ "CodeSha256": "ZI5r8+iomRDZ3rUBBQYj8p9MMFkc0Pgg6hR1kk7QtvM=",
1758
+ "Version": "$LATEST",
1759
+ "TracingConfig": {"Mode": "PassThrough"},
1760
+ "RevisionId": "d8eba506-0e28-4bab-9ffb-788683448210",
1761
+ "PackageType": "Zip",
1762
+ "Architectures": ["x86_64"],
1763
+ "EphemeralStorage": {"Size": 512},
1764
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1765
+ },
1766
+ {
1767
+ "FunctionName": "SendSlackNotification",
1768
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:SendSlackNotification",
1769
+ "Runtime": "python3.9",
1770
+ "Role": "arn:aws:iam::111122223333:role/adf-lambda-role",
1771
+ "Handler": "slack.lambda_handler",
1772
+ "CodeSize": 16141,
1773
+ "Description": "ADF Lambda Function - Send Slack Notification",
1774
+ "Timeout": 10,
1775
+ "MemorySize": 128,
1776
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1777
+ "CodeSha256": "YgXP/qmhV8xisT3UnKrMHUFlgDNrM5rcqphh+cGGDvY=",
1778
+ "Version": "$LATEST",
1779
+ "Environment": {"Variables": {"ADF_PIPELINE_PREFIX": "adf-pipeline-", "ADF_LOG_LEVEL": "INFO"}},
1780
+ "TracingConfig": {"Mode": "PassThrough"},
1781
+ "RevisionId": "52d17768-98a6-4645-acb3-4152ea94eb05",
1782
+ "Layers": [
1783
+ {"Arn": "arn:aws:lambda:us-east-1:111122223333:layer:shared_layer:1", "CodeSize": 85865}
1784
+ ],
1785
+ "PackageType": "Zip",
1786
+ "Architectures": ["x86_64"],
1787
+ "EphemeralStorage": {"Size": 512},
1788
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1789
+ },
1790
+ ]
1791
+ },
1792
+ },
1793
+ {
1794
+ "Account": "111122223333",
1795
+ "Region": "eu-central-1",
1796
+ "mocked_response": {
1797
+ "Functions": [
1798
+ {
1799
+ "FunctionName": "FixRogueSG",
1800
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:FixRogueSG",
1801
+ "Runtime": "python3.8",
1802
+ "Role": "arn:aws:iam::111122223333:role/FixRogueSGRole",
1803
+ "Handler": "lambda_function.lambda_handler",
1804
+ "CodeSize": 3683,
1805
+ "Description": "This function finds and remediates unwanted open Security Groups",
1806
+ "Timeout": 60,
1807
+ "MemorySize": 128,
1808
+ "LastModified": "2021-02-18T00:20:49.838+0000",
1809
+ "CodeSha256": "qKuJuyHhubBQ5/CjtwhKPIiBtmm93fAhQ3Bkna+ZTV4=",
1810
+ "Version": "$LATEST",
1811
+ "Environment": {
1812
+ "Variables": {
1813
+ "badcidr": "0.0.0.0/0",
1814
+ "DryRun": "false",
1815
+ "SNSTopic": "arn:aws:sns:us-east-1:111122223333:OpenSG-Updated",
1816
+ "LogLevel": "INFO",
1817
+ }
1818
+ },
1819
+ "TracingConfig": {"Mode": "PassThrough"},
1820
+ "RevisionId": "cfa69c09-2a79-4c94-a6e0-1b233a281a0e",
1821
+ "PackageType": "Zip",
1822
+ "Architectures": ["x86_64"],
1823
+ "EphemeralStorage": {"Size": 512},
1824
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1825
+ }
1826
+ ]
1827
+ },
1828
+ },
1829
+ {
1830
+ "Account": "111122223333",
1831
+ "Region": "eu-north-1",
1832
+ "mocked_response": {
1833
+ "Functions": [
1834
+ {
1835
+ "FunctionName": "LandingZoneGuardDutyNotificationForwarder",
1836
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:LandingZoneGuardDutyNotificationForwarder",
1837
+ "Runtime": "python3.9",
1838
+ "Role": "arn:aws:iam::111122223333:role/StackSet-AWS-Landing-Zone-ForwardSnsNotificationLa-1XDDEMJLM5D3V",
1839
+ "Handler": "index.lambda_handler",
1840
+ "CodeSize": 449,
1841
+ "Description": "AWS Landing Zone SNS message forwarding function for aggregating GuardDuty notifications.",
1842
+ "Timeout": 60,
1843
+ "MemorySize": 128,
1844
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1845
+ "CodeSha256": "Idy/BLkIMTQXmBP7KKF925spvEwvNfHzYRvjQgG/Qvo=",
1846
+ "Version": "$LATEST",
1847
+ "Environment": {
1848
+ "Variables": {
1849
+ "sns_arn": "arn:aws:sns:us-east-1:111122223333:AWS-Landing-Zone-Aggregate-Security-Notifications"
1850
+ }
1851
+ },
1852
+ "TracingConfig": {"Mode": "PassThrough"},
1853
+ "RevisionId": "b8e1386c-4952-4cd9-b728-3192d326cdff",
1854
+ "PackageType": "Zip",
1855
+ "Architectures": ["x86_64"],
1856
+ "EphemeralStorage": {"Size": 512},
1857
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1858
+ }
1859
+ ]
1860
+ },
1861
+ },
1862
+ {
1863
+ "Account": "111122223333",
1864
+ "Region": "eu-west-2",
1865
+ "mocked_response": {
1866
+ "Functions": [
1867
+ {
1868
+ "FunctionName": "Create_CW_Metrics",
1869
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:Create_CW_Metrics",
1870
+ "Runtime": "python3.8",
1871
+ "Role": "arn:aws:iam::111122223333:role/Create_CW_MetricsRole",
1872
+ "Handler": "index.lambda_handler",
1873
+ "CodeSize": 674,
1874
+ "Description": "A Lambda that will create CW Metrics on a scheduled basis",
1875
+ "Timeout": 3,
1876
+ "MemorySize": 128,
1877
+ "LastModified": "2023-09-06T17:02:42.000+0000",
1878
+ "CodeSha256": "6POPE8gLVb0uEDhso9QBwqnA4M1BPXHl+AAEm6skvvc=",
1879
+ "Version": "$LATEST",
1880
+ "TracingConfig": {"Mode": "PassThrough"},
1881
+ "RevisionId": "402e6eb2-daed-4bd9-889d-b59372b6d33d",
1882
+ "PackageType": "Zip",
1883
+ "Architectures": ["x86_64"],
1884
+ "EphemeralStorage": {"Size": 512},
1885
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1886
+ }
1887
+ ]
1888
+ },
1889
+ },
1890
+ {
1891
+ "Account": "111122223333",
1892
+ "Region": "ap-south-1",
1893
+ "mocked_response": {
1894
+ "Functions": [
1895
+ {
1896
+ "FunctionName": "aws-perspective-CleanupBucketFunction-OVD656MF7UGS",
1897
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:aws-perspective-CleanupBucketFunction-OVD656MF7UGS",
1898
+ "Runtime": "python3.8",
1899
+ "Role": "arn:aws:iam::111122223333:role/aws-perspective-CleanupBucketFunctionRole-1RMMRZIDYZGDC",
1900
+ "Handler": "cleanup_bucket.handler",
1901
+ "CodeSize": 8739685,
1902
+ "Description": "Custom Lambda resource for emptying S3 buckets on stack deletion",
1903
+ "Timeout": 900,
1904
+ "MemorySize": 128,
1905
+ "LastModified": "2020-11-20T18:08:50.108+0000",
1906
+ "CodeSha256": "bSvNEY11c9BJwbDu8CWhAsD6mlScygSDkPUCvrx1iQg=",
1907
+ "Version": "$LATEST",
1908
+ "Environment": {"Variables": {"VERSION": "1.0"}},
1909
+ "TracingConfig": {"Mode": "PassThrough"},
1910
+ "RevisionId": "78f6c15d-33ad-46e0-a969-06347872c087",
1911
+ "PackageType": "Zip",
1912
+ "Architectures": ["x86_64"],
1913
+ "EphemeralStorage": {"Size": 512},
1914
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1915
+ },
1916
+ {
1917
+ "FunctionName": "Service-Catalog-Factory-StartInstallLambda-1G5SWLOMPKBJV",
1918
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:Service-Catalog-Factory-StartInstallLambda-1G5SWLOMPKBJV",
1919
+ "Runtime": "python3.9",
1920
+ "Role": "arn:aws:iam::111122223333:role/servicecatalog-factory/StartFactoryInstallRole",
1921
+ "Handler": "index.handler",
1922
+ "CodeSize": 950,
1923
+ "Description": "Lambda for starting Factory CodeBuild Job",
1924
+ "Timeout": 900,
1925
+ "MemorySize": 128,
1926
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1927
+ "CodeSha256": "bTm2hPFMB+4kZ5krm5sgIyf6Ye0prQfPeu/TWnHsyMs=",
1928
+ "Version": "$LATEST",
1929
+ "TracingConfig": {"Mode": "PassThrough"},
1930
+ "RevisionId": "15888c75-70d6-4205-a642-8eb0d81c0399",
1931
+ "PackageType": "Zip",
1932
+ "Architectures": ["x86_64"],
1933
+ "EphemeralStorage": {"Size": 512},
1934
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1935
+ },
1936
+ {
1937
+ "FunctionName": "UpsertDNSNameFromCentralQueueLambda",
1938
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:UpsertDNSNameFromCentralQueueLambda",
1939
+ "Runtime": "python3.9",
1940
+ "Role": "arn:aws:iam::111122223333:role/ReadQueueAndInsertRecordLambdaRole",
1941
+ "Handler": "Route53PHZLambdaUpdateFromSQS.lambda_handler",
1942
+ "CodeSize": 1588,
1943
+ "Description": "Lambda to to update DNS Hosted Zone for EC2 starts",
1944
+ "Timeout": 20,
1945
+ "MemorySize": 256,
1946
+ "LastModified": "2023-02-04T01:22:58.307+0000",
1947
+ "CodeSha256": "4CAgGZsVB+IiGAlH7+hpUBhg4kczTcU8fR2Scc8/Qnk=",
1948
+ "Version": "$LATEST",
1949
+ "Environment": {"Variables": {"HOSTED_ZONE_ID": "Z06954483PM26JFJ0ET4L", "LOG_LEVEL": "INFO"}},
1950
+ "TracingConfig": {"Mode": "PassThrough"},
1951
+ "RevisionId": "d82459b2-8fa8-41e8-a842-5484d144755a",
1952
+ "Layers": [
1953
+ {
1954
+ "Arn": "arn:aws:lambda:us-east-1:111122223333:layer:CentralBoto3Library:1",
1955
+ "CodeSize": 12119917,
1956
+ }
1957
+ ],
1958
+ "PackageType": "Zip",
1959
+ "Architectures": ["x86_64"],
1960
+ "EphemeralStorage": {"Size": 512},
1961
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1962
+ },
1963
+ {
1964
+ "FunctionName": "puppet-initialization-stack-StartInstallLambda-1HOFEXKEJ59NO",
1965
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:puppet-initialization-stack-StartInstallLambda-1HOFEXKEJ59NO",
1966
+ "Runtime": "python3.9",
1967
+ "Role": "arn:aws:iam::111122223333:role/servicecatalog-puppet/StartPuppetInstallRole",
1968
+ "Handler": "index.handler",
1969
+ "CodeSize": 950,
1970
+ "Description": "Lambda for starting Puppet CodeBuild Job",
1971
+ "Timeout": 900,
1972
+ "MemorySize": 128,
1973
+ "LastModified": "2023-09-06T16:44:28.000+0000",
1974
+ "CodeSha256": "EM64/ein7tutFhlnadFsmZgemV55QCbwxKLYvxY5IT8=",
1975
+ "Version": "$LATEST",
1976
+ "TracingConfig": {"Mode": "PassThrough"},
1977
+ "RevisionId": "49c3f461-70c8-4104-aa04-c9837a7bb2c4",
1978
+ "PackageType": "Zip",
1979
+ "Architectures": ["x86_64"],
1980
+ "EphemeralStorage": {"Size": 512},
1981
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
1982
+ },
1983
+ {
1984
+ "FunctionName": "aws-perspective-444444444444-PerspectiveCostLambda-WI000XT4UESL",
1985
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:aws-perspective-444444444444-PerspectiveCostLambda-WI000XT4UESL",
1986
+ "Runtime": "nodejs12.x",
1987
+ "Role": "arn:aws:iam::111122223333:role/aws-perspective-444444444444-u-PerspectiveCostRole-CRI7RCP68JB8",
1988
+ "Handler": "costParser.handler",
1989
+ "CodeSize": 542111,
1990
+ "Description": "",
1991
+ "Timeout": 600,
1992
+ "MemorySize": 3008,
1993
+ "LastModified": "2020-11-20T18:22:45.622+0000",
1994
+ "CodeSha256": "VUEyOf479zbGHCuWE3mIziOT7VAM1zKteXtKdr1uS2Y=",
1995
+ "Version": "$LATEST",
1996
+ "Environment": {
1997
+ "Variables": {
1998
+ "DynamoCostTable": "aws-perspective-444444444444-us-east-1-CostAndUsage-102XQ0DR9RGNL-PerspectiveCostDBTable-140FMMWXZJMF8"
1999
+ }
2000
+ },
2001
+ "TracingConfig": {"Mode": "PassThrough"},
2002
+ "RevisionId": "84c22e96-d9d7-4c99-8141-36de2c9b2788",
2003
+ "PackageType": "Zip",
2004
+ "Architectures": ["x86_64"],
2005
+ "EphemeralStorage": {"Size": 512},
2006
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2007
+ },
2008
+ {
2009
+ "FunctionName": "aws-perspective-LambdaSetup-XVRTM8O9Z664",
2010
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:aws-perspective-LambdaSetup-XVRTM8O9Z664",
2011
+ "Runtime": "nodejs12.x",
2012
+ "Role": "arn:aws:iam::111122223333:role/aws-perspective-LambdaExecutionRole-1N5A6ABWHD3R5",
2013
+ "Handler": "index.handler",
2014
+ "CodeSize": 8426320,
2015
+ "Description": "Custom Lambda resource for the Perspective Cloudformation Stack",
2016
+ "Timeout": 900,
2017
+ "MemorySize": 256,
2018
+ "LastModified": "2020-11-20T18:09:09.002+0000",
2019
+ "CodeSha256": "RsEPUZi7qMfo0qbyLqj23ZMNEuA/Mxjp608Q+myXDWM=",
2020
+ "Version": "$LATEST",
2021
+ "Environment": {
2022
+ "Variables": {
2023
+ "APPSYNC_API_ARN": "arn:aws:appsync:us-east-1:111122223333:apis/er5ovzqoxzgerkyzdegvedw5c4",
2024
+ "API_GATEWAY": "https://c4v9hpopf7.execute-api.us-east-1.amazonaws.com/Prod",
2025
+ "ACCOUNT_ID": "444444444444",
2026
+ "IMAGE_VERSION": "aws-perspective-9",
2027
+ "COGNITO_IDENTITY_POOL": "us-east-1:a0a7678a-1a47-4624-99ee-fcbd2b58db37",
2028
+ "AMPLIFY_STORAGE_BUCKET": "aws-perspective-amplifystoragebucket-1396hpmwj23ce",
2029
+ "CREATE_READ_REPLICA": "No",
2030
+ "EXISTING_CONFIG": "Yes",
2031
+ "DEPLOYMENT_BUCKET": "solutions-us-east-1",
2032
+ "ACCESS_LOGS": "aws-perspective-accesslogsbucket-2c037k0cbson",
2033
+ "COGNITO_USER_POOL_WEB_CLIENT_ID": "7mo4b172nsaknbmrmbp5uk688i",
2034
+ "NEPTUNE_INSTANCE_CLASS": "db.r5.large",
2035
+ "APPSYNC_API_ID": "er5ovzqoxzgerkyzdegvedw5c4",
2036
+ "CREATE_ES_SERVICE_ROLE": "Yes",
2037
+ "DISCOVERY_ARN": "arn:aws:iam::111122223333:role/aws-perspective-PerspectiveDiscoveryRole-4WRCUSFIC57L",
2038
+ "COGNITO_USER_POOL_ID": "us-east-1_Smd5UZGpA",
2039
+ "SERVER_API_GATEWAY": "https://u0hehot23d.execute-api.us-east-1.amazonaws.com/Prod/",
2040
+ "REGION": "us-east-1",
2041
+ "APPSYNC_API_GRAPHQL_URL": "https://fg2svcng4vhzfiqmcntcshzx74.appsync-api.us-east-1.amazonaws.com/graphql",
2042
+ "DRAWIO_API_GATEWAY": "https://4zj2y1f819.execute-api.us-east-1.amazonaws.com/Prod/",
2043
+ "CONFIG_AGGREGATOR": "aws-perspective-us-east-1-444444444444-aggregator",
2044
+ "VERSION": "1.0",
2045
+ "ANONYMOUS_METRIC_OPT_OUT": "No",
2046
+ "DEPLOYMENT_BUCKET_KEY": "aws-perspective/v1.0.1",
2047
+ "DISCOVERY_BUCKET": "aws-perspective-discoverybucket-qjlwypzo5eg1",
2048
+ "WEBUI_BUCKET": "aws-perspective-webuibucket-1xylrsdi5wwn2",
2049
+ }
2050
+ },
2051
+ "TracingConfig": {"Mode": "PassThrough"},
2052
+ "RevisionId": "139255c9-441e-4b20-8539-14b004e1e206",
2053
+ "PackageType": "Zip",
2054
+ "Architectures": ["x86_64"],
2055
+ "EphemeralStorage": {"Size": 512},
2056
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2057
+ },
2058
+ {
2059
+ "FunctionName": "HostedZone",
2060
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:HostedZone",
2061
+ "Runtime": "python3.9",
2062
+ "Role": "arn:aws:iam::111122223333:role/HostedZoneInsertRecordLambdaRole-us-east-1",
2063
+ "Handler": "index.lambda_handler",
2064
+ "CodeSize": 1491,
2065
+ "Description": "Lambda to to update DNS Hosted Zone for EC2 starts.",
2066
+ "Timeout": 300,
2067
+ "MemorySize": 256,
2068
+ "LastModified": "2023-09-06T16:44:28.000+0000",
2069
+ "CodeSha256": "aIwcVl+3PQeHKi3MUZb+RuCgXWPRCe+K2vfCTVhFjr0=",
2070
+ "Version": "$LATEST",
2071
+ "Environment": {"Variables": {"HOSTED_ZONE_ID": "Z2J1SZB1XTWUJO", "LOG_LEVEL": "INFO"}},
2072
+ "TracingConfig": {"Mode": "PassThrough"},
2073
+ "RevisionId": "d587b479-9327-491a-9073-dec709c1b4a1",
2074
+ "PackageType": "Zip",
2075
+ "Architectures": ["x86_64"],
2076
+ "EphemeralStorage": {"Size": 512},
2077
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2078
+ },
2079
+ {
2080
+ "FunctionName": "aws-perspective-444444444444-DrawIOExportFunction-18FOVGK1O4NA0",
2081
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:aws-perspective-444444444444-DrawIOExportFunction-18FOVGK1O4NA0",
2082
+ "Runtime": "python3.8",
2083
+ "Role": "arn:aws:iam::111122223333:role/aws-perspective-073323372-DrawIOExportFunctionRole-5B4KIP43PXJ1",
2084
+ "Handler": "main.handler",
2085
+ "CodeSize": 3687,
2086
+ "Description": "Converts cytoscape JSON to a Draw IO URL",
2087
+ "Timeout": 5,
2088
+ "MemorySize": 256,
2089
+ "LastModified": "2020-11-20T18:22:05.714+0000",
2090
+ "CodeSha256": "bbd5/t5Liymrhn4tCUWI4VV+TzYpayvH49SC/lk3UYA=",
2091
+ "Version": "$LATEST",
2092
+ "TracingConfig": {"Mode": "PassThrough"},
2093
+ "RevisionId": "df5e70fb-a745-40a4-9e87-b91b3e58974e",
2094
+ "PackageType": "Zip",
2095
+ "Architectures": ["x86_64"],
2096
+ "EphemeralStorage": {"Size": 512},
2097
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2098
+ },
2099
+ {
2100
+ "FunctionName": "UpsertDNSNameLambda",
2101
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:UpsertDNSNameLambda",
2102
+ "Runtime": "python3.9",
2103
+ "Role": "arn:aws:iam::111122223333:role/UpsertDNSNameToSQSQueueLambdaRole",
2104
+ "Handler": "Route53PHZLambdaUpdate.lambda_handler",
2105
+ "CodeSize": 2164,
2106
+ "Description": "Lambda to to update DNS Hosted Zone for EC2 starts",
2107
+ "Timeout": 20,
2108
+ "MemorySize": 256,
2109
+ "LastModified": "2023-02-04T02:27:19.108+0000",
2110
+ "CodeSha256": "RC3e1d8z3DRLwxRK32sVJ+VoPpsBCRNZLPWzKLgqoHE=",
2111
+ "Version": "$LATEST",
2112
+ "Environment": {
2113
+ "Variables": {
2114
+ "HOSTED_ZONE_ID": "Z06954483PM26JFJ0ET4L",
2115
+ "CENTRAL_ACCT": "444444444444",
2116
+ "QUEUE_NAME": "myDNSUpsertQueue",
2117
+ "TIME_TO_LIVE": "300",
2118
+ "LOG_LEVEL": "INFO",
2119
+ }
2120
+ },
2121
+ "TracingConfig": {"Mode": "PassThrough"},
2122
+ "RevisionId": "bb7c57a0-6d00-4e4a-809c-95f24c273f70",
2123
+ "Layers": [
2124
+ {
2125
+ "Arn": "arn:aws:lambda:us-east-1:111122223333:layer:DistributedBoto3Library:1",
2126
+ "CodeSize": 12119917,
2127
+ }
2128
+ ],
2129
+ "PackageType": "Zip",
2130
+ "Architectures": ["x86_64"],
2131
+ "EphemeralStorage": {"Size": 512},
2132
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2133
+ },
2134
+ ]
2135
+ },
2136
+ },
2137
+ {
2138
+ "Account": "111122223333",
2139
+ "Region": "il-central-1",
2140
+ "mocked_response": {
2141
+ "Functions": [
2142
+ {
2143
+ "FunctionName": "amplify-login-custom-message-5e485fcf",
2144
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:amplify-login-custom-message-5e485fcf",
2145
+ "Runtime": "nodejs12.x",
2146
+ "Role": "arn:aws:iam::111122223333:role/amplify-login-lambda-5e485fcf",
2147
+ "Handler": "index.handler",
2148
+ "CodeSize": 2256,
2149
+ "Description": "",
2150
+ "Timeout": 15,
2151
+ "MemorySize": 256,
2152
+ "LastModified": "2022-02-24T17:48:51.449+0000",
2153
+ "CodeSha256": "CVYd49nBtCF35xpP9NBL6L7MCPAxrspnQ13ddPEXT9Q=",
2154
+ "Version": "$LATEST",
2155
+ "TracingConfig": {"Mode": "PassThrough"},
2156
+ "RevisionId": "2808976d-75cc-4103-aa40-a0356b9b0953",
2157
+ "PackageType": "Zip",
2158
+ "Architectures": ["x86_64"],
2159
+ "EphemeralStorage": {"Size": 512},
2160
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2161
+ },
2162
+ {
2163
+ "FunctionName": "amplify-login-verify-auth-challenge-5e485fcf",
2164
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:amplify-login-verify-auth-challenge-5e485fcf",
2165
+ "Runtime": "nodejs12.x",
2166
+ "Role": "arn:aws:iam::111122223333:role/amplify-login-lambda-5e485fcf",
2167
+ "Handler": "index.handler",
2168
+ "CodeSize": 2559,
2169
+ "Description": "",
2170
+ "Timeout": 15,
2171
+ "MemorySize": 256,
2172
+ "LastModified": "2022-02-24T17:51:39.000+0000",
2173
+ "CodeSha256": "qsFlXXjffUdlFhVBVyhe0Cp1R+MZvVmTugVpU6YzFlg=",
2174
+ "Version": "$LATEST",
2175
+ "Environment": {"Variables": {"ENDPOINT": "https://amplifybackend.us-east-1.amazonaws.com"}},
2176
+ "TracingConfig": {"Mode": "PassThrough"},
2177
+ "RevisionId": "5926189a-f77b-41e8-ae85-5e45907a3eec",
2178
+ "PackageType": "Zip",
2179
+ "Architectures": ["x86_64"],
2180
+ "EphemeralStorage": {"Size": 512},
2181
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2182
+ },
2183
+ {
2184
+ "FunctionName": "amplify-login-create-auth-challenge-5e485fcf",
2185
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:amplify-login-create-auth-challenge-5e485fcf",
2186
+ "Runtime": "nodejs12.x",
2187
+ "Role": "arn:aws:iam::111122223333:role/amplify-login-lambda-5e485fcf",
2188
+ "Handler": "index.handler",
2189
+ "CodeSize": 1176,
2190
+ "Description": "",
2191
+ "Timeout": 15,
2192
+ "MemorySize": 256,
2193
+ "LastModified": "2022-02-24T17:48:51.405+0000",
2194
+ "CodeSha256": "cxqJx8dz/lhOW3wipOg/XdcHXrdt3DYACxcHn4PxSUM=",
2195
+ "Version": "$LATEST",
2196
+ "TracingConfig": {"Mode": "PassThrough"},
2197
+ "RevisionId": "6679dcef-6683-46be-968e-358e02f60aba",
2198
+ "PackageType": "Zip",
2199
+ "Architectures": ["x86_64"],
2200
+ "EphemeralStorage": {"Size": 512},
2201
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2202
+ },
2203
+ {
2204
+ "FunctionName": "UpsertDNSNameLambda",
2205
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:UpsertDNSNameLambda",
2206
+ "Runtime": "python3.9",
2207
+ "Role": "arn:aws:iam::111122223333:role/UpsertDNSNameToSQSQueueLambdaRole",
2208
+ "Handler": "Route53PHZLambdaUpdate.lambda_handler",
2209
+ "CodeSize": 2164,
2210
+ "Description": "Lambda to to update DNS Hosted Zone for EC2 starts",
2211
+ "Timeout": 20,
2212
+ "MemorySize": 256,
2213
+ "LastModified": "2023-02-04T02:27:13.213+0000",
2214
+ "CodeSha256": "RC3e1d8z3DRLwxRK32sVJ+VoPpsBCRNZLPWzKLgqoHE=",
2215
+ "Version": "$LATEST",
2216
+ "Environment": {
2217
+ "Variables": {
2218
+ "HOSTED_ZONE_ID": "Z06954483PM26JFJ0ET4L",
2219
+ "CENTRAL_ACCT": "444444444444",
2220
+ "QUEUE_NAME": "myDNSUpsertQueue",
2221
+ "TIME_TO_LIVE": "300",
2222
+ "LOG_LEVEL": "INFO",
2223
+ }
2224
+ },
2225
+ "TracingConfig": {"Mode": "PassThrough"},
2226
+ "RevisionId": "ee442990-2ae2-48af-864b-b56673ae9e47",
2227
+ "Layers": [
2228
+ {
2229
+ "Arn": "arn:aws:lambda:us-east-1:111122223333:layer:DistributedBoto3Library:2",
2230
+ "CodeSize": 12119917,
2231
+ }
2232
+ ],
2233
+ "PackageType": "Zip",
2234
+ "Architectures": ["x86_64"],
2235
+ "EphemeralStorage": {"Size": 512},
2236
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2237
+ },
2238
+ {
2239
+ "FunctionName": "amplify-login-define-auth-challenge-5e485fcf",
2240
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:amplify-login-define-auth-challenge-5e485fcf",
2241
+ "Runtime": "nodejs12.x",
2242
+ "Role": "arn:aws:iam::111122223333:role/amplify-login-lambda-5e485fcf",
2243
+ "Handler": "index.handler",
2244
+ "CodeSize": 1770,
2245
+ "Description": "",
2246
+ "Timeout": 15,
2247
+ "MemorySize": 256,
2248
+ "LastModified": "2022-02-24T17:48:51.355+0000",
2249
+ "CodeSha256": "AKie0bn94HCWMRXS7Vm/vvQj9o0yLo6Co5x+iLWmXMs=",
2250
+ "Version": "$LATEST",
2251
+ "TracingConfig": {"Mode": "PassThrough"},
2252
+ "RevisionId": "3146106e-59e1-4504-b113-ee532f3e6273",
2253
+ "PackageType": "Zip",
2254
+ "Architectures": ["x86_64"],
2255
+ "EphemeralStorage": {"Size": 512},
2256
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2257
+ },
2258
+ ]
2259
+ },
2260
+ },
2261
+ {
2262
+ "Account": "111122223333",
2263
+ "Region": "af-south-1",
2264
+ "mocked_response": {
2265
+ "Functions": [
2266
+ {
2267
+ "FunctionName": "Create_CW_Metrics",
2268
+ "FunctionArn": "arn:aws:lambda:us-east-2:111122223333:function:Create_CW_Metrics",
2269
+ "Runtime": "python3.9",
2270
+ "Role": "arn:aws:iam::111122223333:role/Create_CW_MetricsRole",
2271
+ "Handler": "index.lambda_handler",
2272
+ "CodeSize": 674,
2273
+ "Description": "A Lambda that will create CW Metrics on a scheduled basis",
2274
+ "Timeout": 3,
2275
+ "MemorySize": 128,
2276
+ "LastModified": "2023-09-06T17:03:16.000+0000",
2277
+ "CodeSha256": "j5kjegM5DVh/rsE9d22tHzaUOWJJrZrlW7jzMpvVAA0=",
2278
+ "Version": "$LATEST",
2279
+ "TracingConfig": {"Mode": "PassThrough"},
2280
+ "RevisionId": "d62b2adb-dde6-48a8-b63c-4e760ea9dc86",
2281
+ "PackageType": "Zip",
2282
+ "Architectures": ["x86_64"],
2283
+ "EphemeralStorage": {"Size": 512},
2284
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2285
+ }
2286
+ ]
2287
+ },
2288
+ },
2289
+ ]
2290
+ function_response_data = {
2291
+ "Functions": [
2292
+ {
2293
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyValidate-tziul2Otm32F",
2294
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyValidate-tziul2Otm32F",
2295
+ "Runtime": "python3.9",
2296
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-ValidateSpokeAccountAccess",
2297
+ "Handler": "resource_based_policy/step_functions_lambda/validate_account_access.lambda_handler",
2298
+ "CodeSize": 17578832,
2299
+ "Description": "",
2300
+ "Timeout": 900,
2301
+ "MemorySize": 1024,
2302
+ "LastModified": "2023-04-14T15:01:53.312+0000",
2303
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2304
+ "Version": "$LATEST",
2305
+ "Environment": {
2306
+ "Variables": {
2307
+ "SPOKE_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-Spoke-ExecutionRole",
2308
+ "POWERTOOLS_SERVICE_NAME": "ScanResourceBasedPolicy",
2309
+ "SEND_ANONYMOUS_DATA": "Yes",
2310
+ "TIME_TO_LIVE_IN_DAYS": "90",
2311
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2312
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2313
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2314
+ "LOG_LEVEL": "INFO",
2315
+ "SOLUTION_VERSION": "v1.0.3",
2316
+ }
2317
+ },
2318
+ "TracingConfig": {"Mode": "Active"},
2319
+ "RevisionId": "6e9ec792-08c6-491d-aa19-aad57aeab78d",
2320
+ "PackageType": "Zip",
2321
+ "Architectures": ["x86_64"],
2322
+ "EphemeralStorage": {"Size": 512},
2323
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2324
+ },
2325
+ {
2326
+ "FunctionName": "AccountAssessmentStack-TrustedAccessStartScan70308-LfEGZM07HEP6",
2327
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-TrustedAccessStartScan70308-LfEGZM07HEP6",
2328
+ "Runtime": "python3.9",
2329
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-TrustedAccess",
2330
+ "Handler": "trusted_access_enabled_services/scan_for_trusted_services.lambda_handler",
2331
+ "CodeSize": 17578832,
2332
+ "Description": "",
2333
+ "Timeout": 120,
2334
+ "MemorySize": 128,
2335
+ "LastModified": "2023-04-14T15:01:53.914+0000",
2336
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2337
+ "Version": "$LATEST",
2338
+ "Environment": {
2339
+ "Variables": {
2340
+ "POWERTOOLS_SERVICE_NAME": "ScanTrustedAccess",
2341
+ "SEND_ANONYMOUS_DATA": "Yes",
2342
+ "ORG_MANAGEMENT_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-OrgMgmtStackRole",
2343
+ "TIME_TO_LIVE_IN_DAYS": "90",
2344
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2345
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2346
+ "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
2347
+ "LOG_LEVEL": "INFO",
2348
+ "SOLUTION_VERSION": "v1.0.3",
2349
+ }
2350
+ },
2351
+ "TracingConfig": {"Mode": "Active"},
2352
+ "RevisionId": "943aca8c-3984-45cb-97ce-fd3e2a8f7c03",
2353
+ "PackageType": "Zip",
2354
+ "Architectures": ["x86_64"],
2355
+ "EphemeralStorage": {"Size": 512},
2356
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2357
+ },
2358
+ {
2359
+ "FunctionName": "lock_down_stacks_sets_role",
2360
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:lock_down_stacks_sets_role",
2361
+ "Runtime": "python3.9",
2362
+ "Role": "arn:aws:iam::111122223333:role/service-role/lock_down_stacks_sets_role-role-pgehgfag",
2363
+ "Handler": "lambda_function.lambda_handler",
2364
+ "CodeSize": 299,
2365
+ "Description": "",
2366
+ "Timeout": 3,
2367
+ "MemorySize": 128,
2368
+ "LastModified": "2023-09-06T15:50:05.000+0000",
2369
+ "CodeSha256": "fI06ZlRH/KN6Ra3twvdRllUYaxv182Tjx0qNWNlKIhI=",
2370
+ "Version": "$LATEST",
2371
+ "TracingConfig": {"Mode": "PassThrough"},
2372
+ "RevisionId": "ec0a7b23-c892-4dc8-935c-954bf6990bf5",
2373
+ "PackageType": "Zip",
2374
+ "Architectures": ["x86_64"],
2375
+ "EphemeralStorage": {"Size": 512},
2376
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2377
+ },
2378
+ {
2379
+ "FunctionName": "PrintOutEvents_Function",
2380
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:PrintOutEvents_Function",
2381
+ "Runtime": "python3.8",
2382
+ "Role": "arn:aws:iam::111122223333:role/service-role/PrintOutEvents_Function-role-p29wwswh",
2383
+ "Handler": "lambda_function.lambda_handler",
2384
+ "CodeSize": 309,
2385
+ "Description": "",
2386
+ "Timeout": 3,
2387
+ "MemorySize": 128,
2388
+ "LastModified": "2023-02-03T20:41:15.016+0000",
2389
+ "CodeSha256": "O3OGwvaAIbPJr4rqhF1OZuuDThX1qcaCGGEekuse8OY=",
2390
+ "Version": "$LATEST",
2391
+ "TracingConfig": {"Mode": "PassThrough"},
2392
+ "RevisionId": "cfeb671f-f08d-4217-8263-b5110101baf9",
2393
+ "PackageType": "Zip",
2394
+ "Architectures": ["x86_64"],
2395
+ "EphemeralStorage": {"Size": 512},
2396
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2397
+ },
2398
+ {
2399
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyFinishAs-n8TanL9sDr9r",
2400
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyFinishAs-n8TanL9sDr9r",
2401
+ "Runtime": "python3.9",
2402
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-ResourceBasedPolicyFinishAs-1RO9MOHKM92VA",
2403
+ "Handler": "resource_based_policy/finish_scan.lambda_handler",
2404
+ "CodeSize": 17578832,
2405
+ "Description": "",
2406
+ "Timeout": 60,
2407
+ "MemorySize": 128,
2408
+ "LastModified": "2023-04-14T15:01:53.878+0000",
2409
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2410
+ "Version": "$LATEST",
2411
+ "Environment": {
2412
+ "Variables": {
2413
+ "POWERTOOLS_SERVICE_NAME": "FinishScanForResourceBasedPolicies",
2414
+ "SEND_ANONYMOUS_DATA": "Yes",
2415
+ "TIME_TO_LIVE_IN_DAYS": "90",
2416
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2417
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2418
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2419
+ "SOLUTION_VERSION": "v1.0.3",
2420
+ }
2421
+ },
2422
+ "TracingConfig": {"Mode": "Active"},
2423
+ "RevisionId": "e422e2e3-de5b-4a1d-b1f1-09b6125d230e",
2424
+ "PackageType": "Zip",
2425
+ "Architectures": ["x86_64"],
2426
+ "EphemeralStorage": {"Size": 512},
2427
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2428
+ },
2429
+ {
2430
+ "FunctionName": "AccountAssessmentStack-DelegatedAdminsStartScanE7D-Qk14ANSD75ay",
2431
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-DelegatedAdminsStartScanE7D-Qk14ANSD75ay",
2432
+ "Runtime": "python3.9",
2433
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-DelegatedAdmin",
2434
+ "Handler": "delegated_admins/scan_for_delegated_admins.lambda_handler",
2435
+ "CodeSize": 17578832,
2436
+ "Description": "",
2437
+ "Timeout": 120,
2438
+ "MemorySize": 128,
2439
+ "LastModified": "2023-04-14T15:01:52.995+0000",
2440
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2441
+ "Version": "$LATEST",
2442
+ "Environment": {
2443
+ "Variables": {
2444
+ "POWERTOOLS_SERVICE_NAME": "ScanDelegatedAdmin",
2445
+ "SEND_ANONYMOUS_DATA": "Yes",
2446
+ "ORG_MANAGEMENT_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-OrgMgmtStackRole",
2447
+ "TIME_TO_LIVE_IN_DAYS": "90",
2448
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2449
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2450
+ "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
2451
+ "LOG_LEVEL": "INFO",
2452
+ "SOLUTION_VERSION": "v1.0.3",
2453
+ }
2454
+ },
2455
+ "TracingConfig": {"Mode": "Active"},
2456
+ "RevisionId": "d3fdc6a8-35b5-44b6-ae21-a533eea3f478",
2457
+ "PackageType": "Zip",
2458
+ "Architectures": ["x86_64"],
2459
+ "EphemeralStorage": {"Size": 512},
2460
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2461
+ },
2462
+ {
2463
+ "FunctionName": "UpsertDNSNameLambda",
2464
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:UpsertDNSNameLambda",
2465
+ "Runtime": "python3.9",
2466
+ "Role": "arn:aws:iam::111122223333:role/UpsertDNSNameToSQSQueueLambdaRole",
2467
+ "Handler": "Route53PHZLambdaUpdate.lambda_handler",
2468
+ "CodeSize": 2164,
2469
+ "Description": "Lambda to to update DNS Hosted Zone for EC2 starts",
2470
+ "Timeout": 20,
2471
+ "MemorySize": 256,
2472
+ "LastModified": "2023-02-04T02:25:54.603+0000",
2473
+ "CodeSha256": "RC3e1d8z3DRLwxRK32sVJ+VoPpsBCRNZLPWzKLgqoHE=",
2474
+ "Version": "$LATEST",
2475
+ "Environment": {
2476
+ "Variables": {
2477
+ "HOSTED_ZONE_ID": "Z06954483PM26JFJ0ET4L",
2478
+ "CENTRAL_ACCT": "444444444444",
2479
+ "QUEUE_NAME": "myDNSUpsertQueue",
2480
+ "TIME_TO_LIVE": "300",
2481
+ "LOG_LEVEL": "INFO",
2482
+ }
2483
+ },
2484
+ "TracingConfig": {"Mode": "PassThrough"},
2485
+ "RevisionId": "bbfc8a57-67de-426f-a63d-08996b688bd8",
2486
+ "Layers": [
2487
+ {"Arn": "arn:aws:lambda:us-east-1:111122223333:layer:DistributedBoto3Library:9", "CodeSize": 12119917}
2488
+ ],
2489
+ "PackageType": "Zip",
2490
+ "Architectures": ["x86_64"],
2491
+ "EphemeralStorage": {"Size": 512},
2492
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2493
+ },
2494
+ {
2495
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyScanSpok-xWlINDye4FUd",
2496
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyScanSpok-xWlINDye4FUd",
2497
+ "Runtime": "python3.9",
2498
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-ScanSpokeResource",
2499
+ "Handler": "resource_based_policy/step_functions_lambda/scan_policy_all_services_router.lambda_handler",
2500
+ "CodeSize": 17578832,
2501
+ "Description": "",
2502
+ "Timeout": 900,
2503
+ "MemorySize": 512,
2504
+ "LastModified": "2023-04-14T15:01:54.774+0000",
2505
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2506
+ "Version": "$LATEST",
2507
+ "Environment": {
2508
+ "Variables": {
2509
+ "SPOKE_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-Spoke-ExecutionRole",
2510
+ "POWERTOOLS_SERVICE_NAME": "ScanResourceBasedPolicyInSpokeAccount",
2511
+ "SEND_ANONYMOUS_DATA": "Yes",
2512
+ "TIME_TO_LIVE_IN_DAYS": "90",
2513
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2514
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2515
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2516
+ "LOG_LEVEL": "INFO",
2517
+ "SOLUTION_VERSION": "v1.0.3",
2518
+ }
2519
+ },
2520
+ "TracingConfig": {"Mode": "Active"},
2521
+ "RevisionId": "5d2d6891-e38f-4038-a5c6-fd0be145f34e",
2522
+ "PackageType": "Zip",
2523
+ "Architectures": ["x86_64"],
2524
+ "EphemeralStorage": {"Size": 512},
2525
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2526
+ },
2527
+ {
2528
+ "FunctionName": "vpc-mappings-111122223333",
2529
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:vpc-mappings-111122223333",
2530
+ "Runtime": "python3.9",
2531
+ "Role": "arn:aws:iam::111122223333:role/AZ-Mapping-LambdaIAMRole-1MWVK82KVY9O5",
2532
+ "Handler": "index.lambda_handler",
2533
+ "CodeSize": 1711,
2534
+ "Description": "Stores VPC mappings into parameter store",
2535
+ "Timeout": 5,
2536
+ "MemorySize": 128,
2537
+ "LastModified": "2023-09-06T16:44:28.000+0000",
2538
+ "CodeSha256": "H1vz9hfL3eHL/GigRMwy5E7ngxFl1XHzaSP5Dai3M8Y=",
2539
+ "Version": "$LATEST",
2540
+ "TracingConfig": {"Mode": "PassThrough"},
2541
+ "RevisionId": "14153c9e-b5d0-4e0a-9d18-93868f7dd1ae",
2542
+ "PackageType": "Zip",
2543
+ "Architectures": ["x86_64"],
2544
+ "EphemeralStorage": {"Size": 512},
2545
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2546
+ },
2547
+ {
2548
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyReadDC5D-4fhaK4485acJ",
2549
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyReadDC5D-4fhaK4485acJ",
2550
+ "Runtime": "python3.9",
2551
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-ResourceBasedPolicyReadServ-12WZ14XZFTC18",
2552
+ "Handler": "resource_based_policy/read_resource_based_policies.lambda_handler",
2553
+ "CodeSize": 17578832,
2554
+ "Description": "",
2555
+ "Timeout": 60,
2556
+ "MemorySize": 128,
2557
+ "LastModified": "2023-04-14T15:01:53.924+0000",
2558
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2559
+ "Version": "$LATEST",
2560
+ "Environment": {
2561
+ "Variables": {
2562
+ "POWERTOOLS_SERVICE_NAME": "ReadResourceBasedPolicy",
2563
+ "SEND_ANONYMOUS_DATA": "Yes",
2564
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2565
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2566
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2567
+ "SOLUTION_VERSION": "v1.0.3",
2568
+ }
2569
+ },
2570
+ "TracingConfig": {"Mode": "Active"},
2571
+ "RevisionId": "fe607630-2342-4d09-98d2-cee63552cb05",
2572
+ "PackageType": "Zip",
2573
+ "Architectures": ["x86_64"],
2574
+ "EphemeralStorage": {"Size": 512},
2575
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2576
+ },
2577
+ {
2578
+ "FunctionName": "Fix_Default_SGs",
2579
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:Fix_Default_SGs",
2580
+ "Runtime": "python3.9",
2581
+ "Role": "arn:aws:iam::111122223333:role/service-role/Fix_Default_SGs-role-qc5pamya",
2582
+ "Handler": "lambda_function.lambda_handler",
2583
+ "CodeSize": 740,
2584
+ "Description": "",
2585
+ "Timeout": 3,
2586
+ "MemorySize": 128,
2587
+ "LastModified": "2023-09-06T16:33:20.000+0000",
2588
+ "CodeSha256": "XZF1c2Xfl/YT+twYFVmlAGGuuNTO7i3J2FTCMoqFVew=",
2589
+ "Version": "$LATEST",
2590
+ "TracingConfig": {"Mode": "PassThrough"},
2591
+ "RevisionId": "c60151c0-f460-4dfe-98b5-47f6710447b8",
2592
+ "PackageType": "Zip",
2593
+ "Architectures": ["x86_64"],
2594
+ "EphemeralStorage": {"Size": 512},
2595
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2596
+ },
2597
+ {
2598
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyStartSca-RU8utlGVjJyc",
2599
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyStartSca-RU8utlGVjJyc",
2600
+ "Runtime": "python3.9",
2601
+ "Role": "arn:aws:iam::111122223333:role/paulbaye-us-east-1-ResourceBasedPolicy",
2602
+ "Handler": "resource_based_policy/start_state_machine_execution_to_scan_services.lambda_handler",
2603
+ "CodeSize": 17578832,
2604
+ "Description": "",
2605
+ "Timeout": 120,
2606
+ "MemorySize": 128,
2607
+ "LastModified": "2023-04-14T15:02:10.418+0000",
2608
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2609
+ "Version": "$LATEST",
2610
+ "Environment": {
2611
+ "Variables": {
2612
+ "POWERTOOLS_SERVICE_NAME": "ScanResourceBasedPolicy",
2613
+ "SEND_ANONYMOUS_DATA": "Yes",
2614
+ "ORG_MANAGEMENT_ROLE_NAME": "paulbaye-us-east-1-AccountAssessment-OrgMgmtStackRole",
2615
+ "SCAN_RESOURCE_POLICY_STATE_MACHINE_ARN": "arn:aws:states:us-east-1:111122223333:stateMachine:ResourceBasedPolicyScanAllSpokeAccounts38C6FB6E-hEkgjewVuwLc",
2616
+ "TIME_TO_LIVE_IN_DAYS": "90",
2617
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2618
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2619
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2620
+ "LOG_LEVEL": "INFO",
2621
+ "SOLUTION_VERSION": "v1.0.3",
2622
+ }
2623
+ },
2624
+ "TracingConfig": {"Mode": "Active"},
2625
+ "RevisionId": "4d80914c-9423-435d-b1fe-d48125ea064d",
2626
+ "PackageType": "Zip",
2627
+ "Architectures": ["x86_64"],
2628
+ "EphemeralStorage": {"Size": 512},
2629
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2630
+ },
2631
+ {
2632
+ "FunctionName": "AccountAssessmentStack-ResourceBasedPolicyReadScan-DbzA0NZGeTb3",
2633
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-ResourceBasedPolicyReadScan-DbzA0NZGeTb3",
2634
+ "Runtime": "python3.9",
2635
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-ResourceBasedPolicyReadScan-14UZV70G67KSO",
2636
+ "Handler": "resource_based_policy/supported_configuration/scan_configurations.lambda_handler",
2637
+ "CodeSize": 17578832,
2638
+ "Description": "",
2639
+ "Timeout": 600,
2640
+ "MemorySize": 128,
2641
+ "LastModified": "2023-04-14T15:01:54.572+0000",
2642
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2643
+ "Version": "$LATEST",
2644
+ "Environment": {
2645
+ "Variables": {
2646
+ "POWERTOOLS_SERVICE_NAME": "ReadScanConfigs",
2647
+ "SEND_ANONYMOUS_DATA": "Yes",
2648
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2649
+ "COMPONENT_TABLE": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2650
+ "LOG_LEVEL": "INFO",
2651
+ "SOLUTION_VERSION": "v1.0.3",
2652
+ }
2653
+ },
2654
+ "TracingConfig": {"Mode": "Active"},
2655
+ "RevisionId": "b0f59e30-6d16-4368-80b2-27ed25d16d1e",
2656
+ "PackageType": "Zip",
2657
+ "Architectures": ["x86_64"],
2658
+ "EphemeralStorage": {"Size": 512},
2659
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2660
+ },
2661
+ {
2662
+ "FunctionName": "AccountAssessmentStack-WebUIDeployerDeployWebUIC2B-ZL1H4n2W05xe",
2663
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-WebUIDeployerDeployWebUIC2B-ZL1H4n2W05xe",
2664
+ "Runtime": "python3.9",
2665
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-WebUIDeployerDeployWebUISer-SXOS38SBZPWQ",
2666
+ "Handler": "deploy_webui/deploy_webui.lambda_handler",
2667
+ "CodeSize": 17578832,
2668
+ "Description": "",
2669
+ "Timeout": 300,
2670
+ "MemorySize": 128,
2671
+ "LastModified": "2023-04-14T15:06:17.107+0000",
2672
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2673
+ "Version": "$LATEST",
2674
+ "Environment": {
2675
+ "Variables": {
2676
+ "CONFIG": '{"SrcBucket":"solutions-us-east-1","SrcPath":"account-assessment-for-aws-organizations/v1.0.3/webui/","WebUIBucket":"accountassessmentstack-s3bucket07682993-1qnr9dfvuvn8m","awsExports":{"API":{"endpoints":[{"name":"AccountAssessmentApi","endpoint":"https://5ugessads8.execute-api.us-east-1.amazonaws.com/prod"}]},"loggingLevel":"INFO","Auth":{"region":"us-east-1","userPoolId":"us-east-1_4y5EH6RX3","userPoolWebClientId":"10hrrgcdjum45c4jmre3kv7r7d","mandatorySignIn":true,"oauth":{"domain":"paulbaye-amzn.auth.us-east-1.amazoncognito.com","scope":["openid","profile","email","aws.cognito.signin.user.admin"],"redirectSignIn":"https://d12i33hlb8s7se.cloudfront.net/","redirectSignOut":"https://d12i33hlb8s7se.cloudfront.net/","responseType":"code","clientId":"10hrrgcdjum45c4jmre3kv7r7d"}}}}',
2677
+ "POWERTOOLS_SERVICE_NAME": "DeployWebUI",
2678
+ "SEND_ANONYMOUS_DATA": "Yes",
2679
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2680
+ "LOG_LEVEL": "INFO",
2681
+ "SOLUTION_VERSION": "v1.0.3",
2682
+ }
2683
+ },
2684
+ "TracingConfig": {"Mode": "Active"},
2685
+ "RevisionId": "b79766f8-4e8d-438c-a5b5-8d5e656a165e",
2686
+ "PackageType": "Zip",
2687
+ "Architectures": ["x86_64"],
2688
+ "EphemeralStorage": {"Size": 512},
2689
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2690
+ },
2691
+ {
2692
+ "FunctionName": "orgformation-EmptyS3BucketOnDeletionLambdaFunction-W98Id8S5pK33",
2693
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:orgformation-EmptyS3BucketOnDeletionLambdaFunction-W98Id8S5pK33",
2694
+ "Runtime": "python3.9",
2695
+ "Role": "arn:aws:iam::111122223333:role/orgformation-EmptyS3BucketOnDeletionLambdaExecutio-1SLZXRGG2YUT5",
2696
+ "Handler": "index.handler",
2697
+ "CodeSize": 1412,
2698
+ "Description": "",
2699
+ "Timeout": 3,
2700
+ "MemorySize": 128,
2701
+ "LastModified": "2023-09-06T16:44:28.000+0000",
2702
+ "CodeSha256": "kK3SVtC1I7ezvKPsNwno7YY9AfCKV3kkA56RV8kD3DE=",
2703
+ "Version": "$LATEST",
2704
+ "TracingConfig": {"Mode": "PassThrough"},
2705
+ "RevisionId": "c5d3cf2d-8a26-41d0-a0e8-60a36bca1103",
2706
+ "PackageType": "Zip",
2707
+ "Architectures": ["x86_64"],
2708
+ "EphemeralStorage": {"Size": 512},
2709
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2710
+ },
2711
+ {
2712
+ "FunctionName": "AccountAssessmentStack-JobHistoryJobsHandler060579-EShvGJzftPCt",
2713
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-JobHistoryJobsHandler060579-EShvGJzftPCt",
2714
+ "Runtime": "python3.9",
2715
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-JobHistoryJobsHandlerServic-HXRBGBPC98KW",
2716
+ "Handler": "assessment_runner/api_router.lambda_handler",
2717
+ "CodeSize": 17578832,
2718
+ "Description": "",
2719
+ "Timeout": 60,
2720
+ "MemorySize": 128,
2721
+ "LastModified": "2023-04-14T15:01:53.918+0000",
2722
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2723
+ "Version": "$LATEST",
2724
+ "Environment": {
2725
+ "Variables": {
2726
+ "POWERTOOLS_LOGGER_LOG_EVENT": "True",
2727
+ "POWERTOOLS_SERVICE_NAME": "JobsApiHandler",
2728
+ "SEND_ANONYMOUS_DATA": "Yes",
2729
+ "TABLE_TRUSTED_ACCESS": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
2730
+ "TABLE_DELEGATED_ADMIN": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
2731
+ "TIME_TO_LIVE_IN_DAYS": "90",
2732
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2733
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2734
+ "SOLUTION_VERSION": "v1.0.3",
2735
+ "TABLE_RESOURCE_BASED_POLICY": "AccountAssessmentStack-ResourceBasedPolicyTable7277C643-13R1K510AXFDB",
2736
+ }
2737
+ },
2738
+ "TracingConfig": {"Mode": "Active"},
2739
+ "RevisionId": "4ebd1e01-2898-4dab-8fb2-a42bad2bb1df",
2740
+ "PackageType": "Zip",
2741
+ "Architectures": ["x86_64"],
2742
+ "EphemeralStorage": {"Size": 512},
2743
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2744
+ },
2745
+ {
2746
+ "FunctionName": "CreateidpProvider",
2747
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:CreateidpProvider",
2748
+ "Runtime": "python2.7",
2749
+ "Role": "arn:aws:iam::111122223333:role/service-role/CreateidpProvider-role-o7h6t6no",
2750
+ "Handler": "lambda_function.lambda_handler",
2751
+ "CodeSize": 886,
2752
+ "Description": "",
2753
+ "Timeout": 3,
2754
+ "MemorySize": 128,
2755
+ "LastModified": "2019-05-02T15:03:42.436+0000",
2756
+ "CodeSha256": "QvxbS4ZbI9bivuDn5kp7ARuHikbV5Xf3/SN3bKCcQdY=",
2757
+ "Version": "$LATEST",
2758
+ "TracingConfig": {"Mode": "PassThrough"},
2759
+ "RevisionId": "42c3c4df-fe81-4dfd-9cd8-827a478407b7",
2760
+ "PackageType": "Zip",
2761
+ "Architectures": ["x86_64"],
2762
+ "EphemeralStorage": {"Size": 512},
2763
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2764
+ },
2765
+ {
2766
+ "FunctionName": "P9E-a8ba4fea-1856-49ca-8aa4-2b7e9b58d7a6",
2767
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:P9E-a8ba4fea-1856-49ca-8aa4-2b7e9b58d7a6",
2768
+ "Runtime": "python3.7",
2769
+ "Role": "arn:aws:iam::111122223333:role/aws-perspective-51771365777-LambdaEdgeFunctionRole-15OZK21LEUC5O",
2770
+ "Handler": "append_headers.handler",
2771
+ "CodeSize": 1039,
2772
+ "Description": "Lambda@Edge for secure headers",
2773
+ "Timeout": 5,
2774
+ "MemorySize": 128,
2775
+ "LastModified": "2020-09-22T15:54:23.904+0000",
2776
+ "CodeSha256": "tZMc1X5ewz2jkq2rML6VPQgb3x4T9wnYvnMacZHO65I=",
2777
+ "Version": "$LATEST",
2778
+ "TracingConfig": {"Mode": "PassThrough"},
2779
+ "RevisionId": "ffa243e9-dbe5-4424-970a-96ecfb5e4a3b",
2780
+ "PackageType": "Zip",
2781
+ "Architectures": ["x86_64"],
2782
+ "EphemeralStorage": {"Size": 512},
2783
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2784
+ },
2785
+ {
2786
+ "FunctionName": "AccountAssessmentStack-TrustedAccessRead96AB6071-NKktqhxZ7fTz",
2787
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-TrustedAccessRead96AB6071-NKktqhxZ7fTz",
2788
+ "Runtime": "python3.9",
2789
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-TrustedAccessReadServiceRol-1RC8YXWIAP9YN",
2790
+ "Handler": "trusted_access_enabled_services/read_trusted_services.lambda_handler",
2791
+ "CodeSize": 17578832,
2792
+ "Description": "",
2793
+ "Timeout": 60,
2794
+ "MemorySize": 128,
2795
+ "LastModified": "2023-04-14T15:01:53.616+0000",
2796
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2797
+ "Version": "$LATEST",
2798
+ "Environment": {
2799
+ "Variables": {
2800
+ "POWERTOOLS_SERVICE_NAME": "ReadTrustedAccess",
2801
+ "SEND_ANONYMOUS_DATA": "Yes",
2802
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2803
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2804
+ "COMPONENT_TABLE": "AccountAssessmentStack-TrustedAccessTable495B447A-GTR0RYDUJU5Q",
2805
+ "SOLUTION_VERSION": "v1.0.3",
2806
+ }
2807
+ },
2808
+ "TracingConfig": {"Mode": "Active"},
2809
+ "RevisionId": "41db914e-32ea-4b7c-8a05-a78def9856b1",
2810
+ "PackageType": "Zip",
2811
+ "Architectures": ["x86_64"],
2812
+ "EphemeralStorage": {"Size": 512},
2813
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2814
+ },
2815
+ {
2816
+ "FunctionName": "AccountAssessmentStack-DelegatedAdminsRead591DCC7E-AyGSKEOHKNm2",
2817
+ "FunctionArn": "arn:aws:lambda:us-east-1:111122223333:function:AccountAssessmentStack-DelegatedAdminsRead591DCC7E-AyGSKEOHKNm2",
2818
+ "Runtime": "python3.9",
2819
+ "Role": "arn:aws:iam::111122223333:role/AccountAssessmentStack-DelegatedAdminsReadServiceR-NA50GOH53141",
2820
+ "Handler": "delegated_admins/read_delegated_admins.lambda_handler",
2821
+ "CodeSize": 17578832,
2822
+ "Description": "",
2823
+ "Timeout": 60,
2824
+ "MemorySize": 128,
2825
+ "LastModified": "2023-04-14T15:01:54.770+0000",
2826
+ "CodeSha256": "W3RrpSLyvPWK2fMWGtTwyhNlX/MgiEmi4J4S56uv6qs=",
2827
+ "Version": "$LATEST",
2828
+ "Environment": {
2829
+ "Variables": {
2830
+ "POWERTOOLS_SERVICE_NAME": "ReadDelegatedAdmin",
2831
+ "SEND_ANONYMOUS_DATA": "Yes",
2832
+ "STACK_ID": "arn:aws:cloudformation:us-east-1:111122223333:stack/AccountAssessmentStack/bc6befc0-dacb-11ed-921f-0a41af233cd7",
2833
+ "TABLE_JOBS": "AccountAssessmentStack-JobHistoryTableE4B293DD-1QRBBBDKUU8G9",
2834
+ "COMPONENT_TABLE": "AccountAssessmentStack-DelegatedAdminsTable29E80916-F34FK4FZGFP5",
2835
+ "SOLUTION_VERSION": "v1.0.3",
2836
+ }
2837
+ },
2838
+ "TracingConfig": {"Mode": "Active"},
2839
+ "RevisionId": "677f7ad5-f7d2-44d7-a3dd-c026e022b2fb",
2840
+ "PackageType": "Zip",
2841
+ "Architectures": ["x86_64"],
2842
+ "EphemeralStorage": {"Size": 512},
2843
+ "SnapStart": {"ApplyOn": "None", "OptimizationStatus": "Off"},
2844
+ },
2845
+ ]
2846
+ }
2847
+
2848
+ get_all_my_functions_test_result_dict = [
2849
+ {"operation_name": "ListFunctions", "test_result": account_and_region_specific_function_response_data},
2850
+ ]
2851
+
2852
+ """
2853
+ all_my_orgs Test Data
2854
+ """
2855
+ get_all_my_orgs_test_result_dict = [
2856
+ {"operation_name": "DescribeRegions", "test_result": DescribeRegionsResponseData},
2857
+ {"operation_name": "GetCallerIdentity", "test_result": GetCallerIdentity},
2858
+ {"operation_name": "DescribeOrganization", "test_result": DescribeOrganizationsResponseData},
2859
+ {"operation_name": "ListAccounts", "test_result": ListAccountsResponseData},
2860
+ ]
2861
+
2862
+ """
2863
+ all_my_instances Test Data
2864
+ """
2865
+ mock_instances_1 = {
2866
+ "Reservations": [
2867
+ {
2868
+ "Instances": [
2869
+ {
2870
+ "InstanceType": "t2.micro",
2871
+ "InstanceId": "i-1234567890abcdef",
2872
+ "Placement": {"AvailabilityZone": "us-east-1b"},
2873
+ "PublicDnsName": "ec2-1-2-3-4.us-east-1.compute.amazonaws.com",
2874
+ "PrivateIpAddress": "10.205.90.201",
2875
+ "State": {"Name": "running"},
2876
+ "Tags": [{"Key": "Name", "Value": "Instance1"}, {"Key": "Account", "Value": "111122223333"}],
2877
+ }
2878
+ ]
2879
+ }
2880
+ ]
2881
+ }
2882
+ mock_instances_2 = {
2883
+ "Reservations": [
2884
+ {
2885
+ "Instances": [
2886
+ {
2887
+ "InstanceId": "i-5f6e7d8e9b",
2888
+ "InstanceType": "m5.2xlarge",
2889
+ "Placement": {"AvailabilityZone": "us-east-2a"},
2890
+ "PublicIpAddress": "98.76.54.32",
2891
+ "PrivateIpAddress": "10.0.5.6",
2892
+ "State": {"Name": "running"},
2893
+ "Tags": [
2894
+ {"Key": "Name", "Value": "Instance1"},
2895
+ {"Key": "Account", "Value": "444455556666"},
2896
+ {"Key": "Environment", "Value": "Staging"},
2897
+ ],
2898
+ },
2899
+ {
2900
+ "InstanceId": "i-939fhik0jf",
2901
+ "InstanceType": "m5.4xlarge",
2902
+ "Placement": {"AvailabilityZone": "us-east-2b"},
2903
+ "PublicIpAddress": "198.6.82.16",
2904
+ "PrivateIpAddress": "11.2.71.109",
2905
+ "State": {"Name": "running"},
2906
+ "Tags": [
2907
+ {"Key": "Name", "Value": "Instance2"},
2908
+ {"Key": "Account", "Value": "444455556666"},
2909
+ {"Key": "Environment", "Value": "Development"},
2910
+ ],
2911
+ },
2912
+ ]
2913
+ }
2914
+ ]
2915
+ }
2916
+ mock_instances_3 = {
2917
+ "Reservations": [
2918
+ {
2919
+ "Instances": [
2920
+ {
2921
+ "InstanceId": "i-5f6e7d8e9d",
2922
+ "InstanceType": "c5d.9xlarge",
2923
+ "Placement": {"AvailabilityZone": "us-west-2b"},
2924
+ "PublicIpAddress": "22.23.24.25",
2925
+ "PublicDnsName": "ec2-22-23-24-25.us-west-2.compute.amazonaws.com",
2926
+ "PrivateIpAddress": "10.0.9.1",
2927
+ "State": {"Name": "running"},
2928
+ "Tags": [
2929
+ {"Key": "Account", "Value": "555566667777"},
2930
+ {"Key": "Name", "Value": "Instance_3a"},
2931
+ {"Key": "Environment", "Value": "Production"},
2932
+ {"Key": "Project", "Value": "HighPerformanceComputing"},
2933
+ ],
2934
+ }
2935
+ ]
2936
+ }
2937
+ ]
2938
+ }
2939
+ mock_instances_4 = {
2940
+ "Reservations": [
2941
+ {
2942
+ "Instances": [
2943
+ {
2944
+ "InstanceId": "i-0f1e2d3c4c",
2945
+ "InstanceType": "t3.small",
2946
+ "Placement": {"AvailabilityZone": "eu-west-1c"},
2947
+ "PublicIpAddress": "54.123.45.69",
2948
+ "PrivateIpAddress": "10.0.0.6",
2949
+ "State": {"Name": "running"},
2950
+ "Tags": [
2951
+ {"Key": "Account", "Value": "555566667777"},
2952
+ {"Key": "Name", "Value": "Instance_4a"},
2953
+ {"Key": "Environment", "Value": "Production"},
2954
+ ],
2955
+ },
2956
+ {
2957
+ "InstanceId": "i-5f6e7d8e9k",
2958
+ "InstanceType": "m5.2xlarge",
2959
+ "Placement": {"AvailabilityZone": "eu-west-1d"},
2960
+ "PublicIpAddress": "34.56.78.92",
2961
+ "PrivateIpAddress": "10.0.1.9",
2962
+ "State": {"Name": "stopped"},
2963
+ "Tags": [
2964
+ {"Key": "Account", "Value": "555566667777"},
2965
+ {"Key": "Name", "Value": "Instance_4b"},
2966
+ {"Key": "Environment", "Value": "Development"},
2967
+ ],
2968
+ },
2969
+ {
2970
+ "InstanceId": "i-0a9b8c7d6h",
2971
+ "InstanceType": "t2.large",
2972
+ "Placement": {"AvailabilityZone": "eu-west-1c"},
2973
+ "PublicIpAddress": "65.43.21.100",
2974
+ "PrivateIpAddress": "10.0.2.5",
2975
+ "State": {"Name": "running"},
2976
+ "Tags": [
2977
+ {"Key": "Account", "Value": "555566667777"},
2978
+ {"Key": "Name", "Value": "Instance_4c"},
2979
+ {"Key": "Project", "Value": "DataAnalytics"},
2980
+ ],
2981
+ },
2982
+ ]
2983
+ },
2984
+ ]
2985
+ }
2986
+ mock_instances_5 = {
2987
+ "Reservations": [
2988
+ {
2989
+ "Instances": [
2990
+ {
2991
+ "InstanceId": "i-5f6e7d8e9l",
2992
+ "InstanceType": "c5.4xlarge",
2993
+ "Placement": {"AvailabilityZone": "eu-central-1a"},
2994
+ "PublicIpAddress": "87.65.43.23",
2995
+ "PrivateIpAddress": "10.0.3.11",
2996
+ "State": {"Name": "running"},
2997
+ "Tags": [
2998
+ {"Key": "Account", "Value": "666677775555"},
2999
+ {"Key": "Name", "Value": "Instance_5a"},
3000
+ {"Key": "Environment", "Value": "Production"},
3001
+ {"Key": "Project", "Value": "WebApplication"},
3002
+ ],
3003
+ },
3004
+ {
3005
+ "InstanceId": "i-0a9b8c7d6i",
3006
+ "InstanceType": "r5.8xlarge",
3007
+ "Placement": {"AvailabilityZone": "eu-central-1b"},
3008
+ "PublicIpAddress": "12.34.56.80",
3009
+ "PrivateIpAddress": "10.0.4.4",
3010
+ "State": {"Name": "stopped"},
3011
+ "Tags": [{"Key": "Account", "Value": "666677775555"}, {"Key": "Name", "Value": "Instance_5b"}],
3012
+ },
3013
+ ]
3014
+ },
3015
+ ]
3016
+ }
3017
+ mock_instances_6 = {
3018
+ "Reservations": [
3019
+ {
3020
+ "Instances": [
3021
+ {
3022
+ "InstanceId": "i-5f6e7d8e9m",
3023
+ "InstanceType": "m5.8xlarge",
3024
+ "Placement": {"AvailabilityZone": "eu-north-1c"},
3025
+ "PublicIpAddress": "98.76.54.34",
3026
+ "PrivateIpAddress": "10.0.5.8",
3027
+ "State": {"Name": "running"},
3028
+ "Tags": [
3029
+ {"Key": "Account", "Value": "777755556666"},
3030
+ {"Key": "Name", "Value": "Instance_6a"},
3031
+ {"Key": "Environment", "Value": "Staging"},
3032
+ ],
3033
+ },
3034
+ {
3035
+ "InstanceId": "i-0a9b8c7d6j",
3036
+ "InstanceType": "t3.large",
3037
+ "Placement": {"AvailabilityZone": "eu-north-1c"},
3038
+ "PublicIpAddress": "10.11.12.15",
3039
+ "PrivateIpAddress": "10.0.6.10",
3040
+ "State": {"Name": "running"},
3041
+ "Tags": [
3042
+ {"Key": "Account", "Value": "777755556666"},
3043
+ {"Key": "Name", "Value": "Instance_6b"},
3044
+ {"Key": "Project", "Value": "DataPipeline"},
3045
+ ],
3046
+ },
3047
+ {
3048
+ "InstanceId": "i-5f6e7d8e9n",
3049
+ "InstanceType": "g4dn.4xlarge",
3050
+ "Placement": {"AvailabilityZone": "eu-north-1d"},
3051
+ "PublicIpAddress": "14.15.16.19",
3052
+ "PrivateIpAddress": "10.0.7.7",
3053
+ "State": {"Name": "stopped"},
3054
+ "Tags": [{"Key": "Account", "Value": "777755556666"}, {"Key": "Name", "Value": "Instance_6c"}],
3055
+ },
3056
+ ]
3057
+ },
3058
+ ]
3059
+ }
3060
+ mock_instances_7 = {
3061
+ "Reservations": [
3062
+ {
3063
+ "Instances": [
3064
+ {
3065
+ "InstanceId": "i-0a9b8c7d6k",
3066
+ "InstanceType": "m5a.2xlarge",
3067
+ "Placement": {"AvailabilityZone": "eu-west-2c"},
3068
+ "PublicIpAddress": "18.19.20.23",
3069
+ "PrivateIpAddress": "10.0.8.5",
3070
+ "State": {"Name": "running"},
3071
+ "Tags": [
3072
+ {"Key": "Account", "Value": "777755556666"},
3073
+ {"Key": "Name", "Value": "Instance_7a"},
3074
+ {"Key": "Environment", "Value": "Production"},
3075
+ {"Key": "Project", "Value": "MonitoringSystem"},
3076
+ ],
3077
+ },
3078
+ {
3079
+ "InstanceId": "i-5f6e7d8e9o",
3080
+ "InstanceType": "c5d.18xlarge",
3081
+ "Placement": {"AvailabilityZone": "eu-west-2a"},
3082
+ "PublicIpAddress": "22.23.24.27",
3083
+ "PrivateIpAddress": "10.0.9.3",
3084
+ "State": {"Name": "running"},
3085
+ "Tags": [
3086
+ {"Key": "Account", "Value": "777755556666"},
3087
+ {"Key": "Name", "Value": "Instance_7b"},
3088
+ {"Key": "Environment", "Value": "Production"},
3089
+ {"Key": "Project", "Value": "HighPerformanceComputing"},
3090
+ ],
3091
+ },
3092
+ ]
3093
+ },
3094
+ ]
3095
+ }
3096
+ mock_instances_8 = {
3097
+ "Reservations": [
3098
+ {
3099
+ "Instances": [
3100
+ {
3101
+ "InstanceId": "i-0f1e2d3c4d",
3102
+ "InstanceType": "t3.xlarge",
3103
+ "Placement": {"AvailabilityZone": "ap-south-1d"},
3104
+ "PublicIpAddress": "54.123.45.70",
3105
+ "PrivateIpAddress": "10.0.0.7",
3106
+ "State": {"Name": "running"},
3107
+ "Tags": [
3108
+ {"Key": "Account", "Value": "666677778888"},
3109
+ {"Key": "Name", "Value": "Instance_8a"},
3110
+ {"Key": "Environment", "Value": "Production"},
3111
+ ],
3112
+ },
3113
+ {
3114
+ "InstanceId": "i-5f6e7d8e9p",
3115
+ "InstanceType": "m5.4xlarge",
3116
+ "Placement": {"AvailabilityZone": "ap-south-1d"},
3117
+ "PublicIpAddress": "34.56.78.93",
3118
+ "PrivateIpAddress": "10.0.1.10",
3119
+ "State": {"Name": "stopped"},
3120
+ "Tags": [
3121
+ {"Key": "Account", "Value": "666677778888"},
3122
+ {"Key": "Name", "Value": "Instance_8b"},
3123
+ {"Key": "Environment", "Value": "Development"},
3124
+ ],
3125
+ },
3126
+ ]
3127
+ }
3128
+ ]
3129
+ }
3130
+ mock_instances_9 = {
3131
+ "Reservations": [
3132
+ {
3133
+ "Instances": [
3134
+ {
3135
+ "InstanceId": "i-0f1e2d3c4b",
3136
+ "InstanceType": "t3.micro",
3137
+ "Placement": {"AvailabilityZone": "il-central-1a"},
3138
+ "PublicIpAddress": "54.123.45.68",
3139
+ "PrivateIpAddress": "10.0.0.5",
3140
+ "State": {"Name": "running"},
3141
+ "Tags": [
3142
+ {"Key": "Account", "Value": "777788886666"},
3143
+ {"Key": "Name", "Value": "Instance_9a"},
3144
+ {"Key": "Environment", "Value": "Production"},
3145
+ ],
3146
+ },
3147
+ {
3148
+ "InstanceId": "i-5f6e7d8e9e",
3149
+ "InstanceType": "m5.xlarge",
3150
+ "Placement": {"AvailabilityZone": "il-central-1a"},
3151
+ "PublicIpAddress": "34.56.78.91",
3152
+ "PrivateIpAddress": "10.0.1.8",
3153
+ "State": {"Name": "stopped"},
3154
+ "Tags": [
3155
+ {"Key": "Account", "Value": "777788886666"},
3156
+ {"Key": "Name", "Value": "Instance_9b"},
3157
+ {"Key": "Environment", "Value": "Development"},
3158
+ ],
3159
+ },
3160
+ {
3161
+ "InstanceId": "i-0a9b8c7d6f",
3162
+ "InstanceType": "t2.medium",
3163
+ "Placement": {"AvailabilityZone": "il-central-1a"},
3164
+ "PublicIpAddress": "65.43.21.99",
3165
+ "PrivateIpAddress": "10.0.2.4",
3166
+ "State": {"Name": "running"},
3167
+ "Tags": [
3168
+ {"Key": "Account", "Value": "777788886666"},
3169
+ {"Key": "Name", "Value": "Instance_9c"},
3170
+ {"Key": "Project", "Value": "DataAnalytics"},
3171
+ ],
3172
+ },
3173
+ ]
3174
+ },
3175
+ ]
3176
+ }
3177
+ mock_instances_10 = {
3178
+ "Reservations": [
3179
+ {
3180
+ "Instances": [
3181
+ {
3182
+ "InstanceId": "i-5f6e7d8e9f",
3183
+ "InstanceType": "c5.2xlarge",
3184
+ "Placement": {"AvailabilityZone": "af-south-1c"},
3185
+ "PublicIpAddress": "87.65.43.22",
3186
+ "PrivateIpAddress": "10.0.3.10",
3187
+ "State": {"Name": "running"},
3188
+ "Tags": [
3189
+ {"Key": "Account", "Value": "888866667777"},
3190
+ {"Key": "Name", "Value": "Instance_10a"},
3191
+ {"Key": "Environment", "Value": "Production"},
3192
+ {"Key": "Project", "Value": "WebApplication"},
3193
+ ],
3194
+ },
3195
+ {
3196
+ "InstanceId": "i-0a9b8c7d6g",
3197
+ "InstanceType": "r5.4xlarge",
3198
+ "Placement": {"AvailabilityZone": "af-south-1b"},
3199
+ "PublicIpAddress": "12.34.56.79",
3200
+ "PrivateIpAddress": "10.0.4.3",
3201
+ "State": {"Name": "stopped"},
3202
+ "Tags": [{"Key": "Account", "Value": "888866667777"}, {"Key": "Name", "Value": "Instance_10b"}],
3203
+ },
3204
+ ]
3205
+ },
3206
+ ]
3207
+ }
3208
+ mock_instances_11 = {
3209
+ "Reservations": [
3210
+ {
3211
+ "Instances": [
3212
+ {
3213
+ "InstanceId": "i-0a9b8c7d6i",
3214
+ "InstanceType": "m5a.xlarge",
3215
+ "Placement": {"AvailabilityZone": "us-east-2b"},
3216
+ "PublicIpAddress": "18.19.20.22",
3217
+ "PrivateIpAddress": "10.0.8.4",
3218
+ "State": {"Name": "running"},
3219
+ "Tags": [
3220
+ {"Key": "Account", "Value": "111122223333"},
3221
+ {"Key": "Name", "Value": "Instance_11a"},
3222
+ {"Key": "Environment", "Value": "Production"},
3223
+ {"Key": "Project", "Value": "MonitoringSystem"},
3224
+ ],
3225
+ },
3226
+ {
3227
+ "InstanceId": "i-5f6e7d8e9j",
3228
+ "InstanceType": "c5d.12xlarge",
3229
+ "Placement": {"AvailabilityZone": "us-east-2c"},
3230
+ "PublicIpAddress": "22.23.24.26",
3231
+ "PrivateIpAddress": "10.0.9.2",
3232
+ "State": {"Name": "running"},
3233
+ "Tags": [
3234
+ {"Key": "Account", "Value": "111122223333"},
3235
+ {"Key": "Name", "Value": "Instance_11b"},
3236
+ {"Key": "Environment", "Value": "Production"},
3237
+ {"Key": "Project", "Value": "HighPerformanceComputing"},
3238
+ ],
3239
+ },
3240
+ ]
3241
+ },
3242
+ ]
3243
+ }
3244
+ mock_instances_12 = {
3245
+ "Reservations": [
3246
+ {
3247
+ "Instances": [
3248
+ {
3249
+ "InstanceId": "i-5f6e7d8e9g",
3250
+ "InstanceType": "m5.4xlarge",
3251
+ "Placement": {"AvailabilityZone": "us-west-2b"},
3252
+ "PublicIpAddress": "98.76.54.33",
3253
+ "PrivateIpAddress": "10.0.5.7",
3254
+ "State": {"Name": "running"},
3255
+ "Tags": [
3256
+ {"Key": "Account", "Value": "444455556666"},
3257
+ {"Key": "Name", "Value": "Instance_12q"},
3258
+ {"Key": "Environment", "Value": "Staging"},
3259
+ ],
3260
+ },
3261
+ {
3262
+ "InstanceId": "i-0a9b8c7d6h",
3263
+ "InstanceType": "t3.medium",
3264
+ "Placement": {"AvailabilityZone": "us-west-2b"},
3265
+ "PublicIpAddress": "10.11.12.14",
3266
+ "PrivateIpAddress": "10.0.6.9",
3267
+ "State": {"Name": "running"},
3268
+ "Tags": [
3269
+ {"Key": "Account", "Value": "444455556666"},
3270
+ {"Key": "Name", "Value": "Instance_12b"},
3271
+ {"Key": "Project", "Value": "DataPipeline"},
3272
+ ],
3273
+ },
3274
+ {
3275
+ "InstanceId": "i-5f6e7d8e9i",
3276
+ "InstanceType": "g4dn.2xlarge",
3277
+ "Placement": {"AvailabilityZone": "us-west-2c"},
3278
+ "PublicIpAddress": "14.15.16.18",
3279
+ "PrivateIpAddress": "10.0.7.6",
3280
+ "State": {"Name": "stopped"},
3281
+ "Tags": [{"Key": "Account", "Value": "444455556666"}, {"Key": "Name", "Value": "Instance_12c"}],
3282
+ },
3283
+ ]
3284
+ },
3285
+ ]
3286
+ }
3287
+ mock_instances_13 = {
3288
+ "Reservations": [
3289
+ {
3290
+ "InstanceId": "i-0f1e2d3c4d",
3291
+ "InstanceType": "t3.xlarge",
3292
+ "Placement": {"AvailabilityZone": "me-south-1a"},
3293
+ "PublicIpAddress": "54.123.45.70",
3294
+ "PrivateIpAddress": "10.0.0.7",
3295
+ "State": {"Name": "running"},
3296
+ "Tags": [
3297
+ {"Key": "Account", "Value": "555566667777"},
3298
+ {"Key": "Name", "Value": "Instance_13c"},
3299
+ {"Key": "Environment", "Value": "Production"},
3300
+ ],
3301
+ }
3302
+ ]
3303
+ }
3304
+ mock_instances_14 = {
3305
+ "Reservations": [
3306
+ {
3307
+ "Instances": [
3308
+ {
3309
+ "InstanceId": "i-0a1b2c3d4e",
3310
+ "InstanceType": "t3.micro",
3311
+ "Placement": {"AvailabilityZone": "eu-central-1a"},
3312
+ "PublicIpAddress": "54.123.45.67",
3313
+ "PrivateIpAddress": "10.0.0.4",
3314
+ "State": {"Name": "running"},
3315
+ "Tags": [
3316
+ {"Key": "Account", "Value": "555566667777"},
3317
+ {"Key": "Name", "Value": "Instance_14c"},
3318
+ {"Key": "Environment", "Value": "Production"},
3319
+ ],
3320
+ },
3321
+ ]
3322
+ }
3323
+ ]
3324
+ }
3325
+ mock_instances_15 = {
3326
+ "Reservations": [
3327
+ {
3328
+ "Instances": [
3329
+ {
3330
+ "InstanceId": "i-0f1e2d3c4b",
3331
+ "InstanceType": "t3.micro",
3332
+ "Placement": {"AvailabilityZone": "eu-central-1b"},
3333
+ "PublicIpAddress": "54.123.45.68",
3334
+ "PrivateIpAddress": "10.0.0.5",
3335
+ "State": {"Name": "running"},
3336
+ "Tags": [
3337
+ {"Key": "Account", "Value": "666677775555"},
3338
+ {"Key": "Name", "Value": "Instance_15a"},
3339
+ {"Key": "Environment", "Value": "Production"},
3340
+ ],
3341
+ },
3342
+ {
3343
+ "InstanceId": "i-5f6e7d8e9e",
3344
+ "InstanceType": "m5.xlarge",
3345
+ "Placement": {"AvailabilityZone": "eu-central-1c"},
3346
+ "PublicIpAddress": "34.56.78.91",
3347
+ "PrivateIpAddress": "10.0.1.8",
3348
+ "State": {"Name": "stopped"},
3349
+ "Tags": [
3350
+ {"Key": "Account", "Value": "666677775555"},
3351
+ {"Key": "Name", "Value": "Instance_15b"},
3352
+ {"Key": "Environment", "Value": "Development"},
3353
+ ],
3354
+ },
3355
+ {
3356
+ "InstanceId": "i-0a9b8c7d6f",
3357
+ "InstanceType": "t2.medium",
3358
+ "Placement": {"AvailabilityZone": "eu-central-1b"},
3359
+ "PublicIpAddress": "65.43.21.99",
3360
+ "PrivateIpAddress": "10.0.2.4",
3361
+ "State": {"Name": "running"},
3362
+ "Tags": [
3363
+ {"Key": "Account", "Value": "666677775555"},
3364
+ {"Key": "Name", "Value": "Instance_15c"},
3365
+ {"Key": "Project", "Value": "DataAnalytics"},
3366
+ ],
3367
+ },
3368
+ ]
3369
+ },
3370
+ ]
3371
+ }
3372
+ mock_instances_16 = {
3373
+ "Reservations": [
3374
+ {
3375
+ "Instances": [
3376
+ {
3377
+ "InstanceId": "i-5f6e7d8e9g",
3378
+ "InstanceType": "m5.4xlarge",
3379
+ "Placement": {"AvailabilityZone": "af-south-1b"},
3380
+ "PublicIpAddress": "98.76.54.33",
3381
+ "PrivateIpAddress": "10.0.5.7",
3382
+ "State": {"Name": "running"},
3383
+ "Tags": [
3384
+ {"Key": "Account", "Value": "777755556666"},
3385
+ {"Key": "Name", "Value": "Instance_16a"},
3386
+ {"Key": "Environment", "Value": "Staging"},
3387
+ ],
3388
+ },
3389
+ {
3390
+ "InstanceId": "i-0a9b8c7d6h",
3391
+ "InstanceType": "t3.medium",
3392
+ "Placement": {"AvailabilityZone": "af-south-1b"},
3393
+ "PublicIpAddress": "10.11.12.14",
3394
+ "PrivateIpAddress": "10.0.6.9",
3395
+ "State": {"Name": "running"},
3396
+ "Tags": [
3397
+ {"Key": "Account", "Value": "777755556666"},
3398
+ {"Key": "Name", "Value": "Instance_16b"},
3399
+ {"Key": "Project", "Value": "DataPipeline"},
3400
+ ],
3401
+ },
3402
+ {
3403
+ "InstanceId": "i-5f6e7d8e9i",
3404
+ "InstanceType": "g4dn.2xlarge",
3405
+ "Placement": {"AvailabilityZone": "af-south-1c"},
3406
+ "PublicIpAddress": "14.15.16.18",
3407
+ "PrivateIpAddress": "10.0.7.6",
3408
+ "State": {"Name": "stopped"},
3409
+ "Tags": [{"Key": "Account", "Value": "777755556666"}, {"Key": "Name", "Value": "Instance_16c"}],
3410
+ },
3411
+ ]
3412
+ },
3413
+ ]
3414
+ }
3415
+ mock_instances_17 = {
3416
+ "Reservations": [
3417
+ {
3418
+ "Instances": [
3419
+ {
3420
+ "InstanceId": "i-5f6e7d8e9f",
3421
+ "InstanceType": "c5.2xlarge",
3422
+ "Placement": {"AvailabilityZone": "me-south-1c"},
3423
+ "PublicIpAddress": "87.65.43.22",
3424
+ "PrivateIpAddress": "10.0.3.10",
3425
+ "State": {"Name": "running"},
3426
+ "Tags": [
3427
+ {"Key": "Account", "Value": "777755556666"},
3428
+ {"Key": "Name", "Value": "Instance_17c"},
3429
+ {"Key": "Environment", "Value": "Production"},
3430
+ {"Key": "Project", "Value": "WebApplication"},
3431
+ ],
3432
+ },
3433
+ {
3434
+ "InstanceId": "i-0a9b8c7d6g",
3435
+ "InstanceType": "r5.4xlarge",
3436
+ "Placement": {"AvailabilityZone": "me-south-1d"},
3437
+ "PublicIpAddress": "12.34.56.79",
3438
+ "PrivateIpAddress": "10.0.4.3",
3439
+ "State": {"Name": "stopped"},
3440
+ "Tags": [{"Key": "Account", "Value": "777755556666"}, {"Key": "Name", "Value": "Instance_17c"}],
3441
+ },
3442
+ ]
3443
+ },
3444
+ ]
3445
+ }
3446
+ mock_instances_18 = {
3447
+ "Reservations": [
3448
+ {
3449
+ "Instances": [
3450
+ {
3451
+ "InstanceId": "i-5f6e7d8e9f",
3452
+ "InstanceType": "m5.large",
3453
+ "Placement": {"AvailabilityZone": "eu-west-1b"},
3454
+ "PublicIpAddress": "34.56.78.90",
3455
+ "PrivateIpAddress": "10.0.1.7",
3456
+ "State": {"Name": "stopped"},
3457
+ "Tags": [
3458
+ {"Key": "Account", "Value": "666677778888"},
3459
+ {"Key": "Name", "Value": "Instance_18c"},
3460
+ {"Key": "Environment", "Value": "Development"},
3461
+ ],
3462
+ },
3463
+ {
3464
+ "InstanceId": "i-0a9b8c7d6e",
3465
+ "InstanceType": "t2.small",
3466
+ "Placement": {"AvailabilityZone": "ap-southeast-1a"},
3467
+ "PublicIpAddress": "65.43.21.98",
3468
+ "PrivateIpAddress": "10.0.2.3",
3469
+ "State": {"Name": "running"},
3470
+ "Tags": [
3471
+ {"Key": "Account", "Value": "666677778888"},
3472
+ {"Key": "Name", "Value": "Instance_18bc"},
3473
+ {"Key": "Project", "Value": "DataAnalytics"},
3474
+ ],
3475
+ },
3476
+ {
3477
+ "InstanceId": "i-5f6e7d8e9a",
3478
+ "InstanceType": "c5.xlarge",
3479
+ "Placement": {"AvailabilityZone": "eu-west-1b"},
3480
+ "PublicIpAddress": "87.65.43.21",
3481
+ "PrivateIpAddress": "10.0.3.9",
3482
+ "State": {"Name": "running"},
3483
+ "Tags": [
3484
+ {"Key": "Account", "Value": "666677778888"},
3485
+ {"Key": "Name", "Value": "Instance_18a"},
3486
+ {"Key": "Environment", "Value": "Production"},
3487
+ {"Key": "Project", "Value": "WebApplication"},
3488
+ ],
3489
+ },
3490
+ {
3491
+ "InstanceId": "i-0a9b8c7d6f",
3492
+ "InstanceType": "r5.2xlarge",
3493
+ "Placement": {"AvailabilityZone": "us-east-2c"},
3494
+ "PublicIpAddress": "12.34.56.78",
3495
+ "PrivateIpAddress": "10.0.4.2",
3496
+ "State": {"Name": "stopped"},
3497
+ "Tags": [{"Key": "Account", "Value": "666677778888"}, {"Key": "Name", "Value": "Instance_18d"}],
3498
+ },
3499
+ ]
3500
+ },
3501
+ ]
3502
+ }
3503
+ mock_instances_19 = {"Reservations": []}
3504
+ mock_instances_20 = {
3505
+ "Reservations": [
3506
+ {
3507
+ "Instances": [
3508
+ {
3509
+ "InstanceId": "i-5f6e7d8e9q",
3510
+ "InstanceType": "c5.8xlarge",
3511
+ "Placement": {"AvailabilityZone": "af-south-1e"},
3512
+ "PublicIpAddress": "87.65.43.24",
3513
+ "PrivateIpAddress": "10.0.3.12",
3514
+ "State": {"Name": "running"},
3515
+ "Tags": [
3516
+ {"Key": "Account", "Value": "888866667777"},
3517
+ {"Key": "Name", "Value": "Instance_20d"},
3518
+ {"Key": "Environment", "Value": "Production"},
3519
+ {"Key": "Project", "Value": "WebApplication"},
3520
+ ],
3521
+ },
3522
+ {
3523
+ "InstanceId": "i-0a9b8c7d6m",
3524
+ "InstanceType": "r5.12xlarge",
3525
+ "Placement": {"AvailabilityZone": "af-south-2a"},
3526
+ "PublicIpAddress": "12.34.56.81",
3527
+ "PrivateIpAddress": "10.0.4.5",
3528
+ "State": {"Name": "stopped"},
3529
+ "Tags": [
3530
+ {"Key": "Account", "Value": "888866667777"},
3531
+ {"Key": "Name", "Value": "Instance_20a"},
3532
+ ],
3533
+ },
3534
+ ]
3535
+ }
3536
+ ]
3537
+ }
3538
+
3539
+ All_Instances_Response_Data = [
3540
+ {
3541
+ "mock_profile": "mock_profile_1",
3542
+ "AccountNumber": "111122223333",
3543
+ "Region": "us-east-1",
3544
+ "instance_data": mock_instances_1,
3545
+ },
3546
+ {
3547
+ "mock_profile": "mock_profile_2",
3548
+ "AccountNumber": "444455556666",
3549
+ "Region": "us-east-2",
3550
+ "instance_data": mock_instances_2,
3551
+ },
3552
+ {
3553
+ "mock_profile": "mock_profile_3",
3554
+ "AccountNumber": "555566667777",
3555
+ "Region": "us-west-2",
3556
+ "instance_data": mock_instances_3,
3557
+ },
3558
+ {
3559
+ "mock_profile": "mock_profile_4",
3560
+ "AccountNumber": "555566667777",
3561
+ "Region": "eu-west-1",
3562
+ "instance_data": mock_instances_4,
3563
+ },
3564
+ {
3565
+ "mock_profile": "mock_profile_5",
3566
+ "AccountNumber": "666677775555",
3567
+ "Region": "eu-central-1",
3568
+ "instance_data": mock_instances_5,
3569
+ },
3570
+ {
3571
+ "mock_profile": "mock_profile_6",
3572
+ "AccountNumber": "777755556666",
3573
+ "Region": "eu-north-1",
3574
+ "instance_data": mock_instances_6,
3575
+ },
3576
+ {
3577
+ "mock_profile": "mock_profile_7",
3578
+ "AccountNumber": "777755556666",
3579
+ "Region": "eu-west-2",
3580
+ "instance_data": mock_instances_7,
3581
+ },
3582
+ {
3583
+ "mock_profile": "mock_profile_8",
3584
+ "AccountNumber": "666677778888",
3585
+ "Region": "ap-south-1",
3586
+ "instance_data": mock_instances_8,
3587
+ },
3588
+ {
3589
+ "mock_profile": "mock_profile_9",
3590
+ "AccountNumber": "777788886666",
3591
+ "Region": "il-central-1",
3592
+ "instance_data": mock_instances_9,
3593
+ },
3594
+ {
3595
+ "mock_profile": "mock_profile_10",
3596
+ "AccountNumber": "888866667777",
3597
+ "Region": "af-south-1",
3598
+ "instance_data": mock_instances_10,
3599
+ },
3600
+ {
3601
+ "mock_profile": "mock_profile_11",
3602
+ "AccountNumber": "111122223333",
3603
+ "Region": "us-east-2",
3604
+ "instance_data": mock_instances_11,
3605
+ },
3606
+ {
3607
+ "mock_profile": "mock_profile_12",
3608
+ "AccountNumber": "444455556666",
3609
+ "Region": "us-west-2",
3610
+ "instance_data": mock_instances_12,
3611
+ },
3612
+ {
3613
+ "mock_profile": "mock_profile_13",
3614
+ "AccountNumber": "555566667777",
3615
+ "Region": "me-south-1",
3616
+ "instance_data": mock_instances_13,
3617
+ },
3618
+ {
3619
+ "mock_profile": "mock_profile_14",
3620
+ "AccountNumber": "555566667777",
3621
+ "Region": "eu-central-1",
3622
+ "instance_data": mock_instances_14,
3623
+ },
3624
+ {
3625
+ "mock_profile": "mock_profile_15",
3626
+ "AccountNumber": "666677775555",
3627
+ "Region": "eu-central-1",
3628
+ "instance_data": mock_instances_15,
3629
+ },
3630
+ {
3631
+ "mock_profile": "mock_profile_16",
3632
+ "AccountNumber": "777755556666",
3633
+ "Region": "af-south-1",
3634
+ "instance_data": mock_instances_16,
3635
+ },
3636
+ {
3637
+ "mock_profile": "mock_profile_17",
3638
+ "AccountNumber": "777755556666",
3639
+ "Region": "me-south-1",
3640
+ "instance_data": mock_instances_17,
3641
+ },
3642
+ {
3643
+ "mock_profile": "mock_profile_18",
3644
+ "AccountNumber": "666677778888",
3645
+ "Region": "eu-west-1",
3646
+ "instance_data": mock_instances_18,
3647
+ },
3648
+ {
3649
+ "mock_profile": "mock_profile_19",
3650
+ "AccountNumber": "777788886666",
3651
+ "Region": "us-east-1",
3652
+ # mock_instance data will be empty
3653
+ "instance_data": mock_instances_19,
3654
+ },
3655
+ {
3656
+ "mock_profile": "mock_profile_20",
3657
+ "AccountNumber": "888866667777",
3658
+ "Region": "af-south-1",
3659
+ "instance_data": mock_instances_20,
3660
+ },
3661
+ ]