inspec 4.3.2 → 4.6.3

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 (368) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +36 -38
  3. data/README.md +37 -21
  4. data/etc/deprecations.json +10 -0
  5. data/etc/plugin_filters.json +8 -0
  6. data/inspec.gemspec +38 -39
  7. data/lib/bundles/inspec-compliance/api.rb +1 -1
  8. data/lib/bundles/inspec-compliance/configuration.rb +1 -1
  9. data/lib/bundles/inspec-compliance/http.rb +1 -1
  10. data/lib/bundles/inspec-compliance/support.rb +1 -1
  11. data/lib/bundles/inspec-compliance/target.rb +1 -1
  12. data/lib/bundles/inspec-supermarket.rb +3 -7
  13. data/lib/bundles/inspec-supermarket/api.rb +10 -13
  14. data/lib/bundles/inspec-supermarket/cli.rb +12 -15
  15. data/lib/bundles/inspec-supermarket/target.rb +7 -11
  16. data/lib/fetchers/git.rb +14 -15
  17. data/lib/fetchers/local.rb +6 -10
  18. data/lib/fetchers/mock.rb +3 -5
  19. data/lib/fetchers/url.rb +42 -44
  20. data/lib/inspec.rb +23 -24
  21. data/lib/inspec/archive/tar.rb +2 -6
  22. data/lib/inspec/archive/zip.rb +3 -7
  23. data/lib/inspec/backend.rb +8 -9
  24. data/lib/inspec/base_cli.rb +64 -65
  25. data/lib/inspec/cached_fetcher.rb +2 -3
  26. data/lib/inspec/cli.rb +136 -97
  27. data/lib/inspec/config.rb +71 -61
  28. data/lib/inspec/control_eval_context.rb +22 -18
  29. data/lib/inspec/dependencies/cache.rb +2 -3
  30. data/lib/inspec/dependencies/dependency_set.rb +2 -3
  31. data/lib/inspec/dependencies/lockfile.rb +8 -9
  32. data/lib/inspec/dependencies/requirement.rb +7 -8
  33. data/lib/inspec/dependencies/resolver.rb +5 -7
  34. data/lib/inspec/describe.rb +2 -6
  35. data/lib/inspec/dist.rb +20 -0
  36. data/lib/inspec/dsl.rb +4 -7
  37. data/lib/inspec/dsl_shared.rb +1 -2
  38. data/lib/inspec/env_printer.rb +11 -12
  39. data/lib/inspec/errors.rb +0 -4
  40. data/lib/inspec/exceptions.rb +0 -1
  41. data/lib/inspec/expect.rb +5 -8
  42. data/lib/inspec/fetcher.rb +7 -10
  43. data/lib/inspec/file_provider.rb +24 -24
  44. data/lib/inspec/formatters.rb +3 -3
  45. data/lib/inspec/formatters/base.rb +8 -8
  46. data/lib/inspec/globals.rb +2 -2
  47. data/lib/inspec/impact.rb +5 -7
  48. data/lib/inspec/input_registry.rb +84 -33
  49. data/lib/inspec/library_eval_context.rb +3 -6
  50. data/lib/inspec/log.rb +1 -5
  51. data/lib/inspec/metadata.rb +17 -16
  52. data/lib/inspec/method_source.rb +5 -9
  53. data/lib/inspec/objects.rb +10 -12
  54. data/lib/inspec/objects/control.rb +7 -9
  55. data/lib/inspec/objects/describe.rb +9 -11
  56. data/lib/inspec/objects/each_loop.rb +1 -3
  57. data/lib/inspec/objects/input.rb +24 -26
  58. data/lib/inspec/objects/list.rb +4 -6
  59. data/lib/inspec/objects/or_test.rb +2 -4
  60. data/lib/inspec/objects/ruby_helper.rb +3 -5
  61. data/lib/inspec/objects/tag.rb +0 -2
  62. data/lib/inspec/objects/test.rb +9 -11
  63. data/lib/inspec/objects/value.rb +3 -5
  64. data/lib/inspec/plugin/v1.rb +2 -2
  65. data/lib/inspec/plugin/v1/plugin_types/cli.rb +1 -5
  66. data/lib/inspec/plugin/v1/plugin_types/fetcher.rb +2 -5
  67. data/lib/inspec/plugin/v1/plugin_types/resource.rb +4 -6
  68. data/lib/inspec/plugin/v1/plugin_types/secret.rb +1 -5
  69. data/lib/inspec/plugin/v1/plugin_types/source_reader.rb +1 -5
  70. data/lib/inspec/plugin/v1/plugins.rb +15 -19
  71. data/lib/inspec/plugin/v1/registry.rb +0 -4
  72. data/lib/inspec/plugin/v2.rb +8 -8
  73. data/lib/inspec/plugin/v2/activator.rb +1 -1
  74. data/lib/inspec/plugin/v2/config_file.rb +6 -6
  75. data/lib/inspec/plugin/v2/filter.rb +13 -13
  76. data/lib/inspec/plugin/v2/installer.rb +36 -24
  77. data/lib/inspec/plugin/v2/loader.rb +28 -28
  78. data/lib/inspec/plugin/v2/plugin_base.rb +15 -2
  79. data/lib/inspec/plugin/v2/plugin_types/cli.rb +5 -5
  80. data/lib/inspec/plugin/v2/plugin_types/input.rb +34 -0
  81. data/lib/inspec/plugin/v2/plugin_types/mock.rb +1 -1
  82. data/lib/inspec/plugin/v2/registry.rb +7 -7
  83. data/lib/inspec/polyfill.rb +0 -3
  84. data/lib/inspec/profile.rb +55 -63
  85. data/lib/inspec/profile_context.rb +27 -30
  86. data/lib/inspec/profile_vendor.rb +6 -9
  87. data/lib/inspec/reporters.rb +24 -24
  88. data/lib/inspec/reporters/automate.rb +17 -19
  89. data/lib/inspec/reporters/base.rb +1 -1
  90. data/lib/inspec/reporters/cli.rb +88 -91
  91. data/lib/inspec/reporters/json.rb +2 -4
  92. data/lib/inspec/reporters/json_automate.rb +1 -3
  93. data/lib/inspec/reporters/json_min.rb +1 -3
  94. data/lib/inspec/reporters/junit.rb +26 -28
  95. data/lib/inspec/reporters/yaml.rb +1 -3
  96. data/lib/inspec/require_loader.rb +0 -4
  97. data/lib/inspec/resource.rb +4 -125
  98. data/lib/inspec/resources.rb +121 -0
  99. data/lib/{resources → inspec/resources}/aide_conf.rb +24 -25
  100. data/lib/{resources → inspec/resources}/apache.rb +13 -14
  101. data/lib/{resources → inspec/resources}/apache_conf.rb +16 -17
  102. data/lib/{resources → inspec/resources}/apt.rb +17 -17
  103. data/lib/{resources → inspec/resources}/audit_policy.rb +7 -6
  104. data/lib/{resources → inspec/resources}/auditd.rb +62 -64
  105. data/lib/{resources → inspec/resources}/auditd_conf.rb +7 -8
  106. data/lib/{resources → inspec/resources}/bash.rb +6 -8
  107. data/lib/{resources → inspec/resources}/bond.rb +15 -14
  108. data/lib/{resources → inspec/resources}/bridge.rb +8 -8
  109. data/lib/{resources → inspec/resources}/chocolatey_package.rb +10 -8
  110. data/lib/{resources → inspec/resources}/command.rb +11 -10
  111. data/lib/{resources → inspec/resources}/cpan.rb +12 -12
  112. data/lib/{resources → inspec/resources}/cran.rb +9 -9
  113. data/lib/{resources → inspec/resources}/crontab.rb +47 -48
  114. data/lib/{resources → inspec/resources}/csv.rb +5 -5
  115. data/lib/{resources → inspec/resources}/dh_params.rb +5 -7
  116. data/lib/{resources → inspec/resources}/directory.rb +5 -7
  117. data/lib/{resources → inspec/resources}/docker.rb +63 -63
  118. data/lib/{resources → inspec/resources}/docker_container.rb +6 -6
  119. data/lib/{resources → inspec/resources}/docker_image.rb +9 -9
  120. data/lib/{resources → inspec/resources}/docker_object.rb +8 -13
  121. data/lib/{resources → inspec/resources}/docker_plugin.rb +6 -6
  122. data/lib/{resources → inspec/resources}/docker_service.rb +7 -7
  123. data/lib/{resources → inspec/resources}/elasticsearch.rb +40 -42
  124. data/lib/{resources → inspec/resources}/etc_fstab.rb +23 -24
  125. data/lib/{resources → inspec/resources}/etc_group.rb +26 -27
  126. data/lib/{resources → inspec/resources}/etc_hosts.rb +11 -13
  127. data/lib/{resources → inspec/resources}/etc_hosts_allow_deny.rb +25 -27
  128. data/lib/{resources → inspec/resources}/file.rb +80 -79
  129. data/lib/{resources → inspec/resources}/filesystem.rb +20 -15
  130. data/lib/{resources → inspec/resources}/firewalld.rb +26 -26
  131. data/lib/{resources → inspec/resources}/gem.rb +12 -12
  132. data/lib/{resources → inspec/resources}/groups.rb +28 -27
  133. data/lib/{resources → inspec/resources}/grub_conf.rb +46 -48
  134. data/lib/{resources → inspec/resources}/host.rb +31 -29
  135. data/lib/{resources → inspec/resources}/http.rb +24 -24
  136. data/lib/{resources → inspec/resources}/iis_app.rb +6 -7
  137. data/lib/{resources → inspec/resources}/iis_app_pool.rb +21 -19
  138. data/lib/{resources → inspec/resources}/iis_site.rb +17 -15
  139. data/lib/{resources → inspec/resources}/inetd_conf.rb +9 -10
  140. data/lib/{resources → inspec/resources}/ini.rb +7 -8
  141. data/lib/{resources → inspec/resources}/interface.rb +30 -30
  142. data/lib/{resources → inspec/resources}/iptables.rb +8 -8
  143. data/lib/{resources → inspec/resources}/json.rb +8 -10
  144. data/lib/{resources → inspec/resources}/kernel_module.rb +15 -15
  145. data/lib/{resources → inspec/resources}/kernel_parameter.rb +8 -8
  146. data/lib/{resources → inspec/resources}/key_rsa.rb +8 -10
  147. data/lib/{resources → inspec/resources}/ksh.rb +6 -8
  148. data/lib/{resources → inspec/resources}/limits_conf.rb +8 -9
  149. data/lib/{resources/login_def.rb → inspec/resources/login_defs.rb} +9 -10
  150. data/lib/{resources → inspec/resources}/mount.rb +6 -8
  151. data/lib/{resources → inspec/resources}/mssql_session.rb +16 -18
  152. data/lib/inspec/resources/mysql.rb +81 -0
  153. data/lib/{resources → inspec/resources}/mysql_conf.rb +13 -14
  154. data/lib/{resources → inspec/resources}/mysql_session.rb +16 -16
  155. data/lib/{resources → inspec/resources}/nginx.rb +16 -17
  156. data/lib/{resources → inspec/resources}/nginx_conf.rb +26 -27
  157. data/lib/{resources → inspec/resources}/npm.rb +9 -10
  158. data/lib/{resources → inspec/resources}/ntp_conf.rb +9 -10
  159. data/lib/{resources → inspec/resources}/oneget.rb +8 -8
  160. data/lib/{resources → inspec/resources}/oracledb_session.rb +33 -34
  161. data/lib/{resources → inspec/resources}/os.rb +6 -8
  162. data/lib/{resources → inspec/resources}/os_env.rb +11 -12
  163. data/lib/{resources → inspec/resources}/package.rb +66 -65
  164. data/lib/{resources → inspec/resources}/packages.rb +13 -13
  165. data/lib/{resources → inspec/resources}/parse_config.rb +8 -8
  166. data/lib/{resources → inspec/resources}/passwd.rb +18 -19
  167. data/lib/{resources → inspec/resources}/pip.rb +19 -19
  168. data/lib/{resources → inspec/resources}/platform.rb +9 -11
  169. data/lib/{resources → inspec/resources}/port.rb +134 -136
  170. data/lib/{resources → inspec/resources}/postgres.rb +40 -32
  171. data/lib/{resources → inspec/resources}/postgres_conf.rb +17 -17
  172. data/lib/{resources → inspec/resources}/postgres_hba_conf.rb +21 -23
  173. data/lib/{resources → inspec/resources}/postgres_ident_conf.rb +12 -14
  174. data/lib/{resources → inspec/resources}/postgres_session.rb +8 -9
  175. data/lib/{resources → inspec/resources}/powershell.rb +17 -13
  176. data/lib/{resources → inspec/resources}/processes.rb +29 -29
  177. data/lib/{resources/rabbitmq_conf.rb → inspec/resources/rabbitmq_config.rb} +10 -11
  178. data/lib/{resources → inspec/resources}/registry_key.rb +14 -14
  179. data/lib/inspec/resources/script.rb +1 -0
  180. data/lib/{resources → inspec/resources}/security_identifier.rb +11 -10
  181. data/lib/{resources → inspec/resources}/security_policy.rb +59 -58
  182. data/lib/{resources → inspec/resources}/service.rb +74 -75
  183. data/lib/{resources → inspec/resources}/shadow.rb +44 -45
  184. data/lib/{resources/ssh_conf.rb → inspec/resources/ssh_config.rb} +16 -17
  185. data/lib/{resources → inspec/resources}/ssl.rb +28 -29
  186. data/lib/inspec/resources/sys_info.rb +30 -0
  187. data/lib/{resources → inspec/resources}/toml.rb +5 -7
  188. data/lib/{resources → inspec/resources}/users.rb +65 -65
  189. data/lib/{resources → inspec/resources}/vbscript.rb +8 -9
  190. data/lib/{resources → inspec/resources}/virtualization.rb +60 -62
  191. data/lib/{resources → inspec/resources}/windows_feature.rb +9 -9
  192. data/lib/{resources → inspec/resources}/windows_hotfix.rb +5 -5
  193. data/lib/{resources → inspec/resources}/windows_task.rb +16 -15
  194. data/lib/{resources → inspec/resources}/wmi.rb +7 -8
  195. data/lib/{resources → inspec/resources}/x509_certificate.rb +9 -11
  196. data/lib/{resources/xinetd.rb → inspec/resources/xinetd_conf.rb} +27 -29
  197. data/lib/{resources → inspec/resources}/xml.rb +7 -7
  198. data/lib/{resources → inspec/resources}/yaml.rb +5 -6
  199. data/lib/{resources → inspec/resources}/yum.rb +10 -10
  200. data/lib/{resources → inspec/resources}/zfs_dataset.rb +6 -6
  201. data/lib/{resources → inspec/resources}/zfs_pool.rb +4 -4
  202. data/lib/inspec/rspec_extensions.rb +24 -8
  203. data/lib/inspec/rule.rb +14 -15
  204. data/lib/inspec/runner.rb +28 -28
  205. data/lib/inspec/runner_mock.rb +1 -5
  206. data/lib/inspec/runner_rspec.rb +18 -20
  207. data/lib/inspec/runtime_profile.rb +2 -5
  208. data/lib/inspec/schema.rb +142 -143
  209. data/lib/inspec/secrets.rb +3 -7
  210. data/lib/inspec/secrets/yaml.rb +3 -5
  211. data/lib/inspec/shell.rb +11 -15
  212. data/lib/inspec/shell_detector.rb +6 -7
  213. data/lib/inspec/source_reader.rb +4 -8
  214. data/lib/inspec/ui.rb +33 -39
  215. data/lib/inspec/ui_table_helper.rb +12 -0
  216. data/lib/{utils → inspec/utils}/command_wrapper.rb +4 -8
  217. data/lib/{utils → inspec/utils}/convert.rb +0 -4
  218. data/lib/{utils → inspec/utils}/database_helpers.rb +4 -8
  219. data/lib/inspec/utils/deprecation.rb +6 -0
  220. data/lib/{utils → inspec/utils}/deprecation/config_file.rb +19 -19
  221. data/lib/{utils → inspec/utils}/deprecation/deprecator.rb +12 -12
  222. data/lib/{utils → inspec/utils}/deprecation/errors.rb +1 -1
  223. data/lib/{utils → inspec/utils}/deprecation/global_method.rb +2 -2
  224. data/lib/{utils → inspec/utils}/enumerable_delegation.rb +0 -2
  225. data/lib/{utils → inspec/utils}/erlang_parser.rb +61 -65
  226. data/lib/{utils → inspec/utils}/file_reader.rb +1 -2
  227. data/lib/{utils → inspec/utils}/filter.rb +30 -33
  228. data/lib/{utils → inspec/utils}/filter_array.rb +0 -2
  229. data/lib/{utils → inspec/utils}/find_files.rb +9 -12
  230. data/lib/{utils → inspec/utils}/hash.rb +1 -5
  231. data/lib/inspec/utils/json_log.rb +15 -0
  232. data/lib/inspec/utils/latest_version.rb +13 -0
  233. data/lib/{utils → inspec/utils}/modulator.rb +0 -3
  234. data/lib/{utils → inspec/utils}/nginx_parser.rb +31 -35
  235. data/lib/{utils → inspec/utils}/object_traversal.rb +0 -3
  236. data/lib/{utils → inspec/utils}/parser.rb +45 -45
  237. data/lib/{utils → inspec/utils}/pkey_reader.rb +4 -2
  238. data/lib/{utils → inspec/utils}/simpleconfig.rb +8 -10
  239. data/lib/{utils → inspec/utils}/spdx.rb +1 -4
  240. data/lib/{utils → inspec/utils}/spdx.txt +0 -0
  241. data/lib/inspec/utils/telemetry.rb +3 -3
  242. data/lib/inspec/utils/telemetry/collector.rb +30 -9
  243. data/lib/inspec/utils/telemetry/data_series.rb +3 -1
  244. data/lib/inspec/utils/telemetry/global_methods.rb +1 -1
  245. data/lib/inspec/version.rb +1 -1
  246. data/lib/matchers/matchers.rb +22 -25
  247. data/lib/plugins/inspec-artifact/lib/inspec-artifact.rb +1 -1
  248. data/lib/plugins/inspec-artifact/lib/inspec-artifact/base.rb +52 -45
  249. data/lib/plugins/inspec-artifact/lib/inspec-artifact/cli.rb +18 -16
  250. data/lib/plugins/inspec-artifact/test/functional/inspec_artifact_test.rb +12 -11
  251. data/lib/plugins/inspec-compliance/lib/inspec-compliance.rb +1 -1
  252. data/lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb +73 -73
  253. data/lib/plugins/inspec-compliance/lib/inspec-compliance/api/login.rb +66 -62
  254. data/lib/plugins/inspec-compliance/lib/inspec-compliance/cli.rb +59 -57
  255. data/lib/plugins/inspec-compliance/lib/inspec-compliance/configuration.rb +11 -11
  256. data/lib/plugins/inspec-compliance/lib/inspec-compliance/http.rb +20 -22
  257. data/lib/plugins/inspec-compliance/lib/inspec-compliance/support.rb +2 -4
  258. data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +30 -27
  259. data/lib/plugins/inspec-compliance/test/functional/inspec_compliance_test.rb +12 -14
  260. data/lib/plugins/inspec-compliance/test/integration/default/cli.rb +39 -41
  261. data/lib/plugins/inspec-compliance/test/unit/api/login_test.rb +64 -64
  262. data/lib/plugins/inspec-compliance/test/unit/api_test.rb +157 -156
  263. data/lib/plugins/inspec-compliance/test/unit/target_test.rb +85 -85
  264. data/lib/plugins/inspec-habitat/Berksfile +2 -2
  265. data/lib/plugins/inspec-habitat/lib/inspec-habitat.rb +1 -1
  266. data/lib/plugins/inspec-habitat/lib/inspec-habitat/cli.rb +15 -13
  267. data/lib/plugins/inspec-habitat/lib/inspec-habitat/profile.rb +64 -63
  268. data/lib/plugins/inspec-habitat/templates/habitat/hooks/run.erb +3 -3
  269. data/lib/plugins/inspec-habitat/templates/habitat/plan.sh.erb +11 -11
  270. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/Berksfile +1 -1
  271. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/metadata.rb +8 -8
  272. data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/recipes/default.rb +17 -17
  273. data/lib/plugins/inspec-habitat/test/functional/inspec_habitat_test.rb +9 -8
  274. data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/controls/inspec_habitat.rb +14 -14
  275. data/lib/plugins/inspec-habitat/test/support/example_profile/controls/example.rb +4 -4
  276. data/lib/plugins/inspec-habitat/test/unit/profile_test.rb +42 -41
  277. data/lib/plugins/inspec-init/lib/inspec-init.rb +1 -1
  278. data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +6 -8
  279. data/lib/plugins/inspec-init/lib/inspec-init/cli_plugin.rb +72 -74
  280. data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +9 -11
  281. data/lib/plugins/inspec-init/lib/inspec-init/renderer.rb +4 -4
  282. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/Gemfile +0 -1
  283. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/inspec-plugin-template.gemspec +0 -2
  284. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template.rb +0 -2
  285. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/cli_command.rb +0 -2
  286. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/plugin.rb +0 -2
  287. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/version.rb +0 -2
  288. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/functional/inspec_plugin_template_test.rb +5 -5
  289. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/helper.rb +1 -3
  290. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/cli_args_test.rb +2 -2
  291. data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/plugin_def_test.rb +2 -2
  292. data/lib/plugins/inspec-init/templates/profiles/aws/controls/example.rb +10 -11
  293. data/lib/plugins/inspec-init/templates/profiles/azure/controls/example.rb +4 -5
  294. data/lib/plugins/inspec-init/templates/profiles/gcp/controls/example.rb +10 -11
  295. data/lib/plugins/inspec-init/templates/profiles/os/controls/example.rb +6 -7
  296. data/lib/plugins/inspec-init/test/functional/inspec_init_plugin_test.rb +51 -50
  297. data/lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb +35 -33
  298. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli.rb +1 -2
  299. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +72 -70
  300. data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/plugin.rb +1 -1
  301. data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/wrong-name/lib/wrong-name.rb +1 -1
  302. data/lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb +281 -271
  303. data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +41 -41
  304. data/lib/plugins/inspec-plugin-manager-cli/test/unit/plugin_def_test.rb +25 -6
  305. data/lib/plugins/shared/core_plugin_test_helper.rb +43 -38
  306. data/lib/resource_support/aws.rb +67 -67
  307. data/lib/resource_support/aws/aws_plural_resource_mixin.rb +4 -1
  308. data/lib/resource_support/aws/aws_resource_mixin.rb +4 -3
  309. data/lib/resource_support/aws/aws_singular_resource_mixin.rb +4 -1
  310. data/lib/resources/aws/aws_billing_report.rb +15 -8
  311. data/lib/resources/aws/aws_billing_reports.rb +10 -7
  312. data/lib/resources/aws/aws_cloudtrail_trail.rb +9 -5
  313. data/lib/resources/aws/aws_cloudtrail_trails.rb +9 -5
  314. data/lib/resources/aws/aws_cloudwatch_alarm.rb +9 -5
  315. data/lib/resources/aws/aws_cloudwatch_log_metric_filter.rb +12 -8
  316. data/lib/resources/aws/aws_config_delivery_channel.rb +13 -9
  317. data/lib/resources/aws/aws_config_recorder.rb +10 -6
  318. data/lib/resources/aws/aws_ebs_volume.rb +12 -8
  319. data/lib/resources/aws/aws_ebs_volumes.rb +9 -5
  320. data/lib/resources/aws/aws_ec2_instance.rb +14 -11
  321. data/lib/resources/aws/aws_ec2_instances.rb +9 -5
  322. data/lib/resources/aws/aws_ecs_cluster.rb +11 -7
  323. data/lib/resources/aws/aws_eks_cluster.rb +13 -9
  324. data/lib/resources/aws/aws_elb.rb +9 -5
  325. data/lib/resources/aws/aws_elbs.rb +9 -5
  326. data/lib/resources/aws/aws_flow_log.rb +17 -13
  327. data/lib/resources/aws/aws_iam_access_key.rb +15 -11
  328. data/lib/resources/aws/aws_iam_access_keys.rb +19 -15
  329. data/lib/resources/aws/aws_iam_group.rb +9 -5
  330. data/lib/resources/aws/aws_iam_groups.rb +9 -5
  331. data/lib/resources/aws/aws_iam_password_policy.rb +13 -10
  332. data/lib/resources/aws/aws_iam_policies.rb +9 -5
  333. data/lib/resources/aws/aws_iam_policy.rb +16 -12
  334. data/lib/resources/aws/aws_iam_role.rb +9 -5
  335. data/lib/resources/aws/aws_iam_root_user.rb +12 -8
  336. data/lib/resources/aws/aws_iam_user.rb +12 -12
  337. data/lib/resources/aws/aws_iam_users.rb +10 -10
  338. data/lib/resources/aws/aws_kms_key.rb +12 -8
  339. data/lib/resources/aws/aws_kms_keys.rb +9 -5
  340. data/lib/resources/aws/aws_rds_instance.rb +11 -8
  341. data/lib/resources/aws/aws_route_table.rb +11 -7
  342. data/lib/resources/aws/aws_route_tables.rb +10 -6
  343. data/lib/resources/aws/aws_s3_bucket.rb +14 -11
  344. data/lib/resources/aws/aws_s3_bucket_object.rb +12 -9
  345. data/lib/resources/aws/aws_s3_buckets.rb +9 -7
  346. data/lib/resources/aws/aws_security_group.rb +16 -12
  347. data/lib/resources/aws/aws_security_groups.rb +12 -8
  348. data/lib/resources/aws/aws_sns_subscription.rb +15 -11
  349. data/lib/resources/aws/aws_sns_topic.rb +10 -6
  350. data/lib/resources/aws/aws_sns_topics.rb +9 -5
  351. data/lib/resources/aws/aws_sqs_queue.rb +18 -14
  352. data/lib/resources/aws/aws_subnet.rb +11 -7
  353. data/lib/resources/aws/aws_subnets.rb +9 -5
  354. data/lib/resources/aws/aws_vpc.rb +10 -6
  355. data/lib/resources/aws/aws_vpcs.rb +9 -5
  356. data/lib/resources/azure/azure_backend.rb +20 -18
  357. data/lib/resources/azure/azure_generic_resource.rb +13 -15
  358. data/lib/resources/azure/azure_resource_group.rb +17 -19
  359. data/lib/resources/azure/azure_virtual_machine.rb +6 -8
  360. data/lib/resources/azure/azure_virtual_machine_data_disk.rb +6 -8
  361. data/lib/source_readers/flat.rb +6 -10
  362. data/lib/source_readers/inspec.rb +8 -12
  363. metadata +141 -142
  364. data/lib/resources/mysql.rb +0 -82
  365. data/lib/resources/sys_info.rb +0 -28
  366. data/lib/utils/deprecation.rb +0 -6
  367. data/lib/utils/json_log.rb +0 -18
  368. data/lib/utils/latest_version.rb +0 -22
