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,4 +1,4 @@
1
- # encoding: utf-8
1
+ require "inspec/resources/command"
2
2
 
3
3
  # Usage:
4
4
  # describe host('example.com') do
@@ -22,14 +22,14 @@
22
22
  # it { should be_resolvable.by('dns') }
23
23
  # end
24
24
 
25
- require 'resolv'
25
+ require "resolv"
26
26
 
27
27
  module Inspec::Resources
28
28
  class Host < Inspec.resource(1)
29
- name 'host'
30
- supports platform: 'unix'
31
- supports platform: 'windows'
32
- desc 'Use the host InSpec audit resource to test the name used to refer to a specific host and its availability, including the Internet protocols and ports over which that host name should be available.'
29
+ name "host"
30
+ supports platform: "unix"
31
+ supports platform: "windows"
32
+ desc "Use the host InSpec audit resource to test the name used to refer to a specific host and its availability, including the Internet protocols and ports over which that host name should be available."
33
33
  example <<~EXAMPLE
34
34
  describe host('example.com') do
35
35
  it { should be_reachable }
@@ -49,33 +49,35 @@ module Inspec::Resources
49
49
  @port = params[:port]
50
50
 
51
51
  if params[:proto]
52
- Inspec.deprecate(:host_resource_proto_usage, 'The `host` resource `proto` resource parameter is deprecated. Please use `protocol`.')
52
+ Inspec.deprecate(:host_resource_proto_usage, "The `host` resource `proto` resource parameter is deprecated. Please use `protocol`.")
53
53
  @protocol = params[:proto]
54
54
  else
55
- @protocol = params.fetch(:protocol, 'icmp')
55
+ @protocol = params.fetch(:protocol, "icmp")
56
56
  end
57
57
 
58
58
  @host_provider = nil
59
59
  if inspec.os.linux?
60
60
  @host_provider = LinuxHostProvider.new(inspec)
61
61
  elsif inspec.os.windows?
62
- return skip_resource 'Invalid protocol: only `tcp` and `icmp` protocols are support for the `host` resource on your OS.' unless
62
+ return skip_resource "Invalid protocol: only `tcp` and `icmp` protocols are support for the `host` resource on your OS." unless
63
63
  %w{icmp tcp}.include?(@protocol)
64
64
 
65
65
  @host_provider = WindowsHostProvider.new(inspec)
66
66
  elsif inspec.os.darwin?
67
67
  @host_provider = DarwinHostProvider.new(inspec)
68
68
  else
69
- return skip_resource 'The `host` resource is not supported on your OS yet.'
69
+ return skip_resource "The `host` resource is not supported on your OS yet."
70
70
  end
71
71
 
72
72
  missing_requirements = @host_provider.missing_requirements(protocol)
73
- return skip_resource 'The following requirements are not met for this resource: ' \
74
- "#{missing_requirements.join(', ')}" unless missing_requirements.empty?
73
+ unless missing_requirements.empty?
74
+ return skip_resource "The following requirements are not met for this resource: " \
75
+ "#{missing_requirements.join(', ')}"
76
+ end
75
77
  end
76
78
 
77
79
  def proto
78
- Inspec.deprecate(:host_resource_proto_usage, 'The host resource `proto` method is deprecated. Please use `protocol`.')
80
+ Inspec.deprecate(:host_resource_proto_usage, "The host resource `proto` method is deprecated. Please use `protocol`.")
79
81
  protocol
80
82
  end
81
83
 
@@ -87,7 +89,7 @@ module Inspec::Resources
87
89
 
88
90
  def reachable?
89
91
  # ping checks do not require port or protocol
90
- return ping.fetch(:success, false) if protocol == 'icmp'
92
+ return ping.fetch(:success, false) if protocol == "icmp"
91
93
 
92
94
  # if either port or protocol are specified but not both, we cannot proceed.
93
95
  if port.nil? || protocol.nil?
@@ -150,8 +152,8 @@ module Inspec::Resources
150
152
  def initialize(inspec)
151
153
  super
152
154
 
153
- @has_nc = inspec.command('nc').exist?
154
- @has_ncat = inspec.command('ncat').exist?
155
+ @has_nc = inspec.command("nc").exist?
156
+ @has_ncat = inspec.command("ncat").exist?
155
157
  @has_net_redirections = inspec.command("strings `which bash` | grep -qE '/dev/(tcp|udp)/'").exit_status == 0
