inspec 2.0.16 → 2.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (480) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +101 -101
  3. data/CHANGELOG.md +2949 -2944
  4. data/Gemfile +55 -55
  5. data/LICENSE +14 -14
  6. data/MAINTAINERS.md +31 -31
  7. data/MAINTAINERS.toml +47 -47
  8. data/README.md +438 -438
  9. data/Rakefile +284 -284
  10. data/bin/inspec +12 -12
  11. data/docs/.gitignore +2 -2
  12. data/docs/README.md +40 -40
  13. data/docs/dsl_inspec.md +258 -258
  14. data/docs/dsl_resource.md +93 -93
  15. data/docs/glossary.md +99 -99
  16. data/docs/habitat.md +191 -191
  17. data/docs/inspec_and_friends.md +107 -107
  18. data/docs/matchers.md +165 -165
  19. data/docs/migration.md +293 -293
  20. data/docs/platforms.md +118 -118
  21. data/docs/plugin_kitchen_inspec.md +49 -49
  22. data/docs/profiles.md +370 -370
  23. data/docs/reporters.md +105 -105
  24. data/docs/resources/aide_conf.md.erb +75 -75
  25. data/docs/resources/apache.md.erb +67 -67
  26. data/docs/resources/apache_conf.md.erb +68 -68
  27. data/docs/resources/apt.md.erb +71 -71
  28. data/docs/resources/audit_policy.md.erb +47 -47
  29. data/docs/resources/auditd.md.erb +79 -79
  30. data/docs/resources/auditd_conf.md.erb +68 -68
  31. data/docs/resources/aws_cloudtrail_trail.md.erb +140 -140
  32. data/docs/resources/aws_cloudtrail_trails.md.erb +81 -81
  33. data/docs/resources/aws_cloudwatch_alarm.md.erb +86 -86
  34. data/docs/resources/aws_cloudwatch_log_metric_filter.md.erb +151 -151
  35. data/docs/resources/aws_ec2_instance.md.erb +106 -106
  36. data/docs/resources/aws_iam_access_key.md.erb +123 -123
  37. data/docs/resources/aws_iam_access_keys.md.erb +198 -198
  38. data/docs/resources/aws_iam_group.md.erb +46 -46
  39. data/docs/resources/aws_iam_groups.md.erb +43 -43
  40. data/docs/resources/aws_iam_password_policy.md.erb +76 -76
  41. data/docs/resources/aws_iam_policies.md.erb +82 -82
  42. data/docs/resources/aws_iam_policy.md.erb +146 -146
  43. data/docs/resources/aws_iam_role.md.erb +65 -65
  44. data/docs/resources/aws_iam_root_user.md.erb +58 -58
  45. data/docs/resources/aws_iam_user.md.erb +64 -64
  46. data/docs/resources/aws_iam_users.md.erb +89 -89
  47. data/docs/resources/aws_kms_keys.md.erb +84 -84
  48. data/docs/resources/aws_route_table.md.erb +47 -47
  49. data/docs/resources/aws_s3_bucket.md.erb +134 -134
  50. data/docs/resources/aws_security_group.md.erb +152 -152
  51. data/docs/resources/aws_security_groups.md.erb +92 -92
  52. data/docs/resources/aws_sns_topic.md.erb +62 -62
  53. data/docs/resources/aws_subnet.md.erb +133 -133
  54. data/docs/resources/aws_subnets.md.erb +126 -126
  55. data/docs/resources/aws_vpc.md.erb +120 -120
  56. data/docs/resources/aws_vpcs.md.erb +48 -48
  57. data/docs/resources/azure_generic_resource.md.erb +170 -139
  58. data/docs/resources/azure_resource_group.md.erb +284 -284
  59. data/docs/resources/azure_virtual_machine.md.erb +347 -314
  60. data/docs/resources/azure_virtual_machine_data_disk.md.erb +224 -182
  61. data/docs/resources/bash.md.erb +75 -75
  62. data/docs/resources/bond.md.erb +90 -90
  63. data/docs/resources/bridge.md.erb +57 -57
  64. data/docs/resources/bsd_service.md.erb +67 -67
  65. data/docs/resources/command.md.erb +138 -138
  66. data/docs/resources/cpan.md.erb +79 -79
  67. data/docs/resources/cran.md.erb +64 -64
  68. data/docs/resources/crontab.md.erb +88 -88
  69. data/docs/resources/csv.md.erb +54 -54
  70. data/docs/resources/dh_params.md.erb +217 -217
  71. data/docs/resources/directory.md.erb +30 -30
  72. data/docs/resources/docker.md.erb +164 -164
  73. data/docs/resources/docker_container.md.erb +104 -104
  74. data/docs/resources/docker_image.md.erb +94 -94
  75. data/docs/resources/docker_service.md.erb +114 -114
  76. data/docs/resources/elasticsearch.md.erb +242 -242
  77. data/docs/resources/etc_fstab.md.erb +125 -125
  78. data/docs/resources/etc_group.md.erb +75 -75
  79. data/docs/resources/etc_hosts.md.erb +78 -78
  80. data/docs/resources/etc_hosts_allow.md.erb +74 -74
  81. data/docs/resources/etc_hosts_deny.md.erb +74 -74
  82. data/docs/resources/file.md.erb +515 -515
  83. data/docs/resources/filesystem.md.erb +41 -41
  84. data/docs/resources/firewalld.md.erb +107 -107
  85. data/docs/resources/gem.md.erb +79 -79
  86. data/docs/resources/group.md.erb +61 -61
  87. data/docs/resources/grub_conf.md.erb +101 -101
  88. data/docs/resources/host.md.erb +78 -78
  89. data/docs/resources/http.md.erb +101 -101
  90. data/docs/resources/iis_app.md.erb +122 -122
  91. data/docs/resources/iis_site.md.erb +135 -135
  92. data/docs/resources/inetd_conf.md.erb +94 -94
  93. data/docs/resources/ini.md.erb +76 -76
  94. data/docs/resources/interface.md.erb +58 -58
  95. data/docs/resources/iptables.md.erb +64 -64
  96. data/docs/resources/json.md.erb +62 -62
  97. data/docs/resources/kernel_module.md.erb +107 -107
  98. data/docs/resources/kernel_parameter.md.erb +53 -53
  99. data/docs/resources/key_rsa.md.erb +85 -85
  100. data/docs/resources/launchd_service.md.erb +57 -57
  101. data/docs/resources/limits_conf.md.erb +75 -75
  102. data/docs/resources/login_def.md.erb +71 -71
  103. data/docs/resources/mount.md.erb +69 -69
  104. data/docs/resources/mssql_session.md.erb +60 -60
  105. data/docs/resources/mysql_conf.md.erb +99 -99
  106. data/docs/resources/mysql_session.md.erb +74 -74
  107. data/docs/resources/nginx.md.erb +79 -79
  108. data/docs/resources/nginx_conf.md.erb +128 -128
  109. data/docs/resources/npm.md.erb +60 -60
  110. data/docs/resources/ntp_conf.md.erb +60 -60
  111. data/docs/resources/oneget.md.erb +53 -53
  112. data/docs/resources/oracledb_session.md.erb +52 -52
  113. data/docs/resources/os.md.erb +141 -141
  114. data/docs/resources/os_env.md.erb +78 -78
  115. data/docs/resources/package.md.erb +120 -120
  116. data/docs/resources/packages.md.erb +67 -67
  117. data/docs/resources/parse_config.md.erb +103 -103
  118. data/docs/resources/parse_config_file.md.erb +138 -138
  119. data/docs/resources/passwd.md.erb +141 -141
  120. data/docs/resources/pip.md.erb +67 -67
  121. data/docs/resources/port.md.erb +137 -137
  122. data/docs/resources/postgres_conf.md.erb +79 -79
  123. data/docs/resources/postgres_hba_conf.md.erb +93 -93
  124. data/docs/resources/postgres_ident_conf.md.erb +76 -76
  125. data/docs/resources/postgres_session.md.erb +69 -69
  126. data/docs/resources/powershell.md.erb +102 -102
  127. data/docs/resources/processes.md.erb +109 -109
  128. data/docs/resources/rabbitmq_config.md.erb +41 -41
  129. data/docs/resources/registry_key.md.erb +158 -158
  130. data/docs/resources/runit_service.md.erb +57 -57
  131. data/docs/resources/security_policy.md.erb +47 -47
  132. data/docs/resources/service.md.erb +121 -121
  133. data/docs/resources/shadow.md.erb +144 -144
  134. data/docs/resources/ssh_config.md.erb +80 -80
  135. data/docs/resources/sshd_config.md.erb +83 -83
  136. data/docs/resources/ssl.md.erb +119 -119
  137. data/docs/resources/sys_info.md.erb +42 -42
  138. data/docs/resources/systemd_service.md.erb +57 -57
  139. data/docs/resources/sysv_service.md.erb +57 -57
  140. data/docs/resources/upstart_service.md.erb +57 -57
  141. data/docs/resources/user.md.erb +140 -140
  142. data/docs/resources/users.md.erb +127 -127
  143. data/docs/resources/vbscript.md.erb +55 -55
  144. data/docs/resources/virtualization.md.erb +57 -57
  145. data/docs/resources/windows_feature.md.erb +47 -47
  146. data/docs/resources/windows_hotfix.md.erb +53 -53
  147. data/docs/resources/windows_task.md.erb +95 -95
  148. data/docs/resources/wmi.md.erb +81 -81
  149. data/docs/resources/x509_certificate.md.erb +151 -151
  150. data/docs/resources/xinetd_conf.md.erb +156 -156
  151. data/docs/resources/xml.md.erb +85 -85
  152. data/docs/resources/yaml.md.erb +69 -69
  153. data/docs/resources/yum.md.erb +98 -98
  154. data/docs/resources/zfs_dataset.md.erb +53 -53
  155. data/docs/resources/zfs_pool.md.erb +47 -47
  156. data/docs/ruby_usage.md +203 -203
  157. data/docs/shared/matcher_be.md.erb +1 -1
  158. data/docs/shared/matcher_cmp.md.erb +43 -43
  159. data/docs/shared/matcher_eq.md.erb +3 -3
  160. data/docs/shared/matcher_include.md.erb +1 -1
  161. data/docs/shared/matcher_match.md.erb +1 -1
  162. data/docs/shell.md +172 -172
  163. data/examples/README.md +8 -8
  164. data/examples/inheritance/README.md +65 -65
  165. data/examples/inheritance/controls/example.rb +14 -14
  166. data/examples/inheritance/inspec.yml +15 -15
  167. data/examples/kitchen-ansible/.kitchen.yml +25 -25
  168. data/examples/kitchen-ansible/Gemfile +19 -19
  169. data/examples/kitchen-ansible/README.md +53 -53
  170. data/examples/kitchen-ansible/files/nginx.repo +6 -6
  171. data/examples/kitchen-ansible/tasks/main.yml +16 -16
  172. data/examples/kitchen-ansible/test/integration/default/default.yml +5 -5
  173. data/examples/kitchen-ansible/test/integration/default/web_spec.rb +28 -28
  174. data/examples/kitchen-chef/.kitchen.yml +20 -20
  175. data/examples/kitchen-chef/Berksfile +3 -3
  176. data/examples/kitchen-chef/Gemfile +19 -19
  177. data/examples/kitchen-chef/README.md +27 -27
  178. data/examples/kitchen-chef/metadata.rb +7 -7
  179. data/examples/kitchen-chef/recipes/default.rb +6 -6
  180. data/examples/kitchen-chef/recipes/nginx.rb +30 -30
  181. data/examples/kitchen-chef/test/integration/default/web_spec.rb +28 -28
  182. data/examples/kitchen-puppet/.kitchen.yml +22 -22
  183. data/examples/kitchen-puppet/Gemfile +20 -20
  184. data/examples/kitchen-puppet/Puppetfile +25 -25
  185. data/examples/kitchen-puppet/README.md +53 -53
  186. data/examples/kitchen-puppet/manifests/site.pp +33 -33
  187. data/examples/kitchen-puppet/metadata.json +11 -11
  188. data/examples/kitchen-puppet/test/integration/default/web_spec.rb +28 -28
  189. data/examples/meta-profile/README.md +37 -37
  190. data/examples/meta-profile/controls/example.rb +13 -13
  191. data/examples/meta-profile/inspec.yml +13 -13
  192. data/examples/profile-attribute.yml +2 -2
  193. data/examples/profile-attribute/README.md +14 -14
  194. data/examples/profile-attribute/controls/example.rb +11 -11
  195. data/examples/profile-attribute/inspec.yml +8 -8
  196. data/examples/profile-aws/controls/iam_password_policy_expiration.rb +8 -8
  197. data/examples/profile-aws/controls/iam_password_policy_max_age.rb +8 -8
  198. data/examples/profile-aws/controls/iam_root_user_mfa.rb +8 -8
  199. data/examples/profile-aws/controls/iam_users_access_key_age.rb +8 -8
  200. data/examples/profile-aws/controls/iam_users_console_users_mfa.rb +8 -8
  201. data/examples/profile-aws/inspec.yml +11 -11
  202. data/examples/profile-azure/controls/azure_resource_group_example.rb +24 -24
  203. data/examples/profile-azure/controls/azure_vm_example.rb +29 -29
  204. data/examples/profile-azure/inspec.yml +11 -11
  205. data/examples/profile-sensitive/README.md +29 -29
  206. data/examples/profile-sensitive/controls/sensitive-failures.rb +9 -9
  207. data/examples/profile-sensitive/controls/sensitive.rb +9 -9
  208. data/examples/profile-sensitive/inspec.yml +8 -8
  209. data/examples/profile/README.md +48 -48
  210. data/examples/profile/controls/example.rb +23 -23
  211. data/examples/profile/controls/gordon.rb +36 -36
  212. data/examples/profile/controls/meta.rb +34 -34
  213. data/examples/profile/inspec.yml +10 -10
  214. data/examples/profile/libraries/gordon_config.rb +53 -53
  215. data/inspec.gemspec +47 -47
  216. data/lib/bundles/README.md +3 -3
  217. data/lib/bundles/inspec-artifact.rb +7 -7
  218. data/lib/bundles/inspec-artifact/README.md +1 -1
  219. data/lib/bundles/inspec-artifact/cli.rb +277 -277
  220. data/lib/bundles/inspec-compliance.rb +16 -16
  221. data/lib/bundles/inspec-compliance/.kitchen.yml +20 -20
  222. data/lib/bundles/inspec-compliance/README.md +185 -185
  223. data/lib/bundles/inspec-compliance/api.rb +316 -316
  224. data/lib/bundles/inspec-compliance/api/login.rb +152 -152
  225. data/lib/bundles/inspec-compliance/bootstrap.sh +41 -41
  226. data/lib/bundles/inspec-compliance/cli.rb +254 -254
  227. data/lib/bundles/inspec-compliance/configuration.rb +103 -103
  228. data/lib/bundles/inspec-compliance/http.rb +86 -86
  229. data/lib/bundles/inspec-compliance/support.rb +36 -36
  230. data/lib/bundles/inspec-compliance/target.rb +98 -98
  231. data/lib/bundles/inspec-compliance/test/integration/default/cli.rb +93 -93
  232. data/lib/bundles/inspec-habitat.rb +12 -12
  233. data/lib/bundles/inspec-habitat/cli.rb +36 -36
  234. data/lib/bundles/inspec-habitat/log.rb +10 -10
  235. data/lib/bundles/inspec-habitat/profile.rb +390 -390
  236. data/lib/bundles/inspec-init.rb +8 -8
  237. data/lib/bundles/inspec-init/README.md +31 -31
  238. data/lib/bundles/inspec-init/cli.rb +97 -97
  239. data/lib/bundles/inspec-init/templates/profile/README.md +3 -3
  240. data/lib/bundles/inspec-init/templates/profile/controls/example.rb +19 -19
  241. data/lib/bundles/inspec-init/templates/profile/inspec.yml +8 -8
  242. data/lib/bundles/inspec-supermarket.rb +13 -13
  243. data/lib/bundles/inspec-supermarket/README.md +45 -45
  244. data/lib/bundles/inspec-supermarket/api.rb +84 -84
  245. data/lib/bundles/inspec-supermarket/cli.rb +73 -73
  246. data/lib/bundles/inspec-supermarket/target.rb +34 -34
  247. data/lib/fetchers/git.rb +163 -163
  248. data/lib/fetchers/local.rb +74 -74
  249. data/lib/fetchers/mock.rb +35 -35
  250. data/lib/fetchers/url.rb +204 -204
  251. data/lib/inspec.rb +24 -24
  252. data/lib/inspec/archive/tar.rb +29 -29
  253. data/lib/inspec/archive/zip.rb +19 -19
  254. data/lib/inspec/backend.rb +92 -92
  255. data/lib/inspec/base_cli.rb +350 -333
  256. data/lib/inspec/cached_fetcher.rb +66 -66
  257. data/lib/inspec/cli.rb +292 -302
  258. data/lib/inspec/completions/bash.sh.erb +45 -45
  259. data/lib/inspec/completions/fish.sh.erb +34 -34
  260. data/lib/inspec/completions/zsh.sh.erb +61 -61
  261. data/lib/inspec/control_eval_context.rb +179 -179
  262. data/lib/inspec/dependencies/cache.rb +72 -72
  263. data/lib/inspec/dependencies/dependency_set.rb +92 -92
  264. data/lib/inspec/dependencies/lockfile.rb +115 -115
  265. data/lib/inspec/dependencies/requirement.rb +123 -123
  266. data/lib/inspec/dependencies/resolver.rb +86 -86
  267. data/lib/inspec/describe.rb +27 -27
  268. data/lib/inspec/dsl.rb +66 -66
  269. data/lib/inspec/dsl_shared.rb +33 -33
  270. data/lib/inspec/env_printer.rb +157 -157
  271. data/lib/inspec/errors.rb +13 -13
  272. data/lib/inspec/exceptions.rb +12 -12
  273. data/lib/inspec/expect.rb +45 -45
  274. data/lib/inspec/fetcher.rb +45 -45
  275. data/lib/inspec/file_provider.rb +275 -275
  276. data/lib/inspec/formatters.rb +3 -3
  277. data/lib/inspec/formatters/base.rb +250 -250
  278. data/lib/inspec/formatters/json_rspec.rb +20 -20
  279. data/lib/inspec/formatters/show_progress.rb +12 -12
  280. data/lib/inspec/library_eval_context.rb +58 -58
  281. data/lib/inspec/log.rb +11 -11
  282. data/lib/inspec/metadata.rb +247 -247
  283. data/lib/inspec/method_source.rb +24 -24
  284. data/lib/inspec/objects.rb +14 -14
  285. data/lib/inspec/objects/attribute.rb +65 -65
  286. data/lib/inspec/objects/control.rb +61 -61
  287. data/lib/inspec/objects/describe.rb +92 -92
  288. data/lib/inspec/objects/each_loop.rb +36 -36
  289. data/lib/inspec/objects/list.rb +15 -15
  290. data/lib/inspec/objects/or_test.rb +40 -40
  291. data/lib/inspec/objects/ruby_helper.rb +15 -15
  292. data/lib/inspec/objects/tag.rb +27 -27
  293. data/lib/inspec/objects/test.rb +87 -87
  294. data/lib/inspec/objects/value.rb +27 -27
  295. data/lib/inspec/plugins.rb +60 -60
  296. data/lib/inspec/plugins/cli.rb +24 -24
  297. data/lib/inspec/plugins/fetcher.rb +86 -86
  298. data/lib/inspec/plugins/resource.rb +133 -133
  299. data/lib/inspec/plugins/secret.rb +15 -15
  300. data/lib/inspec/plugins/source_reader.rb +40 -40
  301. data/lib/inspec/polyfill.rb +12 -12
  302. data/lib/inspec/profile.rb +510 -510
  303. data/lib/inspec/profile_context.rb +207 -207
  304. data/lib/inspec/profile_vendor.rb +66 -66
  305. data/lib/inspec/reporters.rb +50 -50
  306. data/lib/inspec/reporters/base.rb +24 -24
  307. data/lib/inspec/reporters/cli.rb +356 -356
  308. data/lib/inspec/reporters/json.rb +116 -116
  309. data/lib/inspec/reporters/json_min.rb +48 -48
  310. data/lib/inspec/reporters/junit.rb +77 -77
  311. data/lib/inspec/require_loader.rb +33 -33
  312. data/lib/inspec/resource.rb +186 -186
  313. data/lib/inspec/rule.rb +266 -266
  314. data/lib/inspec/runner.rb +344 -344
  315. data/lib/inspec/runner_mock.rb +41 -41
  316. data/lib/inspec/runner_rspec.rb +174 -174
  317. data/lib/inspec/runtime_profile.rb +26 -26
  318. data/lib/inspec/schema.rb +213 -213
  319. data/lib/inspec/secrets.rb +19 -19
  320. data/lib/inspec/secrets/yaml.rb +30 -30
  321. data/lib/inspec/shell.rb +220 -223
  322. data/lib/inspec/shell_detector.rb +90 -90
  323. data/lib/inspec/source_reader.rb +29 -29
  324. data/lib/inspec/version.rb +8 -8
  325. data/lib/matchers/matchers.rb +339 -339
  326. data/lib/resource_support/aws.rb +40 -40
  327. data/lib/resource_support/aws/aws_backend_base.rb +12 -12
  328. data/lib/resource_support/aws/aws_backend_factory_mixin.rb +12 -12
  329. data/lib/resource_support/aws/aws_plural_resource_mixin.rb +21 -21
  330. data/lib/resource_support/aws/aws_resource_mixin.rb +66 -66
  331. data/lib/resource_support/aws/aws_singular_resource_mixin.rb +24 -24
  332. data/lib/resources/aide_conf.rb +160 -160
  333. data/lib/resources/apache.rb +48 -48
  334. data/lib/resources/apache_conf.rb +156 -156
  335. data/lib/resources/apt.rb +149 -149
  336. data/lib/resources/audit_policy.rb +63 -63
  337. data/lib/resources/auditd.rb +231 -231
  338. data/lib/resources/auditd_conf.rb +55 -55
  339. data/lib/resources/aws/aws_cloudtrail_trail.rb +77 -77
  340. data/lib/resources/aws/aws_cloudtrail_trails.rb +47 -47
  341. data/lib/resources/aws/aws_cloudwatch_alarm.rb +62 -62
  342. data/lib/resources/aws/aws_cloudwatch_log_metric_filter.rb +100 -100
  343. data/lib/resources/aws/aws_ec2_instance.rb +157 -157
  344. data/lib/resources/aws/aws_iam_access_key.rb +106 -106
  345. data/lib/resources/aws/aws_iam_access_keys.rb +144 -144
  346. data/lib/resources/aws/aws_iam_group.rb +56 -56
  347. data/lib/resources/aws/aws_iam_groups.rb +45 -45
  348. data/lib/resources/aws/aws_iam_password_policy.rb +116 -116
  349. data/lib/resources/aws/aws_iam_policies.rb +46 -46
  350. data/lib/resources/aws/aws_iam_policy.rb +119 -119
  351. data/lib/resources/aws/aws_iam_role.rb +51 -51
  352. data/lib/resources/aws/aws_iam_root_user.rb +60 -60
  353. data/lib/resources/aws/aws_iam_user.rb +111 -111
  354. data/lib/resources/aws/aws_iam_users.rb +96 -96
  355. data/lib/resources/aws/aws_kms_keys.rb +46 -46
  356. data/lib/resources/aws/aws_route_table.rb +61 -61
  357. data/lib/resources/aws/aws_s3_bucket.rb +115 -115
  358. data/lib/resources/aws/aws_security_group.rb +93 -93
  359. data/lib/resources/aws/aws_security_groups.rb +68 -68
  360. data/lib/resources/aws/aws_sns_topic.rb +53 -53
  361. data/lib/resources/aws/aws_subnet.rb +88 -88
  362. data/lib/resources/aws/aws_subnets.rb +53 -53
  363. data/lib/resources/aws/aws_vpc.rb +69 -69
  364. data/lib/resources/aws/aws_vpcs.rb +45 -45
  365. data/lib/resources/azure/azure_backend.rb +377 -377
  366. data/lib/resources/azure/azure_generic_resource.rb +59 -59
  367. data/lib/resources/azure/azure_resource_group.rb +152 -152
  368. data/lib/resources/azure/azure_virtual_machine.rb +264 -264
  369. data/lib/resources/azure/azure_virtual_machine_data_disk.rb +136 -136
  370. data/lib/resources/bash.rb +35 -35
  371. data/lib/resources/bond.rb +68 -68
  372. data/lib/resources/bridge.rb +122 -122
  373. data/lib/resources/command.rb +69 -69
  374. data/lib/resources/cpan.rb +58 -58
  375. data/lib/resources/cran.rb +64 -64
  376. data/lib/resources/crontab.rb +170 -170
  377. data/lib/resources/csv.rb +60 -60
  378. data/lib/resources/dh_params.rb +82 -82
  379. data/lib/resources/directory.rb +25 -25
  380. data/lib/resources/docker.rb +236 -236
  381. data/lib/resources/docker_container.rb +89 -89
  382. data/lib/resources/docker_image.rb +83 -83
  383. data/lib/resources/docker_object.rb +57 -57
  384. data/lib/resources/docker_service.rb +90 -90
  385. data/lib/resources/elasticsearch.rb +169 -169
  386. data/lib/resources/etc_fstab.rb +102 -102
  387. data/lib/resources/etc_group.rb +156 -156
  388. data/lib/resources/etc_hosts.rb +81 -81
  389. data/lib/resources/etc_hosts_allow_deny.rb +123 -123
  390. data/lib/resources/file.rb +298 -298
  391. data/lib/resources/filesystem.rb +31 -31
  392. data/lib/resources/firewalld.rb +144 -144
  393. data/lib/resources/gem.rb +70 -70
  394. data/lib/resources/groups.rb +215 -215
  395. data/lib/resources/grub_conf.rb +237 -237
  396. data/lib/resources/host.rb +300 -300
  397. data/lib/resources/http.rb +250 -250
  398. data/lib/resources/iis_app.rb +104 -104
  399. data/lib/resources/iis_site.rb +148 -148
  400. data/lib/resources/inetd_conf.rb +62 -62
  401. data/lib/resources/ini.rb +29 -29
  402. data/lib/resources/interface.rb +129 -129
  403. data/lib/resources/iptables.rb +69 -69
  404. data/lib/resources/json.rb +117 -117
  405. data/lib/resources/kernel_module.rb +107 -107
  406. data/lib/resources/kernel_parameter.rb +58 -58
  407. data/lib/resources/key_rsa.rb +67 -67
  408. data/lib/resources/limits_conf.rb +55 -55
  409. data/lib/resources/login_def.rb +66 -66
  410. data/lib/resources/mount.rb +88 -88
  411. data/lib/resources/mssql_session.rb +101 -101
  412. data/lib/resources/mysql.rb +81 -81
  413. data/lib/resources/mysql_conf.rb +134 -134
  414. data/lib/resources/mysql_session.rb +71 -71
  415. data/lib/resources/nginx.rb +96 -96
  416. data/lib/resources/nginx_conf.rb +227 -227
  417. data/lib/resources/npm.rb +48 -48
  418. data/lib/resources/ntp_conf.rb +58 -58
  419. data/lib/resources/oneget.rb +71 -71
  420. data/lib/resources/oracledb_session.rb +139 -139
  421. data/lib/resources/os.rb +36 -36
  422. data/lib/resources/os_env.rb +76 -76
  423. data/lib/resources/package.rb +363 -363
  424. data/lib/resources/packages.rb +111 -111
  425. data/lib/resources/parse_config.rb +116 -116
  426. data/lib/resources/passwd.rb +74 -74
  427. data/lib/resources/pip.rb +89 -89
  428. data/lib/resources/platform.rb +109 -109
  429. data/lib/resources/port.rb +771 -771
  430. data/lib/resources/postgres.rb +130 -130
  431. data/lib/resources/postgres_conf.rb +121 -121
  432. data/lib/resources/postgres_hba_conf.rb +100 -100
  433. data/lib/resources/postgres_ident_conf.rb +78 -78
  434. data/lib/resources/postgres_session.rb +71 -71
  435. data/lib/resources/powershell.rb +57 -57
  436. data/lib/resources/processes.rb +204 -204
  437. data/lib/resources/rabbitmq_conf.rb +52 -52
  438. data/lib/resources/registry_key.rb +296 -296
  439. data/lib/resources/security_policy.rb +180 -180
  440. data/lib/resources/service.rb +789 -789
  441. data/lib/resources/shadow.rb +140 -140
  442. data/lib/resources/ssh_conf.rb +102 -102
  443. data/lib/resources/ssl.rb +99 -99
  444. data/lib/resources/sys_info.rb +28 -28
  445. data/lib/resources/toml.rb +32 -32
  446. data/lib/resources/users.rb +654 -654
  447. data/lib/resources/vbscript.rb +69 -69
  448. data/lib/resources/virtualization.rb +251 -251
  449. data/lib/resources/windows_feature.rb +84 -84
  450. data/lib/resources/windows_hotfix.rb +35 -35
  451. data/lib/resources/windows_task.rb +105 -105
  452. data/lib/resources/wmi.rb +113 -113
  453. data/lib/resources/x509_certificate.rb +143 -143
  454. data/lib/resources/xinetd.rb +111 -111
  455. data/lib/resources/xml.rb +46 -46
  456. data/lib/resources/yaml.rb +47 -47
  457. data/lib/resources/yum.rb +180 -180
  458. data/lib/resources/zfs_dataset.rb +60 -60
  459. data/lib/resources/zfs_pool.rb +49 -49
  460. data/lib/source_readers/flat.rb +39 -39
  461. data/lib/source_readers/inspec.rb +75 -75
  462. data/lib/utils/command_wrapper.rb +27 -27
  463. data/lib/utils/convert.rb +12 -12
  464. data/lib/utils/database_helpers.rb +77 -77
  465. data/lib/utils/erlang_parser.rb +192 -192
  466. data/lib/utils/filter.rb +272 -272
  467. data/lib/utils/filter_array.rb +27 -27
  468. data/lib/utils/find_files.rb +44 -44
  469. data/lib/utils/hash.rb +41 -41
  470. data/lib/utils/json_log.rb +18 -18
  471. data/lib/utils/latest_version.rb +22 -22
  472. data/lib/utils/modulator.rb +12 -12
  473. data/lib/utils/nginx_parser.rb +85 -85
  474. data/lib/utils/object_traversal.rb +49 -49
  475. data/lib/utils/parser.rb +274 -274
  476. data/lib/utils/plugin_registry.rb +93 -93
  477. data/lib/utils/simpleconfig.rb +120 -120
  478. data/lib/utils/spdx.rb +13 -13
  479. data/lib/utils/spdx.txt +343 -343
  480. metadata +1 -1