@@ -1,75 +1,75 @@
1
- require_relative '../../../shared/core_plugin_test_helper.rb'
1
+ require_relative "../../../shared/core_plugin_test_helper.rb"
2
2
 
3
3
  #-----------------------------------------------------------------------#
4
4
  # Thor option defs
5
5
  #-----------------------------------------------------------------------#
6
- class PluginManagerCliOptions < MiniTest::Test
6
+ class PluginManagerCliOptions < Minitest::Test
7
7
  include CorePluginUnitHelper
8
8
  let(:cli_class) { InspecPlugins::PluginManager::CliCommand }
9
9
 
10
10
  def setup
11
- require_relative '../../lib/inspec-plugin-manager-cli/cli_command'
11
+ require_relative "../../lib/inspec-plugin-manager-cli/cli_command"
12
12
  end
13
13
 
14
14
  def test_list_args
15
- arg_config = cli_class.all_commands['list'].options
16
- assert_equal 1, arg_config.count, 'The list command should have 1 option'
15
+ arg_config = cli_class.all_commands["list"].options
16
+ assert_equal 1, arg_config.count, "The list command should have 1 option"
17
17
 
18
- assert_includes arg_config.keys, :all, 'The list command should have an --all option'
19
- assert_equal :boolean, arg_config[:all].type, 'The --all option should be boolean'
20
- assert_equal :a, arg_config[:all].aliases.first, 'The --all option should be aliased as -a'
21
- refute_nil arg_config[:all].description, 'The --all option should have a description'
22
- refute arg_config[:all].required, 'The --all option should not be required'
18
+ assert_includes arg_config.keys, :all, "The list command should have an --all option"
19
+ assert_equal :boolean, arg_config[:all].type, "The --all option should be boolean"
20
+ assert_equal :a, arg_config[:all].aliases.first, "The --all option should be aliased as -a"
21
+ refute_nil arg_config[:all].description, "The --all option should have a description"
22
+ refute arg_config[:all].required, "The --all option should not be required"
23
23
 