156
158
  end
157
159
 
@@ -162,7 +164,7 @@ module Inspec::Resources
162
164
  if @has_net_redirections
163
165
  missing << "#{timeout} (part of coreutils) or netcat must be installed" unless inspec.command(timeout).exist?
164
166
  else
165
- missing << 'netcat must be installed'
167
+ missing << "netcat must be installed"
166
168
  end
167
169
  end
168
170
 
@@ -182,7 +184,7 @@ module Inspec::Resources
182
184
  end
183
185
 
184
186
  {
185
- success: resp.exit_status.to_i.zero?,
187
+ success: resp.exit_status.to_i == 0,
186
188
  connection: resp.stderr,
187
189
  socket: resp.stdout,
188
190
  }
@@ -190,24 +192,24 @@ module Inspec::Resources
190
192
 
191
193
  def netcat_check_command(hostname, port, protocol)
192
194
  if @has_nc
193
- base_cmd = 'nc'
195
+ base_cmd = "nc"
194
196
  elsif @has_ncat
195
- base_cmd = 'ncat'
197
+ base_cmd = "ncat"
196
198
  else
197
199
  return
198
200
  end
199
201
 
200
- if protocol == 'udp'
201
- extra_flags = '-u'
202
+ if protocol == "udp"
203
+ extra_flags = "-u"
202
204
  else
203
- extra_flags = ''
205
+ extra_flags = ""
204
206
  end
205
207
 
206
208
  "echo | #{base_cmd} -v -w 1 #{extra_flags} #{hostname} #{port}"
207
209
  end
208
210
 
209
211
  def timeout
210
- 'timeout'
212
+ "timeout"
211
213
  end
212
214
 
213
215
  def resolve_with_dig(hostname)
@@ -232,7 +234,7 @@ module Inspec::Resources
232
234
 
233
235
  def resolve_with_getent(hostname)
234
236
  cmd = inspec.command("getent ahosts #{hostname}")
235
- return nil unless cmd.exit_status.to_i.zero?
237
+ return nil unless cmd.exit_status.to_i == 0
236
238
 
237
239
  # getent ahosts output is formatted like so:
238
240
  # $ getent ahosts www.google.com
@@ -255,7 +257,7 @@ module Inspec::Resources
255
257
 
256
258
  class DarwinHostProvider < UnixHostProvider
257
259
  def timeout
258
- 'gtimeout'
260
+ "gtimeout"
259
261
  end
260
262
 
261
263
  def resolve(hostname)
@@ -279,7 +281,7 @@ module Inspec::Resources
279
281
  # TCP and port: Test-NetConnection -ComputerName www.microsoft.com -RemotePort 80
280
282
  request = "Test-NetConnection -ComputerName #{hostname} -WarningAction SilentlyContinue"
281
283
  request += " -RemotePort #{port}" unless port.nil?
282
- request += '| Select-Object -Property ComputerName, TcpTestSucceeded, PingSucceeded | ConvertTo-Json'
284
+ request += "| Select-Object -Property ComputerName, TcpTestSucceeded, PingSucceeded | ConvertTo-Json"
283
285
  cmd = inspec.command(request)
284
286
 
285
287
  begin
@@ -288,7 +290,7 @@ module Inspec::Resources
288
290
  return {}
289
291
  end
290
292
 
291
- { success: port.nil? ? ping['PingSucceeded'] : ping['TcpTestSucceeded'] }
293
+ { success: port.nil? ? ping["PingSucceeded"] : ping["TcpTestSucceeded"] }
292
294
  end
293
295
 
294
296
  def resolve(hostname)
@@ -300,7 +302,7 @@ module Inspec::Resources
300
302
  end
301
303
 
302
304
  resolv = [resolv] unless resolv.is_a?(Array)
303
- resolv.map { |entry| entry['IPAddress'] }
305
+ resolv.map { |entry| entry["IPAddress"] }
304
306
  end
305
307
  end
306
308
  end
@@ -1,17 +1,17 @@
1
- # encoding: utf-8
2
1
  # copyright: 2017, Criteo
3
2
  # copyright: 2017, Chef Software Inc
4
3
  # license: Apache v2
5
4
 
6
- require 'faraday'
7
- require 'faraday_middleware'
8
- require 'hashie'
5
+ require "inspec/resources/command"
6
+ require "faraday"
7
+ require "faraday_middleware"
8
+ require "hashie"
9
9
 