@@ -1,68 +1,68 @@
1
- ---
2
- title: About the auditd_conf Resource
3
- platform: linux
4
- ---
5
-
6
- # auditd_conf
7
-
8
- Use the `auditd_conf` InSpec audit resource to test the configuration settings for the audit daemon. This file is typically located under `/etc/audit/auditd.conf'` on Unix and Linux platforms.
9
-
10
- <br>
11
-
12
- ## Syntax
13
-
14
- A `auditd_conf` resource block declares configuration settings that should be tested:
15
-
16
- describe auditd_conf('path') do
17
- its('keyword') { should cmp 'value' }
18
- end
19
-
20
- where
21
-
22
- * `'keyword'` is a configuration setting defined in the `auditd.conf` configuration file
23
- * `('path')` is the non-default path to the `auditd.conf` configuration file
24
- * `{ should cmp 'value' }` is the value that is expected
25
-
26
- <br>
27
-
28
- ## Properties
29
-
30
- This matcher will match any property listed in the `auditd.conf` configuration file. Property names and expected values are case-insensitive:
31
-
32
- * `admin_space_left`, `admin_space_left_action`, `action_mail_acct`, `disk_error_action`, `disk_full_action`, `flush`, `freq`, `log_file`, `log_format`, `max_log_file`, `max_log_file_action`, `num_logs`, `space_left`, `space_left_action`
33
-
34
- ## Property Examples
35
-
36
- The following examples show how to use this InSpec audit resource.
37
-
38
- ### Test the auditd.conf file
39
-
40
- describe auditd_conf do
41
- its('log_file') { should cmp '/full/path/to/file' }
42
- its('log_format') { should cmp 'raw' }
43
- its('flush') { should cmp 'none' }
44
- its('freq') { should cmp 1 }
45
- its('num_logs') { should cmp 0 }
46
- its('max_log_file') { should cmp 6 }
47
- its('max_log_file_action') { should cmp 'email' }
48
- its('space_left') { should cmp 2 }
49
- its('action_mail_acct') { should cmp 'root' }
50
- its('space_left_action') { should cmp 'email' }
51
- its('admin_space_left') { should cmp 1 }
52
- its('admin_space_left_action') { should cmp 'halt' }
53
- its('disk_full_action') { should cmp 'halt' }
54
- its('disk_error_action') { should cmp 'halt' }
55
- end
56
-
57
- <br>
58
-
59
- ## Matchers
60
-
61
- For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
62
-
63
- ### `cmp`
64
-
65
- The `cmp` matcher compares values across types.
66
-
67
- its('freq') { should cmp 1 }
68
-
1
+ ---
2
+ title: About the auditd_conf Resource
3
+ platform: linux
4
+ ---
5
+
6
+ # auditd_conf
7
+
8
+ Use the `auditd_conf` InSpec audit resource to test the configuration settings for the audit daemon. This file is typically located under `/etc/audit/auditd.conf'` on Unix and Linux platforms.
9
+
10
+ <br>
11
+
12
+ ## Syntax
13
+
14
+ A `auditd_conf` resource block declares configuration settings that should be tested:
15
+
16
+ describe auditd_conf('path') do
17
+ its('keyword') { should cmp 'value' }
18
+ end
19
+
20
+ where
21
+
22
+ * `'keyword'` is a configuration setting defined in the `auditd.conf` configuration file
23
+ * `('path')` is the non-default path to the `auditd.conf` configuration file
24
+ * `{ should cmp 'value' }` is the value that is expected
25
+
26
+ <br>
27
+
28
+ ## Properties
29
+
30
+ This matcher will match any property listed in the `auditd.conf` configuration file. Property names and expected values are case-insensitive:
31
+
32
+ * `admin_space_left`, `admin_space_left_action`, `action_mail_acct`, `disk_error_action`, `disk_full_action`, `flush`, `freq`, `log_file`, `log_format`, `max_log_file`, `max_log_file_action`, `num_logs`, `space_left`, `space_left_action`
33
+
34
+ ## Property Examples
35
+
36
+ The following examples show how to use this InSpec audit resource.
37
+
38
+ ### Test the auditd.conf file
39
+
40
+ describe auditd_conf do
41
+ its('log_file') { should cmp '/full/path/to/file' }
42
+ its('log_format') { should cmp 'raw' }
43
+ its('flush') { should cmp 'none' }
44
+ its('freq') { should cmp 1 }
45
+ its('num_logs') { should cmp 0 }
46
+ its('max_log_file') { should cmp 6 }
47
+ its('max_log_file_action') { should cmp 'email' }
48
+ its('space_left') { should cmp 2 }
49
+ its('action_mail_acct') { should cmp 'root' }
50
+ its('space_left_action') { should cmp 'email' }
51
+ its('admin_space_left') { should cmp 1 }
52
+ its('admin_space_left_action') { should cmp 'halt' }
53
+ its('disk_full_action') { should cmp 'halt' }
54
+ its('disk_error_action') { should cmp 'halt' }
55
+ end
56
+
57
+ <br>
58
+
59
+ ## Matchers
60
+
61
+ For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
62
+
63
+ ### `cmp`
64
+
65
+ The `cmp` matcher compares values across types.
66
+
67
+ its('freq') { should cmp 1 }
68
+
@@ -1,140 +1,140 @@
1
- ---
2
- title: About the aws_cloudtrail_trail Resource
3
- platform: aws
4
- ---
5
-
6
- # aws\_cloudtrail\_trail
7
-
8
- Use the `aws_cloudtrail_trail` InSpec audit resource to test properties of a single AWS Cloudtrail Trail.
9
-
10
- AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account. With CloudTrail, you can log, continuously monitor, and retain account activity related to actions across your AWS infrastructure. CloudTrail provides event history of your AWS account activity, including actions taken through the AWS Management Console, AWS SDKs, command line tools, and other AWS services. This event history simplifies security analysis, resource change tracking, and troubleshooting.
11
-
12
- Each AWS Cloudtrail Trail is uniquely identified by its `trail_name` or `trail_arn`.
13
-
14
- <br>
15
-
16
- ## Syntax
17
-
18
- An `aws_cloudtrail_trail` resource block identifies a trail by `trail_name`.
19
-
20
- # Find a trail by name
21
- describe aws_cloudtrail_trail('trail-name') do
22
- it { should exist }
23
- end
24
-
25
- # Hash syntax for trail name
26
- describe aws_cloudtrail_trail(trail_name: 'trail-name') do
27
- it { should exist }
28
- end
29
-
30
- <br>
31
-
32
- ## Examples
33
-
34
- The following examples show how to use this InSpec audit resource.
35
-
36
- ### Test that the specified trail does exist
37
-
38
- describe aws_cloudtrail_trail('trail-name') do
39
- it { should exist }
40
- end
41
-
42
- ### Test that the specified trail is encrypted using SSE-KMS
43
-
44
- describe aws_cloudtrail_trail('trail-name') do
45
- it { should be_encrypted }
46
- end
47
-
48
- ### Test that the specified trail is a multi region trail
49
-
50
- describe aws_cloudtrail_trail('trail-name') do
51
- it { should be_multi_region_trail }
52
- end
53
-
54
- <br>
55
-
56
- ## Properties
57
-
58
- * `s3_bucket_name`, `trail_arn`, `cloud_watch_logs_role_arn`, `cloud_watch_logs_log_group_arn`, `kms_key_id`, `home_region`,
59
-
60
- <br>
61
-
62
- ## Property Examples
63
-
64
- ### s3\_bucket\_name
65
-
66
- Specifies the name of the Amazon S3 bucket designated for publishing log files.
67
-
68
- describe aws_cloudtrail_trail('trail-name') do
69
- its('s3_bucket_name') { should cmp "s3-bucket-name" }
70
- end
71
-
72
- ### trail\_arn
73
-
74
- The ARN identifier of the specified trail. An ARN uniquely identifies the trail within AWS.
75
-
76
- describe aws_cloudtrail_trail('trail-name') do
77
- its('trail_arn') { should cmp "arn:aws:cloudtrail:us-east-1:484747447281:trail/trail-name" }
78
- end
79
-
80
- ### cloud\_watch\_logs\_role\_arn
81
-
82
- Specifies the role for the CloudWatch Logs endpoint to assume to write to a user\'s log group.
83
-
84
- describe aws_cloudtrail_trail('trail-name') do
85
- its('cloud_watch_logs_role_arn') { should include "arn:aws:iam:::role/CloudTrail_CloudWatchLogs_Role" }
86
- end
87
-
88
- ### cloud\_watch\_logs\_log\_group\_arn
89
-
90
- Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.
91
-
92
- describe aws_cloudtrail_trail('trail-name') do
93
- its('cloud_watch_logs_log_group_arn') { should include "arn:aws:logs:us-east-1::log-group:test:*" }
94
- end
95
-
96
- ### kms\_key\_id
97
-
98
- Specifies the KMS key ID to used to encrypt the logs delivered by CloudTrail.
99
-
100
- describe aws_cloudtrail_trail('trail-name') do
101
- its('kms_key_id') { should include "key-arn" }
102
- end
103
-
104
- ### home\_region
105
-
106
- Specifies the region in which the trail was created.
107
-
108
- describe aws_cloudtrail_trail('trail-name') do
109
- its('home_region') { should include "us-east-1" }
110
- end
111
-
112
- <br>
113
-
114
- ## Matchers
115
-
116
- This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
117
-
118
- ### be\_multi\_region\_trail
119
-
120
- The test will pass if the identified trail is a multi region trail.
121
-
122
- describe aws_cloudtrail_trail('trail-name') do
123
- it { should be_multi_region_trail }
124
- end
125
-
126
- ### be\_encrypted
127
-
128
- The test will pass if the logs delivered by the identified trail is encrypted.
129
-
130
- describe aws_cloudtrail_trail('trail-name') do
131
- it { should be_encrypted }
132
- end
133
-
134
- ### be\_log\_file\_validation\_enabled
135
-
136
- The test will pass if the identified trail has log file integrity validation is enabled.
137
-
138
- describe aws_cloudtrail_trail('trail-name') do
139
- it { should be_log_file_validation_enabled }
140
- end
1
+ ---
2
+ title: About the aws_cloudtrail_trail Resource
3
+ platform: aws
4
+ ---
5
+
6
+ # aws\_cloudtrail\_trail
7
+
8
+ Use the `aws_cloudtrail_trail` InSpec audit resource to test properties of a single AWS Cloudtrail Trail.
9
+
10
+ AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account. With CloudTrail, you can log, continuously monitor, and retain account activity related to actions across your AWS infrastructure. CloudTrail provides event history of your AWS account activity, including actions taken through the AWS Management Console, AWS SDKs, command line tools, and other AWS services. This event history simplifies security analysis, resource change tracking, and troubleshooting.
11
+
12
+ Each AWS Cloudtrail Trail is uniquely identified by its `trail_name` or `trail_arn`.
13
+
14
+ <br>
15
+
16
+ ## Syntax
17
+
18
+ An `aws_cloudtrail_trail` resource block identifies a trail by `trail_name`.
19
+
20
+ # Find a trail by name
21
+ describe aws_cloudtrail_trail('trail-name') do
22
+ it { should exist }
23
+ end
24
+
25
+ # Hash syntax for trail name
26
+ describe aws_cloudtrail_trail(trail_name: 'trail-name') do
27
+ it { should exist }
28
+ end
29
+
30
+ <br>
31
+
32
+ ## Examples
33
+
34
+ The following examples show how to use this InSpec audit resource.
35
+
36
+ ### Test that the specified trail does exist
37
+
38
+ describe aws_cloudtrail_trail('trail-name') do
39
+ it { should exist }
40
+ end
41
+
42
+ ### Test that the specified trail is encrypted using SSE-KMS
43
+
44
+ describe aws_cloudtrail_trail('trail-name') do
45
+ it { should be_encrypted }
46
+ end
47
+
48
+ ### Test that the specified trail is a multi-region trail
49
+
50
+ describe aws_cloudtrail_trail('trail-name') do
51
+ it { should be_multi_region_trail }
52
+ end
53
+
54
+ <br>
55
+
56
+ ## Properties
57
+
58
+ * `s3_bucket_name`, `trail_arn`, `cloud_watch_logs_role_arn`, `cloud_watch_logs_log_group_arn`, `kms_key_id`, `home_region`,
59
+
60
+ <br>
61
+
62
+ ## Property Examples
63
+
64
+ ### s3\_bucket\_name
65
+
66
+ Specifies the name of the Amazon S3 bucket designated for publishing log files.
67
+
68
+ describe aws_cloudtrail_trail('trail-name') do
69
+ its('s3_bucket_name') { should cmp "s3-bucket-name" }
70
+ end
71
+
72
+ ### trail\_arn
73
+
74
+ The ARN identifier of the specified trail. An ARN uniquely identifies the trail within AWS.
75
+
76
+ describe aws_cloudtrail_trail('trail-name') do
77
+ its('trail_arn') { should cmp "arn:aws:cloudtrail:us-east-1:484747447281:trail/trail-name" }
78
+ end
79
+
80
+ ### cloud\_watch\_logs\_role\_arn
81
+
82
+ Specifies the role for the CloudWatch Logs endpoint to assume to write to a user\'s log group.
83
+
84
+ describe aws_cloudtrail_trail('trail-name') do
85
+ its('cloud_watch_logs_role_arn') { should include "arn:aws:iam:::role/CloudTrail_CloudWatchLogs_Role" }
86
+ end
87
+
88
+ ### cloud\_watch\_logs\_log\_group\_arn
89
+
90
+ Specifies a log group name using an Amazon Resource Name (ARN), a unique identifier that represents the log group to which CloudTrail logs will be delivered.
91
+
92
+ describe aws_cloudtrail_trail('trail-name') do
93
+ its('cloud_watch_logs_log_group_arn') { should include "arn:aws:logs:us-east-1::log-group:test:*" }
94
+ end
95
+
96
+ ### kms\_key\_id
97
+
98
+ Specifies the KMS key ID to used to encrypt the logs delivered by CloudTrail.
99
+
100
+ describe aws_cloudtrail_trail('trail-name') do
101
+ its('kms_key_id') { should include "key-arn" }
102
+ end
103
+
104
+ ### home\_region
105
+
106
+ Specifies the region in which the trail was created.
107
+
108
+ describe aws_cloudtrail_trail('trail-name') do
109
+ its('home_region') { should include "us-east-1" }
110
+ end
111
+
112
+ <br>
113
+
114
+ ## Matchers
115
+
116
+ This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
117
+
118
+ ### be\_multi\_region\_trail
119
+
120
+ The test will pass if the identified trail is a multi-region trail.
121
+
122
+ describe aws_cloudtrail_trail('trail-name') do
123
+ it { should be_multi_region_trail }
124
+ end
125
+
126
+ ### be\_encrypted
127
+
128
+ The test will pass if the logs delivered by the identified trail is encrypted.
129
+
130
+ describe aws_cloudtrail_trail('trail-name') do
131
+ it { should be_encrypted }
132
+ end
133
+
134
+ ### be\_log\_file\_validation\_enabled
135
+
136
+ The test will pass if the identified trail has log file integrity validation is enabled.
137
+
138
+ describe aws_cloudtrail_trail('trail-name') do
139
+ it { should be_log_file_validation_enabled }
140
+ end
@@ -1,81 +1,81 @@
1
- ---
2
- title: About the aws_cloudtrail_trails Resource
3
- platform: aws
4
- ---
5
-
6
- # aws\_cloudtrail\_trails
7
-
8
- Use the `aws_cloudtrail_trails` InSpec audit resource to test properties of some or all AWS CloudTrail Trails.
9
-
10
- AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account. With CloudTrail, you can log, continuously monitor, and retain account activity related to actions across your AWS infrastructure. CloudTrail provides event history of your AWS account activity, including actions taken through the AWS Management Console, AWS SDKs, command line tools, and other AWS services. This event history simplifies security analysis, resource change tracking, and troubleshooting.
11
-
12
- Each AWS CloudTrail Trails is uniquely identified by its trail name or trail arn.
13
-
14
- <br>
15
-
16
- ## Syntax
17
-
18
- An `aws_cloudtrail_trails` resource block collects a group of CloudTrail Trails and then tests that group.
19
-
20
- # Verify the number of CloudTrail Trails in the AWS account
21
- describe aws_cloudtrail_trails do
22
- its('entries.count') { should cmp 10 }
23
- end
24
-
25
- <br>
26
-
27
- ## Examples
28
-
29
- The following examples show how to use this InSpec audit resource.
30
-
31
- As this is the initial release of `aws_cloudtrail_trails`, its limited functionality precludes examples.
32
-
33
- <br>
34
-
35
- ## Properties
36
- * `entries`, `names`, `trail_arns`
37
-
38
- <br>
39
-
40
- ## Property Examples
41
-
42
- ### entries
43
-
44
- Provides access to the raw results of the query. This can be useful for checking counts and other advanced operations.
45
-
46
- # Allow at most 100 CloudTrail Trails on the account
47
- describe aws_cloudtrail_trails do
48
- its('entries.count') { should be <= 100}
49
- end
50
-
51
- ### names
52
-
53
- Provides a list of trail names for all CloudTrail Trails in the AWS account.
54
-
55
- describe aws_cloudtrail_trails do
56
- its('names') { should include('trail-1') }
57
- end
58
-
59
- ### trail\_arns
60
-
61
- Provides a list of trail arns for all CloudTrail Trails in the AWS account.
62
-
63
- describe aws_cloudtrail_trails do
64
- its('trail_arns') { should include('arn:aws:cloudtrail:us-east-1::trail/trail-1') }
65
- end
66
-
67
- <br>
68
-
69
- ## Matchers
70
-
71
- This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
72
-
73
- ### exists
74
-
75
- The control will pass if the filter returns at least one result. Use `should_not` if you expect zero matches.
76
-
77
- # Verify that at least one CloudTrail Trail exists.
78
- describe aws_cloudtrail_trails
79
- it { should exist }
80
- end
81
-
1
+ ---
2
+ title: About the aws_cloudtrail_trails Resource
3
+ platform: aws
4
+ ---
5
+
6
+ # aws\_cloudtrail\_trails
7
+
8
+ Use the `aws_cloudtrail_trails` InSpec audit resource to test properties of some or all AWS CloudTrail Trails.
9
+
10
+ AWS CloudTrail is a service that enables governance, compliance, operational auditing, and risk auditing of your AWS account. With CloudTrail, you can log, continuously monitor, and retain account activity related to actions across your AWS infrastructure. CloudTrail provides event history of your AWS account activity, including actions taken through the AWS Management Console, AWS SDKs, command line tools, and other AWS services. This event history simplifies security analysis, resource change tracking, and troubleshooting.
11
+
12
+ Each AWS CloudTrail Trails is uniquely identified by its trail name or trail arn.
13
+
14
+ <br>
15
+
16
+ ## Syntax
17
+
18
+ An `aws_cloudtrail_trails` resource block collects a group of CloudTrail Trails and then tests that group.
19
+
20
+ # Verify the number of CloudTrail Trails in the AWS account
21
+ describe aws_cloudtrail_trails do
22
+ its('entries.count') { should cmp 10 }
23
+ end
24
+
25
+ <br>
26
+
27
+ ## Examples
28
+
29
+ The following examples show how to use this InSpec audit resource.
30
+
31
+ As this is the initial release of `aws_cloudtrail_trails`, its limited functionality precludes examples.
32
+
33
+ <br>
34
+
35
+ ## Properties
36
+ * `entries`, `names`, `trail_arns`
37
+
38
+ <br>
39
+
40
+ ## Property Examples
41
+
42
+ ### entries
43
+
44
+ Provides access to the raw results of the query. This can be useful for checking counts and other advanced operations.
45
+
46
+ # Allow at most 100 CloudTrail Trails on the account
47
+ describe aws_cloudtrail_trails do
48
+ its('entries.count') { should be <= 100}
49
+ end
50
+
51
+ ### names
52
+
53
+ Provides a list of trail names for all CloudTrail Trails in the AWS account.
54
+
55
+ describe aws_cloudtrail_trails do
56
+ its('names') { should include('trail-1') }
57
+ end
58
+
59
+ ### trail\_arns
60
+
61
+ Provides a list of trail arns for all CloudTrail Trails in the AWS account.
62
+
63
+ describe aws_cloudtrail_trails do
64
+ its('trail_arns') { should include('arn:aws:cloudtrail:us-east-1::trail/trail-1') }
65
+ end
66
+
67
+ <br>
68
+
69
+ ## Matchers
70
+
71
+ This InSpec audit resource has the following special matchers. For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
72
+
73
+ ### exists
74
+
75
+ The control will pass if the filter returns at least one result. Use `should_not` if you expect zero matches.
76
+
77
+ # Verify that at least one CloudTrail Trail exists.
78
+ describe aws_cloudtrail_trails
79
+ it { should exist }
80
+ end
81
+