24
- assert_equal 0, cli_class.instance_method(:list).arity, 'The list command should take no arguments'
24
+ assert_equal 0, cli_class.instance_method(:list).arity, "The list command should take no arguments"
25
25
  end
26
26
 
27
27
  def test_search_args
28
- arg_config = cli_class.all_commands['search'].options
29
- assert_equal 3, arg_config.count, 'The search command should have 3 options'
28
+ arg_config = cli_class.all_commands["search"].options
29
+ assert_equal 3, arg_config.count, "The search command should have 3 options"
30
30
 
31
- assert_includes arg_config.keys, :all, 'The search command should have an --all option'
32
- assert_equal :boolean, arg_config[:all].type, 'The --all option should be boolean'
33
- assert_equal :a, arg_config[:all].aliases.first, 'The --all option should be aliased as -a'
34
- refute_nil arg_config[:all].description, 'The --all option should have a description'
35
- refute arg_config[:all].required, 'The --all option should not be required'
31
+ assert_includes arg_config.keys, :all, "The search command should have an --all option"
32
+ assert_equal :boolean, arg_config[:all].type, "The --all option should be boolean"
33
+ assert_equal :a, arg_config[:all].aliases.first, "The --all option should be aliased as -a"
34
+ refute_nil arg_config[:all].description, "The --all option should have a description"
35
+ refute arg_config[:all].required, "The --all option should not be required"
36
36
 