10
10
  module Inspec::Resources
11
11
  class Http < Inspec.resource(1)
12
- name 'http'
13
- supports platform: 'unix'
14
- desc 'Use the http InSpec audit resource to test http call.'
12
+ name "http"
13
+ supports platform: "unix"
14
+ desc "Use the http InSpec audit resource to test http call."
15
15
  example <<~EXAMPLE
16
16
  describe http('http://localhost:8080/ping', auth: {user: 'user', pass: 'test'}, params: {format: 'html'}) do
17
17
  its('status') { should cmp 200 }
@@ -34,9 +34,9 @@ module Inspec::Resources
34
34
  # to give users an opportunity to remove the unused option from their
35
35
  # profiles.
36
36
  if opts.key?(:enable_remote_worker) && !inspec.local_transport?
37
- warn 'Ignoring `enable_remote_worker` option, the `http` resource ',
38
- 'remote worker is enabled by default for remote targets and ',
39
- 'cannot be disabled'
37
+ warn "Ignoring `enable_remote_worker` option, the `http` resource ",
38
+ "remote worker is enabled by default for remote targets and ",
39
+ "cannot be disabled"
40
40
  end
41
41
 
42
42
  # Run locally if InSpec is ran locally and remotely if ran remotely
@@ -60,14 +60,14 @@ module Inspec::Resources
60
60
  end
61
61
 
62
62
  def http_method
63
- @opts.fetch(:method, 'GET')
63
+ @opts.fetch(:method, "GET")
64
64
  end
65
65
 
66
66
  def to_s
67
- if @opts and @url
67
+ if @opts && @url
68
68
  "HTTP #{http_method} on #{@url}"
69
69
  else
70
- 'HTTP Resource'
70
+ "HTTP Resource"
71
71
  end
72
72
  end
73
73
 
@@ -161,9 +161,9 @@ module Inspec::Resources
161
161
  attr_reader :inspec
162
162
 
163
163
  def initialize(inspec, http_method, url, opts)
164
- unless inspec.command('curl').exist?
164
+ unless inspec.command("curl").exist?
165
165
  raise Inspec::Exceptions::ResourceSkipped,
166
- 'curl is not available on the target machine'
166
+ "curl is not available on the target machine"
167
167
  end
168
168
 
169
169
  @ran_curl = false
@@ -210,35 +210,35 @@ module Inspec::Resources
210
210
 
211
211
  # grab the status off of the first line of the prelude
212
212
  status_line = prelude.shift
213
- @status = status_line.split(' ', 3)[1].to_i
213
+ @status = status_line.split(" ", 3)[1].to_i
214
214
 
215
215
  # parse the rest of the prelude which will be all the HTTP headers
216
216
  @response_headers = {}
217
217
  prelude.each do |line|
218
218
  line.strip!
219
- key, value = line.split(':', 2)
219
+ key, value = line.split(":", 2)
220
220
  @response_headers[key] = value.strip
221
221
  end
222
222
  end
223
223
 
224
224
  def curl_command # rubocop:disable Metrics/AbcSize
225
- cmd = ['curl -i']
225
+ cmd = ["curl -i"]
226
226
 
227
227
  # Use curl's --head option when the method requested is HEAD. Otherwise,
228
228
  # the user may experience a timeout when curl does not properly close
229
229
  # the connection after the response is received.
230
- if http_method.casecmp('HEAD') == 0
231
- cmd << '--head'
230
+ if http_method.casecmp("HEAD") == 0
231
+ cmd << "--head"
232
232
  else
233
233
  cmd << "-X #{http_method}"
234
234
  end
235
235
 
236
236
  cmd << "--connect-timeout #{open_timeout}"
237
- cmd << "--max-time #{open_timeout+read_timeout}"
237
+ cmd << "--max-time #{open_timeout + read_timeout}"
238
238
  cmd << "--user \'#{username}:#{password}\'" unless username.nil? || password.nil?
239
- cmd << '--insecure' unless ssl_verify?
239
+ cmd << "--insecure" unless ssl_verify?
240
240
  cmd << "--data #{Shellwords.shellescape(request_body)}" unless request_body.nil?
241
- cmd << '--location' if max_redirects > 0
241
+ cmd << "--location" if max_redirects > 0
242
242
  cmd << "--max-redirs #{max_redirects}" if max_redirects > 0
