inspec 2.0.32 → 2.0.45
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.
- checksums.yaml +4 -4
- data/.rubocop.yml +101 -101
- data/CHANGELOG.md +2991 -2970
- data/Gemfile +55 -55
- data/LICENSE +14 -14
- data/MAINTAINERS.md +33 -33
- data/MAINTAINERS.toml +52 -52
- data/README.md +446 -437
- data/Rakefile +322 -322
- data/bin/inspec +12 -12
- data/docs/.gitignore +2 -2
- data/docs/README.md +40 -40
- data/docs/dsl_inspec.md +258 -258
- data/docs/dsl_resource.md +93 -93
- data/docs/glossary.md +99 -99
- data/docs/habitat.md +191 -191
- data/docs/inspec_and_friends.md +107 -107
- data/docs/matchers.md +169 -168
- data/docs/migration.md +293 -293
- data/docs/platforms.md +118 -118
- data/docs/plugin_kitchen_inspec.md +49 -49
- data/docs/profiles.md +370 -370
- data/docs/reporters.md +105 -105
- data/docs/resources/aide_conf.md.erb +75 -75
- data/docs/resources/apache.md.erb +67 -67
- data/docs/resources/apache_conf.md.erb +68 -68
- data/docs/resources/apt.md.erb +71 -71
- data/docs/resources/audit_policy.md.erb +47 -47
- data/docs/resources/auditd.md.erb +79 -79
- data/docs/resources/auditd_conf.md.erb +68 -68
- data/docs/resources/aws_cloudtrail_trail.md.erb +140 -140
- data/docs/resources/aws_cloudtrail_trails.md.erb +81 -81
- data/docs/resources/aws_cloudwatch_alarm.md.erb +86 -86
- data/docs/resources/aws_cloudwatch_log_metric_filter.md.erb +151 -151
- data/docs/resources/aws_config_recorder.md.erb +71 -71
- data/docs/resources/aws_ec2_instance.md.erb +106 -106
- data/docs/resources/aws_iam_access_key.md.erb +123 -123
- data/docs/resources/aws_iam_access_keys.md.erb +198 -198
- data/docs/resources/aws_iam_group.md.erb +46 -46
- data/docs/resources/aws_iam_groups.md.erb +43 -43
- data/docs/resources/aws_iam_password_policy.md.erb +76 -76
- data/docs/resources/aws_iam_policies.md.erb +82 -82
- data/docs/resources/aws_iam_policy.md.erb +144 -144
- data/docs/resources/aws_iam_role.md.erb +63 -63
- data/docs/resources/aws_iam_root_user.md.erb +58 -58
- data/docs/resources/aws_iam_user.md.erb +64 -64
- data/docs/resources/aws_iam_users.md.erb +89 -89
- data/docs/resources/aws_kms_keys.md.erb +84 -84
- data/docs/resources/aws_route_table.md.erb +47 -47
- data/docs/resources/aws_s3_bucket.md.erb +134 -134
- data/docs/resources/aws_security_group.md.erb +151 -151
- data/docs/resources/aws_security_groups.md.erb +91 -91
- data/docs/resources/aws_sns_topic.md.erb +63 -63
- data/docs/resources/aws_subnet.md.erb +133 -133
- data/docs/resources/aws_subnets.md.erb +126 -126
- data/docs/resources/aws_vpc.md.erb +120 -120
- data/docs/resources/aws_vpcs.md.erb +48 -48
- data/docs/resources/azure_generic_resource.md.erb +170 -170
- data/docs/resources/azure_resource_group.md.erb +284 -284
- data/docs/resources/azure_virtual_machine.md.erb +347 -347
- data/docs/resources/azure_virtual_machine_data_disk.md.erb +224 -224
- data/docs/resources/bash.md.erb +75 -75
- data/docs/resources/bond.md.erb +90 -90
- data/docs/resources/bridge.md.erb +57 -57
- data/docs/resources/bsd_service.md.erb +67 -67
- data/docs/resources/command.md.erb +138 -138
- data/docs/resources/cpan.md.erb +79 -79
- data/docs/resources/cran.md.erb +64 -64
- data/docs/resources/crontab.md.erb +89 -89
- data/docs/resources/csv.md.erb +54 -54
- data/docs/resources/dh_params.md.erb +205 -205
- data/docs/resources/directory.md.erb +30 -30
- data/docs/resources/docker.md.erb +219 -219
- data/docs/resources/docker_container.md.erb +104 -104
- data/docs/resources/docker_image.md.erb +94 -94
- data/docs/resources/docker_service.md.erb +114 -114
- data/docs/resources/elasticsearch.md.erb +242 -242
- data/docs/resources/etc_fstab.md.erb +125 -125
- data/docs/resources/etc_group.md.erb +75 -75
- data/docs/resources/etc_hosts.md.erb +78 -78
- data/docs/resources/etc_hosts_allow.md.erb +74 -74
- data/docs/resources/etc_hosts_deny.md.erb +74 -74
- data/docs/resources/file.md.erb +526 -515
- data/docs/resources/filesystem.md.erb +41 -41
- data/docs/resources/firewalld.md.erb +107 -107
- data/docs/resources/gem.md.erb +79 -79
- data/docs/resources/group.md.erb +61 -61
- data/docs/resources/grub_conf.md.erb +101 -101
- data/docs/resources/host.md.erb +86 -86
- data/docs/resources/http.md.erb +196 -196
- data/docs/resources/iis_app.md.erb +122 -122
- data/docs/resources/iis_site.md.erb +135 -135
- data/docs/resources/inetd_conf.md.erb +94 -94
- data/docs/resources/ini.md.erb +76 -76
- data/docs/resources/interface.md.erb +58 -58
- data/docs/resources/iptables.md.erb +64 -64
- data/docs/resources/json.md.erb +63 -63
- data/docs/resources/kernel_module.md.erb +120 -120
- data/docs/resources/kernel_parameter.md.erb +53 -53
- data/docs/resources/key_rsa.md.erb +85 -85
- data/docs/resources/launchd_service.md.erb +57 -57
- data/docs/resources/limits_conf.md.erb +75 -75
- data/docs/resources/login_def.md.erb +71 -71
- data/docs/resources/mount.md.erb +69 -69
- data/docs/resources/mssql_session.md.erb +60 -60
- data/docs/resources/mysql_conf.md.erb +99 -99
- data/docs/resources/mysql_session.md.erb +74 -74
- data/docs/resources/nginx.md.erb +79 -79
- data/docs/resources/nginx_conf.md.erb +128 -128
- data/docs/resources/npm.md.erb +60 -60
- data/docs/resources/ntp_conf.md.erb +60 -60
- data/docs/resources/oneget.md.erb +53 -53
- data/docs/resources/oracledb_session.md.erb +52 -52
- data/docs/resources/os.md.erb +141 -141
- data/docs/resources/os_env.md.erb +78 -78
- data/docs/resources/package.md.erb +120 -120
- data/docs/resources/packages.md.erb +67 -67
- data/docs/resources/parse_config.md.erb +103 -103
- data/docs/resources/parse_config_file.md.erb +138 -138
- data/docs/resources/passwd.md.erb +141 -141
- data/docs/resources/pip.md.erb +67 -67
- data/docs/resources/port.md.erb +137 -137
- data/docs/resources/postgres_conf.md.erb +79 -79
- data/docs/resources/postgres_hba_conf.md.erb +93 -93
- data/docs/resources/postgres_ident_conf.md.erb +76 -76
- data/docs/resources/postgres_session.md.erb +69 -69
- data/docs/resources/powershell.md.erb +102 -102
- data/docs/resources/processes.md.erb +109 -109
- data/docs/resources/rabbitmq_config.md.erb +41 -41
- data/docs/resources/registry_key.md.erb +158 -158
- data/docs/resources/runit_service.md.erb +57 -57
- data/docs/resources/security_policy.md.erb +47 -47
- data/docs/resources/service.md.erb +121 -121
- data/docs/resources/shadow.md.erb +146 -144
- data/docs/resources/ssh_config.md.erb +80 -80
- data/docs/resources/sshd_config.md.erb +83 -83
- data/docs/resources/ssl.md.erb +119 -119
- data/docs/resources/sys_info.md.erb +42 -42
- data/docs/resources/systemd_service.md.erb +57 -57
- data/docs/resources/sysv_service.md.erb +57 -57
- data/docs/resources/upstart_service.md.erb +57 -57
- data/docs/resources/user.md.erb +140 -140
- data/docs/resources/users.md.erb +127 -127
- data/docs/resources/vbscript.md.erb +55 -55
- data/docs/resources/virtualization.md.erb +57 -57
- data/docs/resources/windows_feature.md.erb +47 -47
- data/docs/resources/windows_hotfix.md.erb +53 -53
- data/docs/resources/windows_task.md.erb +95 -95
- data/docs/resources/wmi.md.erb +81 -81
- data/docs/resources/x509_certificate.md.erb +151 -151
- data/docs/resources/xinetd_conf.md.erb +156 -156
- data/docs/resources/xml.md.erb +85 -85
- data/docs/resources/yaml.md.erb +69 -69
- data/docs/resources/yum.md.erb +98 -98
- data/docs/resources/zfs_dataset.md.erb +53 -53
- data/docs/resources/zfs_pool.md.erb +47 -47
- data/docs/ruby_usage.md +203 -203
- data/docs/shared/matcher_be.md.erb +1 -1
- data/docs/shared/matcher_cmp.md.erb +43 -43
- data/docs/shared/matcher_eq.md.erb +3 -3
- data/docs/shared/matcher_include.md.erb +1 -1
- data/docs/shared/matcher_match.md.erb +1 -1
- data/docs/shell.md +215 -215
- data/examples/README.md +8 -8
- data/examples/inheritance/README.md +65 -65
- data/examples/inheritance/controls/example.rb +14 -14
- data/examples/inheritance/inspec.yml +15 -15
- data/examples/kitchen-ansible/.kitchen.yml +25 -25
- data/examples/kitchen-ansible/Gemfile +19 -19
- data/examples/kitchen-ansible/README.md +53 -53
- data/examples/kitchen-ansible/files/nginx.repo +6 -6
- data/examples/kitchen-ansible/tasks/main.yml +16 -16
- data/examples/kitchen-ansible/test/integration/default/default.yml +5 -5
- data/examples/kitchen-ansible/test/integration/default/web_spec.rb +28 -28
- data/examples/kitchen-chef/.kitchen.yml +20 -20
- data/examples/kitchen-chef/Berksfile +3 -3
- data/examples/kitchen-chef/Gemfile +19 -19
- data/examples/kitchen-chef/README.md +27 -27
- data/examples/kitchen-chef/metadata.rb +7 -7
- data/examples/kitchen-chef/recipes/default.rb +6 -6
- data/examples/kitchen-chef/recipes/nginx.rb +30 -30
- data/examples/kitchen-chef/test/integration/default/web_spec.rb +28 -28
- data/examples/kitchen-puppet/.kitchen.yml +22 -22
- data/examples/kitchen-puppet/Gemfile +20 -20
- data/examples/kitchen-puppet/Puppetfile +25 -25
- data/examples/kitchen-puppet/README.md +53 -53
- data/examples/kitchen-puppet/manifests/site.pp +33 -33
- data/examples/kitchen-puppet/metadata.json +11 -11
- data/examples/kitchen-puppet/test/integration/default/web_spec.rb +28 -28
- data/examples/meta-profile/README.md +37 -37
- data/examples/meta-profile/controls/example.rb +13 -13
- data/examples/meta-profile/inspec.yml +13 -13
- data/examples/profile-attribute.yml +2 -2
- data/examples/profile-attribute/README.md +14 -14
- data/examples/profile-attribute/controls/example.rb +11 -11
- data/examples/profile-attribute/inspec.yml +8 -8
- data/examples/profile-aws/controls/iam_password_policy_expiration.rb +8 -8
- data/examples/profile-aws/controls/iam_password_policy_max_age.rb +8 -8
- data/examples/profile-aws/controls/iam_root_user_mfa.rb +8 -8
- data/examples/profile-aws/controls/iam_users_access_key_age.rb +8 -8
- data/examples/profile-aws/controls/iam_users_console_users_mfa.rb +8 -8
- data/examples/profile-aws/inspec.yml +11 -11
- data/examples/profile-azure/controls/azure_resource_group_example.rb +24 -24
- data/examples/profile-azure/controls/azure_vm_example.rb +29 -29
- data/examples/profile-azure/inspec.yml +11 -11
- data/examples/profile-sensitive/README.md +29 -29
- data/examples/profile-sensitive/controls/sensitive-failures.rb +9 -9
- data/examples/profile-sensitive/controls/sensitive.rb +9 -9
- data/examples/profile-sensitive/inspec.yml +8 -8
- data/examples/profile/README.md +48 -48
- data/examples/profile/controls/example.rb +23 -23
- data/examples/profile/controls/gordon.rb +36 -36
- data/examples/profile/controls/meta.rb +34 -34
- data/examples/profile/inspec.yml +10 -10
- data/examples/profile/libraries/gordon_config.rb +53 -53
- data/inspec.gemspec +47 -47
- data/lib/bundles/README.md +3 -3
- data/lib/bundles/inspec-artifact.rb +7 -7
- data/lib/bundles/inspec-artifact/README.md +1 -1
- data/lib/bundles/inspec-artifact/cli.rb +277 -277
- data/lib/bundles/inspec-compliance.rb +16 -16
- data/lib/bundles/inspec-compliance/.kitchen.yml +20 -20
- data/lib/bundles/inspec-compliance/README.md +185 -185
- data/lib/bundles/inspec-compliance/api.rb +316 -316
- data/lib/bundles/inspec-compliance/api/login.rb +152 -152
- data/lib/bundles/inspec-compliance/bootstrap.sh +41 -41
- data/lib/bundles/inspec-compliance/cli.rb +254 -254
- data/lib/bundles/inspec-compliance/configuration.rb +103 -103
- data/lib/bundles/inspec-compliance/http.rb +86 -86
- data/lib/bundles/inspec-compliance/support.rb +36 -36
- data/lib/bundles/inspec-compliance/target.rb +98 -98
- data/lib/bundles/inspec-compliance/test/integration/default/cli.rb +93 -93
- data/lib/bundles/inspec-habitat.rb +12 -12
- data/lib/bundles/inspec-habitat/cli.rb +36 -36
- data/lib/bundles/inspec-habitat/log.rb +10 -10
- data/lib/bundles/inspec-habitat/profile.rb +390 -390
- data/lib/bundles/inspec-init.rb +8 -8
- data/lib/bundles/inspec-init/README.md +31 -31
- data/lib/bundles/inspec-init/cli.rb +97 -97
- data/lib/bundles/inspec-init/templates/profile/README.md +3 -3
- data/lib/bundles/inspec-init/templates/profile/controls/example.rb +19 -19
- data/lib/bundles/inspec-init/templates/profile/inspec.yml +8 -8
- data/lib/bundles/inspec-supermarket.rb +13 -13
- data/lib/bundles/inspec-supermarket/README.md +45 -45
- data/lib/bundles/inspec-supermarket/api.rb +84 -84
- data/lib/bundles/inspec-supermarket/cli.rb +73 -73
- data/lib/bundles/inspec-supermarket/target.rb +34 -34
- data/lib/fetchers/git.rb +163 -163
- data/lib/fetchers/local.rb +74 -74
- data/lib/fetchers/mock.rb +35 -35
- data/lib/fetchers/url.rb +204 -204
- data/lib/inspec.rb +24 -24
- data/lib/inspec/archive/tar.rb +29 -29
- data/lib/inspec/archive/zip.rb +19 -19
- data/lib/inspec/backend.rb +92 -92
- data/lib/inspec/base_cli.rb +355 -350
- data/lib/inspec/cached_fetcher.rb +66 -66
- data/lib/inspec/cli.rb +292 -292
- data/lib/inspec/completions/bash.sh.erb +45 -45
- data/lib/inspec/completions/fish.sh.erb +34 -34
- data/lib/inspec/completions/zsh.sh.erb +61 -61
- data/lib/inspec/control_eval_context.rb +179 -179
- data/lib/inspec/dependencies/cache.rb +72 -72
- data/lib/inspec/dependencies/dependency_set.rb +92 -92
- data/lib/inspec/dependencies/lockfile.rb +115 -115
- data/lib/inspec/dependencies/requirement.rb +123 -123
- data/lib/inspec/dependencies/resolver.rb +86 -86
- data/lib/inspec/describe.rb +27 -27
- data/lib/inspec/dsl.rb +66 -66
- data/lib/inspec/dsl_shared.rb +33 -33
- data/lib/inspec/env_printer.rb +157 -157
- data/lib/inspec/errors.rb +13 -13
- data/lib/inspec/exceptions.rb +12 -12
- data/lib/inspec/expect.rb +45 -45
- data/lib/inspec/fetcher.rb +45 -45
- data/lib/inspec/file_provider.rb +275 -275
- data/lib/inspec/formatters.rb +3 -3
- data/lib/inspec/formatters/base.rb +250 -250
- data/lib/inspec/formatters/json_rspec.rb +20 -20
- data/lib/inspec/formatters/show_progress.rb +12 -12
- data/lib/inspec/library_eval_context.rb +58 -58
- data/lib/inspec/log.rb +11 -11
- data/lib/inspec/metadata.rb +247 -247
- data/lib/inspec/method_source.rb +24 -24
- data/lib/inspec/objects.rb +14 -14
- data/lib/inspec/objects/attribute.rb +65 -65
- data/lib/inspec/objects/control.rb +61 -61
- data/lib/inspec/objects/describe.rb +92 -92
- data/lib/inspec/objects/each_loop.rb +36 -36
- data/lib/inspec/objects/list.rb +15 -15
- data/lib/inspec/objects/or_test.rb +40 -40
- data/lib/inspec/objects/ruby_helper.rb +15 -15
- data/lib/inspec/objects/tag.rb +27 -27
- data/lib/inspec/objects/test.rb +87 -87
- data/lib/inspec/objects/value.rb +27 -27
- data/lib/inspec/plugins.rb +60 -60
- data/lib/inspec/plugins/cli.rb +24 -24
- data/lib/inspec/plugins/fetcher.rb +86 -86
- data/lib/inspec/plugins/resource.rb +135 -135
- data/lib/inspec/plugins/secret.rb +15 -15
- data/lib/inspec/plugins/source_reader.rb +40 -40
- data/lib/inspec/polyfill.rb +12 -12
- data/lib/inspec/profile.rb +510 -510
- data/lib/inspec/profile_context.rb +207 -207
- data/lib/inspec/profile_vendor.rb +66 -66
- data/lib/inspec/reporters.rb +54 -50
- data/lib/inspec/reporters/base.rb +24 -24
- data/lib/inspec/reporters/cli.rb +356 -356
- data/lib/inspec/reporters/json.rb +116 -116
- data/lib/inspec/reporters/json_min.rb +48 -48
- data/lib/inspec/reporters/junit.rb +77 -77
- data/lib/inspec/require_loader.rb +33 -33
- data/lib/inspec/resource.rb +186 -186
- data/lib/inspec/rule.rb +266 -266
- data/lib/inspec/runner.rb +345 -345
- data/lib/inspec/runner_mock.rb +41 -41
- data/lib/inspec/runner_rspec.rb +175 -175
- data/lib/inspec/runtime_profile.rb +26 -26
- data/lib/inspec/schema.rb +213 -213
- data/lib/inspec/secrets.rb +19 -19
- data/lib/inspec/secrets/yaml.rb +30 -30
- data/lib/inspec/shell.rb +220 -220
- data/lib/inspec/shell_detector.rb +90 -90
- data/lib/inspec/source_reader.rb +29 -29
- data/lib/inspec/version.rb +8 -8
- data/lib/matchers/matchers.rb +339 -339
- data/lib/resource_support/aws.rb +41 -41
- data/lib/resource_support/aws/aws_backend_base.rb +12 -12
- data/lib/resource_support/aws/aws_backend_factory_mixin.rb +12 -12
- data/lib/resource_support/aws/aws_plural_resource_mixin.rb +21 -21
- data/lib/resource_support/aws/aws_resource_mixin.rb +66 -66
- data/lib/resource_support/aws/aws_singular_resource_mixin.rb +24 -24
- data/lib/resources/aide_conf.rb +159 -160
- data/lib/resources/apache.rb +48 -48
- data/lib/resources/apache_conf.rb +156 -156
- data/lib/resources/apt.rb +149 -149
- data/lib/resources/audit_policy.rb +63 -63
- data/lib/resources/auditd.rb +231 -231
- data/lib/resources/auditd_conf.rb +55 -55
- data/lib/resources/aws/aws_cloudtrail_trail.rb +77 -77
- data/lib/resources/aws/aws_cloudtrail_trails.rb +47 -47
- data/lib/resources/aws/aws_cloudwatch_alarm.rb +62 -62
- data/lib/resources/aws/aws_cloudwatch_log_metric_filter.rb +100 -100
- data/lib/resources/aws/aws_config_recorder.rb +98 -98
- data/lib/resources/aws/aws_ec2_instance.rb +157 -157
- data/lib/resources/aws/aws_iam_access_key.rb +106 -106
- data/lib/resources/aws/aws_iam_access_keys.rb +149 -144
- data/lib/resources/aws/aws_iam_group.rb +56 -56
- data/lib/resources/aws/aws_iam_groups.rb +52 -45
- data/lib/resources/aws/aws_iam_password_policy.rb +116 -116
- data/lib/resources/aws/aws_iam_policies.rb +53 -46
- data/lib/resources/aws/aws_iam_policy.rb +125 -119
- data/lib/resources/aws/aws_iam_role.rb +51 -51
- data/lib/resources/aws/aws_iam_root_user.rb +60 -60
- data/lib/resources/aws/aws_iam_user.rb +111 -111
- data/lib/resources/aws/aws_iam_users.rb +108 -96
- data/lib/resources/aws/aws_kms_keys.rb +53 -46
- data/lib/resources/aws/aws_route_table.rb +61 -61
- data/lib/resources/aws/aws_s3_bucket.rb +115 -115
- data/lib/resources/aws/aws_security_group.rb +93 -93
- data/lib/resources/aws/aws_security_groups.rb +68 -68
- data/lib/resources/aws/aws_sns_topic.rb +53 -53
- data/lib/resources/aws/aws_subnet.rb +88 -88
- data/lib/resources/aws/aws_subnets.rb +53 -53
- data/lib/resources/aws/aws_vpc.rb +69 -69
- data/lib/resources/aws/aws_vpcs.rb +45 -45
- data/lib/resources/azure/azure_backend.rb +377 -377
- data/lib/resources/azure/azure_generic_resource.rb +59 -59
- data/lib/resources/azure/azure_resource_group.rb +152 -152
- data/lib/resources/azure/azure_virtual_machine.rb +264 -264
- data/lib/resources/azure/azure_virtual_machine_data_disk.rb +136 -136
- data/lib/resources/bash.rb +35 -35
- data/lib/resources/bond.rb +68 -68
- data/lib/resources/bridge.rb +122 -122
- data/lib/resources/command.rb +73 -69
- data/lib/resources/cpan.rb +58 -58
- data/lib/resources/cran.rb +64 -64
- data/lib/resources/crontab.rb +169 -170
- data/lib/resources/csv.rb +60 -60
- data/lib/resources/dh_params.rb +82 -82
- data/lib/resources/directory.rb +25 -25
- data/lib/resources/docker.rb +236 -236
- data/lib/resources/docker_container.rb +89 -89
- data/lib/resources/docker_image.rb +83 -83
- data/lib/resources/docker_object.rb +57 -57
- data/lib/resources/docker_service.rb +90 -90
- data/lib/resources/elasticsearch.rb +169 -169
- data/lib/resources/etc_fstab.rb +101 -102
- data/lib/resources/etc_group.rb +152 -156
- data/lib/resources/etc_hosts.rb +82 -81
- data/lib/resources/etc_hosts_allow_deny.rb +122 -123
- data/lib/resources/file.rb +298 -298
- data/lib/resources/filesystem.rb +31 -31
- data/lib/resources/firewalld.rb +143 -144
- data/lib/resources/gem.rb +70 -70
- data/lib/resources/groups.rb +215 -215
- data/lib/resources/grub_conf.rb +237 -237
- data/lib/resources/host.rb +306 -300
- data/lib/resources/http.rb +251 -250
- data/lib/resources/iis_app.rb +101 -104
- data/lib/resources/iis_site.rb +148 -148
- data/lib/resources/inetd_conf.rb +62 -62
- data/lib/resources/ini.rb +29 -29
- data/lib/resources/interface.rb +129 -129
- data/lib/resources/iptables.rb +80 -69
- data/lib/resources/json.rb +117 -117
- data/lib/resources/kernel_module.rb +107 -107
- data/lib/resources/kernel_parameter.rb +58 -58
- data/lib/resources/key_rsa.rb +67 -67
- data/lib/resources/limits_conf.rb +55 -55
- data/lib/resources/login_def.rb +66 -66
- data/lib/resources/mount.rb +88 -88
- data/lib/resources/mssql_session.rb +101 -101
- data/lib/resources/mysql.rb +81 -81
- data/lib/resources/mysql_conf.rb +134 -134
- data/lib/resources/mysql_session.rb +71 -71
- data/lib/resources/nginx.rb +96 -96
- data/lib/resources/nginx_conf.rb +227 -227
- data/lib/resources/npm.rb +48 -48
- data/lib/resources/ntp_conf.rb +58 -58
- data/lib/resources/oneget.rb +71 -71
- data/lib/resources/oracledb_session.rb +139 -139
- data/lib/resources/os.rb +36 -36
- data/lib/resources/os_env.rb +76 -76
- data/lib/resources/package.rb +370 -370
- data/lib/resources/packages.rb +111 -111
- data/lib/resources/parse_config.rb +116 -116
- data/lib/resources/passwd.rb +74 -74
- data/lib/resources/pip.rb +89 -89
- data/lib/resources/platform.rb +109 -109
- data/lib/resources/port.rb +771 -771
- data/lib/resources/postgres.rb +130 -130
- data/lib/resources/postgres_conf.rb +121 -121
- data/lib/resources/postgres_hba_conf.rb +99 -100
- data/lib/resources/postgres_ident_conf.rb +76 -78
- data/lib/resources/postgres_session.rb +71 -71
- data/lib/resources/powershell.rb +53 -57
- data/lib/resources/processes.rb +204 -204
- data/lib/resources/rabbitmq_conf.rb +52 -52
- data/lib/resources/registry_key.rb +296 -296
- data/lib/resources/security_policy.rb +180 -180
- data/lib/resources/service.rb +789 -789
- data/lib/resources/shadow.rb +146 -140
- data/lib/resources/ssh_conf.rb +102 -102
- data/lib/resources/ssl.rb +99 -99
- data/lib/resources/sys_info.rb +28 -28
- data/lib/resources/toml.rb +32 -32
- data/lib/resources/users.rb +654 -654
- data/lib/resources/vbscript.rb +68 -69
- data/lib/resources/virtualization.rb +247 -247
- data/lib/resources/windows_feature.rb +84 -84
- data/lib/resources/windows_hotfix.rb +35 -35
- data/lib/resources/windows_task.rb +102 -105
- data/lib/resources/wmi.rb +110 -113
- data/lib/resources/x509_certificate.rb +143 -143
- data/lib/resources/xinetd.rb +111 -111
- data/lib/resources/xml.rb +46 -46
- data/lib/resources/yaml.rb +47 -47
- data/lib/resources/yum.rb +180 -180
- data/lib/resources/zfs_dataset.rb +60 -60
- data/lib/resources/zfs_pool.rb +49 -49
- data/lib/source_readers/flat.rb +39 -39
- data/lib/source_readers/inspec.rb +75 -75
- data/lib/utils/command_wrapper.rb +27 -27
- data/lib/utils/convert.rb +12 -12
- data/lib/utils/database_helpers.rb +77 -77
- data/lib/utils/erlang_parser.rb +192 -192
- data/lib/utils/filter.rb +272 -272
- data/lib/utils/filter_array.rb +27 -27
- data/lib/utils/find_files.rb +44 -44
- data/lib/utils/hash.rb +41 -41
- data/lib/utils/json_log.rb +18 -18
- data/lib/utils/latest_version.rb +22 -22
- data/lib/utils/modulator.rb +12 -12
- data/lib/utils/nginx_parser.rb +85 -85
- data/lib/utils/object_traversal.rb +49 -49
- data/lib/utils/parser.rb +274 -274
- data/lib/utils/plugin_registry.rb +93 -93
- data/lib/utils/simpleconfig.rb +120 -120
- data/lib/utils/spdx.rb +13 -13
- data/lib/utils/spdx.txt +343 -343
- metadata +2 -2
data/docs/resources/cpan.md.erb
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: About the cpan Resource
|
|
3
|
-
platform: linux
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# cpan
|
|
7
|
-
|
|
8
|
-
Use the `cpan` InSpec audit resource to test Perl modules that are installed by system packages or the CPAN installer.
|
|
9
|
-
|
|
10
|
-
<br>
|
|
11
|
-
|
|
12
|
-
## Syntax
|
|
13
|
-
|
|
14
|
-
A `cpan` resource block declares a package and (optionally) a package version:
|
|
15
|
-
|
|
16
|
-
describe cpan('package_name') do
|
|
17
|
-
it { should be_installed }
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
where
|
|
21
|
-
|
|
22
|
-
* `'package_name'` is the name of the package, such as `'DBD::Pg'`
|
|
23
|
-
* `be_installed` tests to see if the package described above is installed
|
|
24
|
-
|
|
25
|
-
<br>
|
|
26
|
-
|
|
27
|
-
## Resource Parameters
|
|
28
|
-
|
|
29
|
-
This resource uses package names and perl library paths as resource parameters.
|
|
30
|
-
|
|
31
|
-
<br>
|
|
32
|
-
|
|
33
|
-
## Resource Parameter Examples
|
|
34
|
-
|
|
35
|
-
### Test if DBD::Pg is installed on the system
|
|
36
|
-
|
|
37
|
-
describe cpan('DBD:Pg') do
|
|
38
|
-
it { should be_installed }
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
### Test if DBD::Pg 3.7.0 is installed on the system
|
|
42
|
-
|
|
43
|
-
describe cpan('DBD::Pg') do
|
|
44
|
-
it { should be_installed }
|
|
45
|
-
its('version') { should eq '3.7.0' }
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
### Test if DBD::Pg is installed within a custom PERL5LIB path on the system
|
|
49
|
-
|
|
50
|
-
Hint: You can pass multiple paths separated with a colon
|
|
51
|
-
`/path/to/perl5/lib:/usr/share/perl5/vendor_perl/lib/perl5`
|
|
52
|
-
|
|
53
|
-
describe cpan('DBD::Pg', '/home/jdoe/perl5/lib/perl5') do
|
|
54
|
-
it { should be_installed }
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
<br>
|
|
58
|
-
|
|
59
|
-
## Property Examples
|
|
60
|
-
|
|
61
|
-
The following examples show how to use this InSpec audit resource.
|
|
62
|
-
|
|
63
|
-
### version
|
|
64
|
-
|
|
65
|
-
The `version` property tests if the named package version is on the system:
|
|
66
|
-
|
|
67
|
-
its('version') { should eq '1.2.3' }
|
|
68
|
-
|
|
69
|
-
<br>
|
|
70
|
-
|
|
71
|
-
## Matchers
|
|
72
|
-
|
|
73
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
|
74
|
-
|
|
75
|
-
### be_installed
|
|
76
|
-
|
|
77
|
-
The `be_installed` matcher tests if the named package is installed on the system:
|
|
78
|
-
|
|
79
|
-
it { should be_installed }
|
|
1
|
+
---
|
|
2
|
+
title: About the cpan Resource
|
|
3
|
+
platform: linux
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# cpan
|
|
7
|
+
|
|
8
|
+
Use the `cpan` InSpec audit resource to test Perl modules that are installed by system packages or the CPAN installer.
|
|
9
|
+
|
|
10
|
+
<br>
|
|
11
|
+
|
|
12
|
+
## Syntax
|
|
13
|
+
|
|
14
|
+
A `cpan` resource block declares a package and (optionally) a package version:
|
|
15
|
+
|
|
16
|
+
describe cpan('package_name') do
|
|
17
|
+
it { should be_installed }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
where
|
|
21
|
+
|
|
22
|
+
* `'package_name'` is the name of the package, such as `'DBD::Pg'`
|
|
23
|
+
* `be_installed` tests to see if the package described above is installed
|
|
24
|
+
|
|
25
|
+
<br>
|
|
26
|
+
|
|
27
|
+
## Resource Parameters
|
|
28
|
+
|
|
29
|
+
This resource uses package names and perl library paths as resource parameters.
|
|
30
|
+
|
|
31
|
+
<br>
|
|
32
|
+
|
|
33
|
+
## Resource Parameter Examples
|
|
34
|
+
|
|
35
|
+
### Test if DBD::Pg is installed on the system
|
|
36
|
+
|
|
37
|
+
describe cpan('DBD:Pg') do
|
|
38
|
+
it { should be_installed }
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
### Test if DBD::Pg 3.7.0 is installed on the system
|
|
42
|
+
|
|
43
|
+
describe cpan('DBD::Pg') do
|
|
44
|
+
it { should be_installed }
|
|
45
|
+
its('version') { should eq '3.7.0' }
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
### Test if DBD::Pg is installed within a custom PERL5LIB path on the system
|
|
49
|
+
|
|
50
|
+
Hint: You can pass multiple paths separated with a colon
|
|
51
|
+
`/path/to/perl5/lib:/usr/share/perl5/vendor_perl/lib/perl5`
|
|
52
|
+
|
|
53
|
+
describe cpan('DBD::Pg', '/home/jdoe/perl5/lib/perl5') do
|
|
54
|
+
it { should be_installed }
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
<br>
|
|
58
|
+
|
|
59
|
+
## Property Examples
|
|
60
|
+
|
|
61
|
+
The following examples show how to use this InSpec audit resource.
|
|
62
|
+
|
|
63
|
+
### version
|
|
64
|
+
|
|
65
|
+
The `version` property tests if the named package version is on the system:
|
|
66
|
+
|
|
67
|
+
its('version') { should eq '1.2.3' }
|
|
68
|
+
|
|
69
|
+
<br>
|
|
70
|
+
|
|
71
|
+
## Matchers
|
|
72
|
+
|
|
73
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
|
74
|
+
|
|
75
|
+
### be_installed
|
|
76
|
+
|
|
77
|
+
The `be_installed` matcher tests if the named package is installed on the system:
|
|
78
|
+
|
|
79
|
+
it { should be_installed }
|
data/docs/resources/cran.md.erb
CHANGED
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: About the cran Resource
|
|
3
|
-
platform: linux
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# cran
|
|
7
|
-
|
|
8
|
-
Use the `cran` InSpec audit resource to test R modules that are installed from CRAN package repository.
|
|
9
|
-
|
|
10
|
-
<br>
|
|
11
|
-
|
|
12
|
-
## Syntax
|
|
13
|
-
|
|
14
|
-
A `cran` resource block declares a package and (optionally) a package version:
|
|
15
|
-
|
|
16
|
-
describe cran('package_name') do
|
|
17
|
-
it { should be_installed }
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
where
|
|
21
|
-
|
|
22
|
-
* `'package_name'` is the name of the package, such as `'DBI'`
|
|
23
|
-
* `be_installed` tests to see if the package described above is installed
|
|
24
|
-
|
|
25
|
-
<br>
|
|
26
|
-
|
|
27
|
-
## Examples
|
|
28
|
-
|
|
29
|
-
The following examples show how to use this InSpec audit resource.
|
|
30
|
-
|
|
31
|
-
### Test if DBI is installed on the system
|
|
32
|
-
|
|
33
|
-
describe cran('DBI') do
|
|
34
|
-
it { should be_installed }
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
### Test if DBI 0.5.1 is installed on the system
|
|
38
|
-
|
|
39
|
-
describe cran('DBI') do
|
|
40
|
-
it { should be_installed }
|
|
41
|
-
its('version') { should eq '0.5.1' }
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
<br>
|
|
45
|
-
|
|
46
|
-
## Property Examples
|
|
47
|
-
|
|
48
|
-
### version
|
|
49
|
-
|
|
50
|
-
The `version` property tests if the named package version is on the system:
|
|
51
|
-
|
|
52
|
-
its('version') { should eq '1.2.3' }
|
|
53
|
-
|
|
54
|
-
<br>
|
|
55
|
-
|
|
56
|
-
## Matchers
|
|
57
|
-
|
|
58
|
-
This InSpec audit resource has the following matchers:
|
|
59
|
-
|
|
60
|
-
### be_installed
|
|
61
|
-
|
|
62
|
-
The `be_installed` matcher tests if the named package is installed on the system:
|
|
63
|
-
|
|
64
|
-
it { should be_installed }
|
|
1
|
+
---
|
|
2
|
+
title: About the cran Resource
|
|
3
|
+
platform: linux
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# cran
|
|
7
|
+
|
|
8
|
+
Use the `cran` InSpec audit resource to test R modules that are installed from CRAN package repository.
|
|
9
|
+
|
|
10
|
+
<br>
|
|
11
|
+
|
|
12
|
+
## Syntax
|
|
13
|
+
|
|
14
|
+
A `cran` resource block declares a package and (optionally) a package version:
|
|
15
|
+
|
|
16
|
+
describe cran('package_name') do
|
|
17
|
+
it { should be_installed }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
where
|
|
21
|
+
|
|
22
|
+
* `'package_name'` is the name of the package, such as `'DBI'`
|
|
23
|
+
* `be_installed` tests to see if the package described above is installed
|
|
24
|
+
|
|
25
|
+
<br>
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
The following examples show how to use this InSpec audit resource.
|
|
30
|
+
|
|
31
|
+
### Test if DBI is installed on the system
|
|
32
|
+
|
|
33
|
+
describe cran('DBI') do
|
|
34
|
+
it { should be_installed }
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
### Test if DBI 0.5.1 is installed on the system
|
|
38
|
+
|
|
39
|
+
describe cran('DBI') do
|
|
40
|
+
it { should be_installed }
|
|
41
|
+
its('version') { should eq '0.5.1' }
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
<br>
|
|
45
|
+
|
|
46
|
+
## Property Examples
|
|
47
|
+
|
|
48
|
+
### version
|
|
49
|
+
|
|
50
|
+
The `version` property tests if the named package version is on the system:
|
|
51
|
+
|
|
52
|
+
its('version') { should eq '1.2.3' }
|
|
53
|
+
|
|
54
|
+
<br>
|
|
55
|
+
|
|
56
|
+
## Matchers
|
|
57
|
+
|
|
58
|
+
This InSpec audit resource has the following matchers:
|
|
59
|
+
|
|
60
|
+
### be_installed
|
|
61
|
+
|
|
62
|
+
The `be_installed` matcher tests if the named package is installed on the system:
|
|
63
|
+
|
|
64
|
+
it { should be_installed }
|
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: About the crontab Resource
|
|
3
|
-
platform: linux
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# crontab
|
|
7
|
-
|
|
8
|
-
Use the `crontab` InSpec audit resource to test the crontab entries for a particular user on the system. It recognizes special time strings (@yearly, @weekly, etc).
|
|
9
|
-
|
|
10
|
-
<br>
|
|
11
|
-
|
|
12
|
-
## Syntax
|
|
13
|
-
|
|
14
|
-
A `crontab` resource block declares a user (which defaults to the current user, if not specified), and then the details to be tested, such as the schedule elements for each crontab entry or the commands itself:
|
|
15
|
-
|
|
16
|
-
describe crontab do
|
|
17
|
-
its('commands') { should include '/some/scheduled/task.sh' }
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
<br>
|
|
21
|
-
|
|
22
|
-
## Examples
|
|
23
|
-
|
|
24
|
-
The following examples show how to use this InSpec audit resource.
|
|
25
|
-
|
|
26
|
-
### Test that root's crontab has a particular command
|
|
27
|
-
|
|
28
|
-
describe crontab('root') do
|
|
29
|
-
its('commands') { should include '/path/to/some/script' }
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
### Test that myuser's crontab entry for command '/home/myuser/build.sh' runs every minute
|
|
33
|
-
|
|
34
|
-
describe crontab('myuser').commands('/home/myuser/build.sh') do
|
|
35
|
-
its('hours') { should cmp '*' }
|
|
36
|
-
its('minutes') { should cmp '*' }
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
### Test that the logged-in user's crontab has no tasks set to run on every hour and every minute
|
|
40
|
-
|
|
41
|
-
describe crontab.where({'hour' => '*', 'minute' => '*'}) do
|
|
42
|
-
its('entries.length') { should cmp '0' }
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
### Test that the logged-in user's crontab contains a single command that matches a mattern
|
|
46
|
-
|
|
47
|
-
describe crontab.where { command =~ /a partial command string/ } do
|
|
48
|
-
its('entries.length') { should cmp 1 }
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
### Test a special time string (i.e., @yearly /root/anual_report.sh)
|
|
52
|
-
|
|
53
|
-
describe crontab.commands('/root/anual_report.sh') do
|
|
54
|
-
its('hours') { should cmp '0' }
|
|
55
|
-
its('minutes') { should cmp '0' }
|
|
56
|
-
its('days') { should cmp '1' }
|
|
57
|
-
its('months') { should cmp '1' }
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
### Test @reboot case
|
|
61
|
-
|
|
62
|
-
describe crontab.commands('/root/reboot.sh') do
|
|
63
|
-
its('hours') { should cmp '-1' }
|
|
64
|
-
its('minutes') { should cmp '-1' }
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
<br>
|
|
68
|
-
|
|
69
|
-
## Property Examples
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
### Test a special time string
|
|
73
|
-
|
|
74
|
-
describe crontab do
|
|
75
|
-
its('minutes') { should cmp '0' }
|
|
76
|
-
its('hours') { should cmp '0' }
|
|
77
|
-
its('days') { should cmp '1' }
|
|
78
|
-
its('weekdays') { should cmp '1' }
|
|
79
|
-
its('user') { should include 'username'}
|
|
80
|
-
its('commands') { should include '/some/scheduled/task.sh' }
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
InSpec will automatically interpret crontab-supported special time strings. For example, a crontab entry set to run `@yearly` can be tested as if the entry was manually configured to run on January 1, 12 AM.
|
|
84
|
-
|
|
85
|
-
<br>
|
|
86
|
-
|
|
87
|
-
## Matchers
|
|
88
|
-
|
|
89
|
-
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|
|
1
|
+
---
|
|
2
|
+
title: About the crontab Resource
|
|
3
|
+
platform: linux
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# crontab
|
|
7
|
+
|
|
8
|
+
Use the `crontab` InSpec audit resource to test the crontab entries for a particular user on the system. It recognizes special time strings (@yearly, @weekly, etc).
|
|
9
|
+
|
|
10
|
+
<br>
|
|
11
|
+
|
|
12
|
+
## Syntax
|
|
13
|
+
|
|
14
|
+
A `crontab` resource block declares a user (which defaults to the current user, if not specified), and then the details to be tested, such as the schedule elements for each crontab entry or the commands itself:
|
|
15
|
+
|
|
16
|
+
describe crontab do
|
|
17
|
+
its('commands') { should include '/some/scheduled/task.sh' }
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
<br>
|
|
21
|
+
|
|
22
|
+
## Examples
|
|
23
|
+
|
|
24
|
+
The following examples show how to use this InSpec audit resource.
|
|
25
|
+
|
|
26
|
+
### Test that root's crontab has a particular command
|
|
27
|
+
|
|
28
|
+
describe crontab('root') do
|
|
29
|
+
its('commands') { should include '/path/to/some/script' }
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
### Test that myuser's crontab entry for command '/home/myuser/build.sh' runs every minute
|
|
33
|
+
|
|
34
|
+
describe crontab('myuser').commands('/home/myuser/build.sh') do
|
|
35
|
+
its('hours') { should cmp '*' }
|
|
36
|
+
its('minutes') { should cmp '*' }
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
### Test that the logged-in user's crontab has no tasks set to run on every hour and every minute
|
|
40
|
+
|
|
41
|
+
describe crontab.where({'hour' => '*', 'minute' => '*'}) do
|
|
42
|
+
its('entries.length') { should cmp '0' }
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
### Test that the logged-in user's crontab contains a single command that matches a mattern
|
|
46
|
+
|
|
47
|
+
describe crontab.where { command =~ /a partial command string/ } do
|
|
48
|
+
its('entries.length') { should cmp 1 }
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
### Test a special time string (i.e., @yearly /root/anual_report.sh)
|
|
52
|
+
|
|
53
|
+
describe crontab.commands('/root/anual_report.sh') do
|
|
54
|
+
its('hours') { should cmp '0' }
|
|
55
|
+
its('minutes') { should cmp '0' }
|
|
56
|
+
its('days') { should cmp '1' }
|
|
57
|
+
its('months') { should cmp '1' }
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
### Test @reboot case
|
|
61
|
+
|
|
62
|
+
describe crontab.commands('/root/reboot.sh') do
|
|
63
|
+
its('hours') { should cmp '-1' }
|
|
64
|
+
its('minutes') { should cmp '-1' }
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
<br>
|
|
68
|
+
|
|
69
|
+
## Property Examples
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
### Test a special time string
|
|
73
|
+
|
|
74
|
+
describe crontab do
|
|
75
|
+
its('minutes') { should cmp '0' }
|
|
76
|
+
its('hours') { should cmp '0' }
|
|
77
|
+
its('days') { should cmp '1' }
|
|
78
|
+
its('weekdays') { should cmp '1' }
|
|
79
|
+
its('user') { should include 'username'}
|
|
80
|
+
its('commands') { should include '/some/scheduled/task.sh' }
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
InSpec will automatically interpret crontab-supported special time strings. For example, a crontab entry set to run `@yearly` can be tested as if the entry was manually configured to run on January 1, 12 AM.
|
|
84
|
+
|
|
85
|
+
<br>
|
|
86
|
+
|
|
87
|
+
## Matchers
|
|
88
|
+
|
|
89
|
+
For a full list of available matchers, please visit our [matchers page](https://www.inspec.io/docs/reference/matchers/).
|