37
- assert_includes arg_config.keys, :exact, 'The search command should have an --exact option'
38
- assert_equal :boolean, arg_config[:exact].type, 'The --exact option should be boolean'
39
- assert_equal :e, arg_config[:exact].aliases.first, 'The --exact option should be aliased as -e'
40
- refute_nil arg_config[:exact].description, 'The --exact option should have a description'
41
- refute arg_config[:exact].required, 'The --exact option should not be required'
37
+ assert_includes arg_config.keys, :exact, "The search command should have an --exact option"
38
+ assert_equal :boolean, arg_config[:exact].type, "The --exact option should be boolean"
39
+ assert_equal :e, arg_config[:exact].aliases.first, "The --exact option should be aliased as -e"
40
+ refute_nil arg_config[:exact].description, "The --exact option should have a description"
41
+ refute arg_config[:exact].required, "The --exact option should not be required"
42
42
 
43
- assert_includes arg_config.keys, :'include-test-fixture', 'The search command should have an --include-test-fixture option'
44
- assert_equal :boolean, arg_config[:'include-test-fixture'].type, 'The --include-test-fixture option should be boolean'
45
- refute arg_config[:'include-test-fixture'].required, 'The --include-test-fixture option should not be required'
43
+ assert_includes arg_config.keys, :'include-test-fixture', "The search command should have an --include-test-fixture option"
44
+ assert_equal :boolean, arg_config[:'include-test-fixture'].type, "The --include-test-fixture option should be boolean"
45
+ refute arg_config[:'include-test-fixture'].required, "The --include-test-fixture option should not be required"
46
46
 