243
243
 
244
244
  request_headers.each do |k, v|
@@ -251,7 +251,7 @@ module Inspec::Resources
251
251
  cmd << "'#{url}?#{params.map { |e| e.join('=') }.join('&')}'"
252
252
  end
253
253
 
254
- cmd.join(' ')
254
+ cmd.join(" ")
255
255
  end
256
256
  end
257
257
  end
@@ -1,12 +1,11 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
3
2
  # check for web applications in IIS
4
3
  # Note: this is only supported in windows 2012 and later
5
4
  module Inspec::Resources
6
5
  class IisApp < Inspec.resource(1)
7
- name 'iis_app'
8
- supports platform: 'windows'
9
- desc 'Tests IIS application configuration on windows. Supported in server 2012+ only'
6
+ name "iis_app"
7
+ supports platform: "windows"
8
+ desc "Tests IIS application configuration on windows. Supported in server 2012+ only"
10
9
  example <<~EXAMPLE
11
10
  describe iis_app('/myapp', 'Default Web Site') do
12
11
  it { should exist }
@@ -90,9 +89,9 @@ module Inspec::Resources
90
89
  info = {
91
90
  site_name: @site_name,
92
91
  path: @path,
93
- application_pool: app['applicationPool'],
94
- physical_path: app['PhysicalPath'],
95
- protocols: app['enabledProtocols'],
92
+ application_pool: app["applicationPool"],
93
+ physical_path: app["PhysicalPath"],
94
+ protocols: app["enabledProtocols"],
96
95
  }
97
96
 
98
97
  @cache = info unless info.nil?
@@ -1,12 +1,14 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
2
+
3
+ require "inspec/resources/powershell"
4
+
3
5
  # check for web applications in IIS
4
6
  # Note: this is only supported in windows 2012 and later
5
7
 
6
8
  class IisAppPool < Inspec.resource(1)
7
- name 'iis_app_pool'
8
- desc 'Tests IIS application pool configuration on windows.'
9
- supports platform: 'windows'
9
+ name "iis_app_pool"
10
+ desc "Tests IIS application pool configuration on windows."
11
+ supports platform: "windows"
10
12
  example <<~EXAMPLE
11
13
  describe iis_app_pool('DefaultAppPool') do
12
14
  it { should exist }
@@ -22,7 +24,7 @@ class IisAppPool < Inspec.resource(1)
22
24
  @cache = nil
23
25
 
24
26
  # verify that this resource is only supported on Windows
25
- return skip_resource 'The `iis_app_pool` resource is not supported on your OS.' unless inspec.os.windows?
27
+ return skip_resource "The `iis_app_pool` resource is not supported on your OS." unless inspec.os.windows?
26
28
  end
27
29
 
28
30
  def pool_name
@@ -102,26 +104,26 @@ class IisAppPool < Inspec.resource(1)
102
104
  begin
103
105
  pool = JSON.parse(cmd.stdout)
104
106
  rescue JSON::ParserError => _e
105
- raise Inspec::Exceptions::ResourceFailed, 'Unable to parse app pool JSON'
107
+ raise Inspec::Exceptions::ResourceFailed, "Unable to parse app pool JSON"
106
108
  end
107
109
 
108
- process_model = pool.fetch('processModel', {})
109
- idle_timeout = process_model.fetch('idleTimeout', {})
110
+ process_model = pool.fetch("processModel", {})
111
+ idle_timeout = process_model.fetch("idleTimeout", {})
110
112
 
111
113
  # map our values to a hash table
112
114
  @cache = {
113
- pool_name: pool['name'],
114
- version: pool['managedRuntimeVersion'],
115
- e32b: pool['enable32BitAppOnWin64'],
116
- mode: pool['managedPipelineMode'],
117
- processes: process_model['maxProcesses'],
115
+ pool_name: pool["name"],
116
+ version: pool["managedRuntimeVersion"],
117
+ e32b: pool["enable32BitAppOnWin64"],
118
+ mode: pool["managedPipelineMode"],
119
+ processes: process_model["maxProcesses"],
118
120
  timeout: "#{idle_timeout['Hours']}:#{idle_timeout['Minutes']}:#{idle_timeout['Seconds']}",
119
- timeout_days: idle_timeout['Days'],
120
- timeout_hours: idle_timeout['Hours'],
121
- timeout_minutes: idle_timeout['Minutes'],
122
- timeout_seconds: idle_timeout['Seconds'],
123
- user_identity_type: process_model['identityType'],
124
- username: process_model['userName'],
121
+ timeout_days: idle_timeout["Days"],
122
+ timeout_hours: idle_timeout["Hours"],
123
+ timeout_minutes: idle_timeout["Minutes"],
124
+ timeout_seconds: idle_timeout["Seconds"],
125
+ user_identity_type: process_model["identityType"],
126
+ username: process_model["userName"],
125
127
  }