47
- assert_equal 1, cli_class.instance_method(:search).arity, 'The search command should take one argument'
47
+ assert_equal 1, cli_class.instance_method(:search).arity, "The search command should take one argument"
48
48
  end
49
49
 
50
50
  def test_install_args
51
- arg_config = cli_class.all_commands['install'].options
52
- assert_equal 1, arg_config.count, 'The install command should have 1 option'
51
+ arg_config = cli_class.all_commands["install"].options
52
+ assert_equal 1, arg_config.count, "The install command should have 1 option"
53
53
 
54
- assert_includes arg_config.keys, :version, 'The install command should have a --version option'
55
- assert_equal :string, arg_config[:version].type, 'The --version option should be a string'
56
- assert_equal :v, arg_config[:version].aliases.first, 'The --version option should be aliased as -v'
57
- refute_nil arg_config[:version].description, 'The --version option should have a description'
58
- refute arg_config[:version].required, 'The --version option should not be required'
54
+ assert_includes arg_config.keys, :version, "The install command should have a --version option"
55
+ assert_equal :string, arg_config[:version].type, "The --version option should be a string"
56
+ assert_equal :v, arg_config[:version].aliases.first, "The --version option should be aliased as -v"
57
+ refute_nil arg_config[:version].description, "The --version option should have a description"
58
+ refute arg_config[:version].required, "The --version option should not be required"
59
59
 
60
- assert_equal 1, cli_class.instance_method(:install).arity, 'The install command should take one argument'
60
+ assert_equal 1, cli_class.instance_method(:install).arity, "The install command should take one argument"
61
61
  end
62
62
 
63
63
  def test_update_args
64
64
  # TODO: allow specifying version
65
- arg_config = cli_class.all_commands['update'].options
66
- assert_equal 0, arg_config.count, 'The update command should have no options'
67
- assert_equal 1, cli_class.instance_method(:update).arity, 'The update command should take one argument'
65
+ arg_config = cli_class.all_commands["update"].options
66
+ assert_equal 0, arg_config.count, "The update command should have no options"
67
+ assert_equal 1, cli_class.instance_method(:update).arity, "The update command should take one argument"
68
68
  end
69
69
 
70
70
  def test_uninstall_args
71
- arg_config = cli_class.all_commands['uninstall'].options
72
- assert_equal 0, arg_config.count, 'The uninstall command should have no options'
73
- assert_equal 1, cli_class.instance_method(:uninstall).arity, 'The uninstall command should take one argument'
71
+ arg_config = cli_class.all_commands["uninstall"].options
72
+ assert_equal 0, arg_config.count, "The uninstall command should have no options"
73
+ assert_equal 1, cli_class.instance_method(:uninstall).arity, "The uninstall command should take one argument"
74
74
  end
75
75
  end
@@ -1,20 +1,39 @@
1
- require_relative '../../../shared/core_plugin_test_helper.rb'
1
+ require_relative "../../../shared/core_plugin_test_helper.rb"
2
2
 
3
3
  #-----------------------------------------------------------------------#
4
4
  # Plugin Definition
5
5
  #-----------------------------------------------------------------------#
6
- class PluginManagerCliDefinitionTests < MiniTest::Test
6
+ class PluginManagerCliDefinitionTests < Minitest::Test
7
7
  include CorePluginUnitHelper
8
8
 
9
+ @@orig_home = Dir.home
10
+
11
+ def setup
12
+ mock_path = File.expand_path "test/unit/mock"
13
+
14
+ @config_dir_path = File.join(mock_path, "config_dirs")
15
+ ENV["HOME"] = File.join(@config_dir_path, "fakehome")
16
+ end
17
+
18
+ def teardown
19
+ reset_globals
20
+ end
21
+
22
+ def reset_globals # TODO: REFACTOR this with install/loader tests
23
+ ENV["HOME"] = @@orig_home
24
+ ENV["INSPEC_CONFIG_DIR"] = nil
25
+ Inspec::Plugin::V2::Registry.instance.__reset
26
+ end
27
+
9
28
  def test_plugin_registered
10
29
  loader = Inspec::Plugin::V2::Loader.new
11
30
  loader.load_all # We want to ensure it is auto-loaded
12
31
 
13
- assert registry.known_plugin?(:'inspec-plugin-manager-cli'), 'inspec-plugin-manager-cli should be registered'
14
- assert registry.loaded_plugin?(:'inspec-plugin-manager-cli'), 'inspec-plugin-manager-cli should be loaded'
32
+ assert registry.known_plugin?(:'inspec-plugin-manager-cli'), "inspec-plugin-manager-cli should be registered"
33
+ assert registry.loaded_plugin?(:'inspec-plugin-manager-cli'), "inspec-plugin-manager-cli should be loaded"
15
34
 
16
35
  status = registry[:'inspec-plugin-manager-cli']
17
- assert_equal 2, status.api_generation, 'inspec-plugin-manager-cli should be v2'
18
- assert_includes status.plugin_types, :cli_command, 'inspec-plugin-manager-cli should have cli_command activators'
36
+ assert_equal 2, status.api_generation, "inspec-plugin-manager-cli should be v2"
37
+ assert_includes status.plugin_types, :cli_command, "inspec-plugin-manager-cli should have cli_command activators"
19
38
  end
20
39
  end
@@ -1,23 +1,22 @@
1
-
2
- # Load test harness - MiniTest
3
- require 'minitest/autorun'
4
- require 'minitest/unit'
5
- require 'minitest/pride'
6
- require 'minitest/spec'
1
+ # Load test harness - Minitest
2
+ require "minitest/autorun"
3
+ require "minitest/pride"
7
4
 
8
5
  # Data formats commonly used in testing
9
- require 'json'
10
- require 'ostruct'
6
+ require "json"
7
+ require "ostruct"
11
8
 
12
9
  # Utilities often needed
13
- require 'fileutils'
14
- require 'tmpdir'
15
- require 'pathname'
16
- require 'forwardable'
10
+ require "fileutils"
11
+ require "tmpdir"
12
+ require "pathname"
13
+ require "forwardable"
14
+
15
+ require "inspec/plugin/v2"
17
16
 
18
- # Configure MiniTest to expose things like `let`
17
+ # Configure Minitest to expose things like `let`
19
18
  class Module
20
- include Minitest::Spec::DSL
19
+ include Minitest::Spec::DSL # TODO: NO! remove this!
21
20
  end
22
21
 
23
22
  module Inspec
@@ -38,29 +37,35 @@ module Inspec
38
37
  end
39
38
 
40
39
  module CorePluginBaseHelper
41
- let(:repo_path) { File.expand_path(File.join(__FILE__, '..', '..', '..', '..')) }
42
- let(:inspec_bin_path) { File.join(repo_path, 'inspec-bin', 'bin', 'inspec') }
43
- let(:core_mock_path) { File.join(repo_path, 'test', 'unit', 'mock') }
44
- let(:core_fixture_plugins_path) { File.join(core_mock_path, 'plugins') }
45
- let(:core_config_dir_path) { File.join(core_mock_path, 'config_dirs') }
40
+ libdir = File.expand_path "lib"
41
+
42
+ let(:repo_path) { File.expand_path(File.join(__FILE__, "..", "..", "..", "..")) }
43
+ let(:inspec_path) { File.join(repo_path, "inspec-bin", "bin", "inspec") }
44
+ let(:exec_inspec) { [Gem.ruby, "-I#{libdir}", inspec_path].join " " }
45
+ let(:core_mock_path) { File.join(repo_path, "test", "unit", "mock") }
46
+ let(:core_fixture_plugins_path) { File.join(core_mock_path, "plugins") }
47
+ let(:core_config_dir_path) { File.join(core_mock_path, "config_dirs") }
46
48
 