126
128
  end
127
129
  end
@@ -1,5 +1,7 @@
1
- # encoding: utf-8
2
1
  # frozen_string_literal: true
2
+
3
+ require "inspec/resources/command"
4
+
3
5
  # check for site in IIS
4
6
  # Usage:
5
7
  # describe iis_site('Default Web Site') do
@@ -15,9 +17,9 @@
15
17
 
16
18
  module Inspec::Resources
17
19
  class IisSite < Inspec.resource(1)
18
- name 'iis_site'
19
- supports platform: 'windows'
20
- desc 'Tests IIS site configuration on windows. Supported in server 2012+ only'
20
+ name "iis_site"
21
+ supports platform: "windows"
22
+ desc "Tests IIS site configuration on windows. Supported in server 2012+ only"
21
23
  example <<~EXAMPLE
22
24
  describe iis_site('Default Web Site') do
23
25
  it { should exist }
@@ -36,7 +38,7 @@ module Inspec::Resources
36
38
  @site_provider = SiteProvider.new(inspec)
37
39
 
38
40
  # verify that this resource is only supported on Windows
39
- return skip_resource 'The `iis_site` resource is not supported on your OS.' if inspec.os[:family] != 'windows'
41
+ return skip_resource "The `iis_site` resource is not supported on your OS." if inspec.os[:family] != "windows"
40
42
  end
41
43
 
42
44
  def app_pool
@@ -60,7 +62,7 @@ module Inspec::Resources
60
62
  end
61
63
 
62
64
  def running?
63
- iis_site.nil? ? false : (iis_site[:state] == 'Started')
65
+ iis_site.nil? ? false : (iis_site[:state] == "Started")
64
66
  end
65
67
 
66
68
  def has_app_pool?(app_pool)
@@ -103,17 +105,17 @@ module Inspec::Resources
103
105
  return nil
104
106
  end
105
107
 
106
- bindings_array = site['bindings']['Collection'].map { |k|
108
+ bindings_array = site["bindings"]["Collection"].map do |k|
107
109
  "#{k['protocol']} #{k['bindingInformation']}#{k['protocol'] == 'https' ? " sslFlags=#{k['sslFlags']}" : ''}"
108
- }
110
+ end
109
111
 
110
112
  # map our values to a hash table
111
113
  info = {
112
- name: site['name'],
113
- state: site['state'],
114
- path: site['physicalPath'],
114
+ name: site["name"],
115
+ state: site["state"],
116
+ path: site["physicalPath"],
115
117
  bindings: bindings_array,
116
- app_pool: site['applicationPool'],
118
+ app_pool: site["applicationPool"],
117
119
  }
118
120
 
119
121
  info
@@ -123,8 +125,8 @@ module Inspec::Resources
123
125
  # for compatability with serverspec
124
126
  # this is deprecated syntax and will be removed in future versions
125
127
  class IisSiteServerSpec < IisSite
126
- name 'iis_website'
127
- desc 'Tests IIS site configuration on windows. Deprecated, use `iis_site` instead.'
128
+ name "iis_website"
129
+ desc "Tests IIS site configuration on windows. Deprecated, use `iis_site` instead."
128
130
  example <<~EXAMPLE
129
131
  describe iis_website('Default Website') do
130
132
  it{ should exist }
@@ -134,7 +136,7 @@ module Inspec::Resources
134
136
  EXAMPLE
135
137
 
136
138
  def initialize(site_name)
137
- Inspec.deprecate(:resource_iis_website, 'The `iis_website` resource is deprecated. Please use `iis_site` instead.')
139
+ Inspec.deprecate(:resource_iis_website, "The `iis_website` resource is deprecated. Please use `iis_site` instead.")
138
140
  super(site_name)
139
141
  end
140
142