47
49
  let(:registry) { Inspec::Plugin::V2::Registry.instance }
48
50
  end
49
51
 
52
+ require "functional/helper"
53
+
50
54
  module CorePluginFunctionalHelper
51
55
  include CorePluginBaseHelper
56
+ include FunctionalHelper
52
57
 
53
- require 'train'
54
- TRAIN_CONNECTION = Train.create('local', command_runner: :generic).connection
58
+ require "train"
59
+ TRAIN_CONNECTION = Train.create("local", command_runner: :generic).connection
55
60
 
56
61
  def run_inspec_process(command_line, opts = {})
57
- prefix = ''
62
+ prefix = ""
58
63
  if opts.key?(:prefix)
59
64
  prefix = opts[:prefix]
60
65
  elsif opts.key?(:env)
61
- prefix = opts[:env].to_a.map { |assignment| "#{assignment[0]}=#{assignment[1]}" }.join(' ')
66
+ prefix = opts[:env].to_a.map { |assignment| "#{assignment[0]}=#{assignment[1]}" }.join(" ")
62
67
  end
63
- Inspec::FuncTestRunResult.new(TRAIN_CONNECTION.run_command("#{prefix} #{inspec_bin_path} #{command_line}"))
68
+ Inspec::FuncTestRunResult.new(TRAIN_CONNECTION.run_command("#{prefix} #{exec_inspec} #{command_line}"))
64
69
  end
65
70
 
66
71
  # This helper does some fancy footwork to make InSpec think a plugin
@@ -79,7 +84,7 @@ module CorePluginFunctionalHelper
79
84
 
80
85
  # If it looks like it is a core plugin under test, don't add it to the plugin file
81
86
  # since the loader will auto-load it anyway
82
- if plugin_path.include?('lib/plugins/inspec-')
87
+ if plugin_path.include?("lib/plugins/inspec-")
83
88
  plugin_file_data = __make_empty_plugin_file_data_structure
84
89
  else
85
90
  plugin_file_data = __make_plugin_file_data_structure_with_path(plugin_path)
@@ -87,11 +92,11 @@ module CorePluginFunctionalHelper
87
92
 
88
93
  Dir.mktmpdir do |tmp_dir|
89
94
  opts[:pre_run]&.call(plugin_file_data, tmp_dir)
90
- plugin_file_path = File.join(tmp_dir, 'plugins.json')
95
+ plugin_file_path = File.join(tmp_dir, "plugins.json")
91
96
  # HACK: If the block cleared the hash, take that to mean it will provide a plugins.json file of its own.
92
97
  File.write(plugin_file_path, JSON.generate(plugin_file_data)) unless plugin_file_data.empty?
93
98
  opts[:env] ||= {}
94
- opts[:env]['INSPEC_CONFIG_DIR'] = tmp_dir
99
+ opts[:env]["INSPEC_CONFIG_DIR"] = tmp_dir
95
100
  run_result = run_inspec_process(command_line, opts)
96
101
 
97
102
  # Read the resulting plugins.json into memory, if any
@@ -111,27 +116,27 @@ module CorePluginFunctionalHelper
111
116
  # We want:
112
117
  # /Users/cwolfe/sandbox/inspec-resource-lister/lib/inspec-resource-lister.rb
113
118
  cursor = caller_path
114
- until cursor.basename.to_s == 'test' && cursor.parent.basename.to_s =~ /^(inspec|train)-/
119
+ until cursor.basename.to_s == "test" && cursor.parent.basename.to_s =~ /^(inspec|train)-/
115
120
  cursor = cursor.parent
116
121
  break if cursor.nil?
117
122
  end
118
- raise 'Could not comprehend plugin project directory structure' if cursor.nil?
123
+ raise "Could not comprehend plugin project directory structure" if cursor.nil?
119
124
 
120
125
  project_dir = cursor.parent
121
126
  plugin_name = project_dir.basename
122
- entry_point = File.join(project_dir.to_s, 'lib', plugin_name.to_s + '.rb')
123
- raise 'Could not find plugin entry point' unless File.exist?(entry_point)
127
+ entry_point = File.join(project_dir.to_s, "lib", plugin_name.to_s + ".rb")
128
+ raise "Could not find plugin entry point" unless File.exist?(entry_point)
124
129
  entry_point
125
130
  end
126
131
 
127
132
  def __make_plugin_file_data_structure_with_path(path)
128
133
  # TODO: dry this up, refs #3350
129
- plugin_name = File.basename(path, '.rb')
134
+ plugin_name = File.basename(path, ".rb")
130
135
  data = __make_empty_plugin_file_data_structure
131
- data['plugins'] << {
132
- 'name' => plugin_name,
133
- 'installation_type' => 'path',
134
- 'installation_path' => path,
136
+ data["plugins"] << {
137
+ "name" => plugin_name,
138
+ "installation_type" => "path",
139
+ "installation_path" => path,
135
140
  }
136
141
  data
137
142
  end
@@ -139,8 +144,8 @@ module CorePluginFunctionalHelper
139
144
  def __make_empty_plugin_file_data_structure
140
145
  # TODO: dry this up, refs #3350
141
146
  {
142
- 'plugins_config_version' => '1.0.0',
143
- 'plugins' => [],
147
+ "plugins_config_version" => "1.0.0",
148
+ "plugins" => [],
144
149
  }
145
150
  end
146
151
  end
@@ -1,76 +1,76 @@
1
1
  # Main AWS loader file. The intent is for this to be
2
2
  # loaded only if AWS resources are needed.
3
3
 
4
- require 'aws-sdk-core'
4
+ require "aws-sdk-core"
5
5
 
6
- require 'aws-sdk-cloudtrail'
7
- require 'aws-sdk-cloudwatch'
8
- require 'aws-sdk-cloudwatchlogs'
9
- require 'aws-sdk-costandusagereportservice'
10
- require 'aws-sdk-configservice'
11
- require 'aws-sdk-ec2'
12
- require 'aws-sdk-ecs'
13
- require 'aws-sdk-eks'
14
- require 'aws-sdk-elasticloadbalancing'
15
- require 'aws-sdk-iam'
16
- require 'aws-sdk-kms'
17
- require 'aws-sdk-rds'
18
- require 'aws-sdk-s3'
19
- require 'aws-sdk-sqs'
20
- require 'aws-sdk-sns'
6
+ require "aws-sdk-cloudtrail"
7
+ require "aws-sdk-cloudwatch"
8
+ require "aws-sdk-cloudwatchlogs"
9
+ require "aws-sdk-costandusagereportservice"
10
+ require "aws-sdk-configservice"
11
+ require "aws-sdk-ec2"
12
+ require "aws-sdk-ecs"
13
+ require "aws-sdk-eks"
14
+ require "aws-sdk-elasticloadbalancing"
15
+ require "aws-sdk-iam"
16
+ require "aws-sdk-kms"
17
+ require "aws-sdk-rds"
18
+ require "aws-sdk-s3"
19
+ require "aws-sdk-sqs"
20
+ require "aws-sdk-sns"
21
21
 
22
- require 'resource_support/aws/aws_backend_factory_mixin'
23
- require 'resource_support/aws/aws_resource_mixin'
24
- require 'resource_support/aws/aws_singular_resource_mixin'
25
- require 'resource_support/aws/aws_plural_resource_mixin'
26
- require 'resource_support/aws/aws_backend_base'
22
+ require "resource_support/aws/aws_backend_factory_mixin"
23
+ require "resource_support/aws/aws_resource_mixin"
24
+ require "resource_support/aws/aws_singular_resource_mixin"
25
+ require "resource_support/aws/aws_plural_resource_mixin"
26
+ require "resource_support/aws/aws_backend_base"
27
27
 
28
28
  # Load all AWS resources
29
29
  # TODO: loop over and load entire directory
30
30
  # for f in ls lib/resources/aws/*; do t=$(echo $f | cut -c 5- | cut -f1 -d. ); echo "require '${t}'"; done
31
- require 'resources/aws/aws_billing_report'
32
- require 'resources/aws/aws_billing_reports'
33
- require 'resources/aws/aws_cloudtrail_trail'
34
- require 'resources/aws/aws_cloudtrail_trails'
35
- require 'resources/aws/aws_cloudwatch_alarm'
36
- require 'resources/aws/aws_cloudwatch_log_metric_filter'
37
- require 'resources/aws/aws_config_delivery_channel'
38
- require 'resources/aws/aws_config_recorder'
39
- require 'resources/aws/aws_ec2_instance'
40
- require 'resources/aws/aws_ebs_volume'
41
- require 'resources/aws/aws_ebs_volumes'
42
- require 'resources/aws/aws_flow_log'
43
- require 'resources/aws/aws_ec2_instances'
44
- require 'resources/aws/aws_ecs_cluster'
45
- require 'resources/aws/aws_eks_cluster'
46
- require 'resources/aws/aws_elb'
47
- require 'resources/aws/aws_elbs'
48
- require 'resources/aws/aws_iam_access_key'
49
- require 'resources/aws/aws_iam_access_keys'
50
- require 'resources/aws/aws_iam_group'
51
- require 'resources/aws/aws_iam_groups'
52
- require 'resources/aws/aws_iam_password_policy'
53
- require 'resources/aws/aws_iam_policies'
54
- require 'resources/aws/aws_iam_policy'
55
- require 'resources/aws/aws_iam_role'
56
- require 'resources/aws/aws_iam_root_user'
57
- require 'resources/aws/aws_iam_user'
58
- require 'resources/aws/aws_iam_users'
59
- require 'resources/aws/aws_kms_key'
60
- require 'resources/aws/aws_kms_keys'
61
- require 'resources/aws/aws_rds_instance'
62
- require 'resources/aws/aws_route_table'
63
- require 'resources/aws/aws_route_tables'
64
- require 'resources/aws/aws_s3_bucket'
65
- require 'resources/aws/aws_s3_bucket_object'
66
- require 'resources/aws/aws_s3_buckets'
67
- require 'resources/aws/aws_security_group'
68
- require 'resources/aws/aws_security_groups'
69
- require 'resources/aws/aws_sns_subscription'
70
- require 'resources/aws/aws_sns_topic'
71
- require 'resources/aws/aws_sns_topics'
72
- require 'resources/aws/aws_sqs_queue'
73
- require 'resources/aws/aws_subnet'
74
- require 'resources/aws/aws_subnets'
75
- require 'resources/aws/aws_vpc'
76
- require 'resources/aws/aws_vpcs'
31
+ require "resources/aws/aws_billing_report"
32
+ require "resources/aws/aws_billing_reports"
33
+ require "resources/aws/aws_cloudtrail_trail"
34
+ require "resources/aws/aws_cloudtrail_trails"
35
+ require "resources/aws/aws_cloudwatch_alarm"
36
+ require "resources/aws/aws_cloudwatch_log_metric_filter"
37
+ require "resources/aws/aws_config_delivery_channel"
38
+ require "resources/aws/aws_config_recorder"
39
+ require "resources/aws/aws_ec2_instance"
40
+ require "resources/aws/aws_ebs_volume"
41
+ require "resources/aws/aws_ebs_volumes"
42
+ require "resources/aws/aws_flow_log"
43
+ require "resources/aws/aws_ec2_instances"
44
+ require "resources/aws/aws_ecs_cluster"
45
+ require "resources/aws/aws_eks_cluster"
46
+ require "resources/aws/aws_elb"
47
+ require "resources/aws/aws_elbs"
48
+ require "resources/aws/aws_iam_access_key"
49
+ require "resources/aws/aws_iam_access_keys"
50
+ require "resources/aws/aws_iam_group"
51
+ require "resources/aws/aws_iam_groups"
52
+ require "resources/aws/aws_iam_password_policy"
53
+ require "resources/aws/aws_iam_policies"
54
+ require "resources/aws/aws_iam_policy"
55
+ require "resources/aws/aws_iam_role"
56
+ require "resources/aws/aws_iam_root_user"
57
+ require "resources/aws/aws_iam_user"
58
+ require "resources/aws/aws_iam_users"
59
+ require "resources/aws/aws_kms_key"
60
+ require "resources/aws/aws_kms_keys"
61
+ require "resources/aws/aws_rds_instance"
62
+ require "resources/aws/aws_route_table"
63
+ require "resources/aws/aws_route_tables"
64
+ require "resources/aws/aws_s3_bucket"
65
+ require "resources/aws/aws_s3_bucket_object"
66
+ require "resources/aws/aws_s3_buckets"
67
+ require "resources/aws/aws_security_group"
68
+ require "resources/aws/aws_security_groups"
69
+ require "resources/aws/aws_sns_subscription"
70
+ require "resources/aws/aws_sns_topic"
71
+ require "resources/aws/aws_sns_topics"
72
+ require "resources/aws/aws_sqs_queue"
73
+ require "resources/aws/aws_subnet"
74
+ require "resources/aws/aws_subnets"
75
+ require "resources/aws/aws_vpc"
76
+ require "resources/aws/aws_vpcs"