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.
- checksums.yaml +4 -4
- data/Gemfile +36 -38
- data/README.md +37 -21
- data/etc/deprecations.json +10 -0
- data/etc/plugin_filters.json +8 -0
- data/inspec.gemspec +38 -39
- data/lib/bundles/inspec-compliance/api.rb +1 -1
- data/lib/bundles/inspec-compliance/configuration.rb +1 -1
- data/lib/bundles/inspec-compliance/http.rb +1 -1
- data/lib/bundles/inspec-compliance/support.rb +1 -1
- data/lib/bundles/inspec-compliance/target.rb +1 -1
- data/lib/bundles/inspec-supermarket.rb +3 -7
- data/lib/bundles/inspec-supermarket/api.rb +10 -13
- data/lib/bundles/inspec-supermarket/cli.rb +12 -15
- data/lib/bundles/inspec-supermarket/target.rb +7 -11
- data/lib/fetchers/git.rb +14 -15
- data/lib/fetchers/local.rb +6 -10
- data/lib/fetchers/mock.rb +3 -5
- data/lib/fetchers/url.rb +42 -44
- data/lib/inspec.rb +23 -24
- data/lib/inspec/archive/tar.rb +2 -6
- data/lib/inspec/archive/zip.rb +3 -7
- data/lib/inspec/backend.rb +8 -9
- data/lib/inspec/base_cli.rb +64 -65
- data/lib/inspec/cached_fetcher.rb +2 -3
- data/lib/inspec/cli.rb +136 -97
- data/lib/inspec/config.rb +71 -61
- data/lib/inspec/control_eval_context.rb +22 -18
- data/lib/inspec/dependencies/cache.rb +2 -3
- data/lib/inspec/dependencies/dependency_set.rb +2 -3
- data/lib/inspec/dependencies/lockfile.rb +8 -9
- data/lib/inspec/dependencies/requirement.rb +7 -8
- data/lib/inspec/dependencies/resolver.rb +5 -7
- data/lib/inspec/describe.rb +2 -6
- data/lib/inspec/dist.rb +20 -0
- data/lib/inspec/dsl.rb +4 -7
- data/lib/inspec/dsl_shared.rb +1 -2
- data/lib/inspec/env_printer.rb +11 -12
- data/lib/inspec/errors.rb +0 -4
- data/lib/inspec/exceptions.rb +0 -1
- data/lib/inspec/expect.rb +5 -8
- data/lib/inspec/fetcher.rb +7 -10
- data/lib/inspec/file_provider.rb +24 -24
- data/lib/inspec/formatters.rb +3 -3
- data/lib/inspec/formatters/base.rb +8 -8
- data/lib/inspec/globals.rb +2 -2
- data/lib/inspec/impact.rb +5 -7
- data/lib/inspec/input_registry.rb +84 -33
- data/lib/inspec/library_eval_context.rb +3 -6
- data/lib/inspec/log.rb +1 -5
- data/lib/inspec/metadata.rb +17 -16
- data/lib/inspec/method_source.rb +5 -9
- data/lib/inspec/objects.rb +10 -12
- data/lib/inspec/objects/control.rb +7 -9
- data/lib/inspec/objects/describe.rb +9 -11
- data/lib/inspec/objects/each_loop.rb +1 -3
- data/lib/inspec/objects/input.rb +24 -26
- data/lib/inspec/objects/list.rb +4 -6
- data/lib/inspec/objects/or_test.rb +2 -4
- data/lib/inspec/objects/ruby_helper.rb +3 -5
- data/lib/inspec/objects/tag.rb +0 -2
- data/lib/inspec/objects/test.rb +9 -11
- data/lib/inspec/objects/value.rb +3 -5
- data/lib/inspec/plugin/v1.rb +2 -2
- data/lib/inspec/plugin/v1/plugin_types/cli.rb +1 -5
- data/lib/inspec/plugin/v1/plugin_types/fetcher.rb +2 -5
- data/lib/inspec/plugin/v1/plugin_types/resource.rb +4 -6
- data/lib/inspec/plugin/v1/plugin_types/secret.rb +1 -5
- data/lib/inspec/plugin/v1/plugin_types/source_reader.rb +1 -5
- data/lib/inspec/plugin/v1/plugins.rb +15 -19
- data/lib/inspec/plugin/v1/registry.rb +0 -4
- data/lib/inspec/plugin/v2.rb +8 -8
- data/lib/inspec/plugin/v2/activator.rb +1 -1
- data/lib/inspec/plugin/v2/config_file.rb +6 -6
- data/lib/inspec/plugin/v2/filter.rb +13 -13
- data/lib/inspec/plugin/v2/installer.rb +36 -24
- data/lib/inspec/plugin/v2/loader.rb +28 -28
- data/lib/inspec/plugin/v2/plugin_base.rb +15 -2
- data/lib/inspec/plugin/v2/plugin_types/cli.rb +5 -5
- data/lib/inspec/plugin/v2/plugin_types/input.rb +34 -0
- data/lib/inspec/plugin/v2/plugin_types/mock.rb +1 -1
- data/lib/inspec/plugin/v2/registry.rb +7 -7
- data/lib/inspec/polyfill.rb +0 -3
- data/lib/inspec/profile.rb +55 -63
- data/lib/inspec/profile_context.rb +27 -30
- data/lib/inspec/profile_vendor.rb +6 -9
- data/lib/inspec/reporters.rb +24 -24
- data/lib/inspec/reporters/automate.rb +17 -19
- data/lib/inspec/reporters/base.rb +1 -1
- data/lib/inspec/reporters/cli.rb +88 -91
- data/lib/inspec/reporters/json.rb +2 -4
- data/lib/inspec/reporters/json_automate.rb +1 -3
- data/lib/inspec/reporters/json_min.rb +1 -3
- data/lib/inspec/reporters/junit.rb +26 -28
- data/lib/inspec/reporters/yaml.rb +1 -3
- data/lib/inspec/require_loader.rb +0 -4
- data/lib/inspec/resource.rb +4 -125
- data/lib/inspec/resources.rb +121 -0
- data/lib/{resources → inspec/resources}/aide_conf.rb +24 -25
- data/lib/{resources → inspec/resources}/apache.rb +13 -14
- data/lib/{resources → inspec/resources}/apache_conf.rb +16 -17
- data/lib/{resources → inspec/resources}/apt.rb +17 -17
- data/lib/{resources → inspec/resources}/audit_policy.rb +7 -6
- data/lib/{resources → inspec/resources}/auditd.rb +62 -64
- data/lib/{resources → inspec/resources}/auditd_conf.rb +7 -8
- data/lib/{resources → inspec/resources}/bash.rb +6 -8
- data/lib/{resources → inspec/resources}/bond.rb +15 -14
- data/lib/{resources → inspec/resources}/bridge.rb +8 -8
- data/lib/{resources → inspec/resources}/chocolatey_package.rb +10 -8
- data/lib/{resources → inspec/resources}/command.rb +11 -10
- data/lib/{resources → inspec/resources}/cpan.rb +12 -12
- data/lib/{resources → inspec/resources}/cran.rb +9 -9
- data/lib/{resources → inspec/resources}/crontab.rb +47 -48
- data/lib/{resources → inspec/resources}/csv.rb +5 -5
- data/lib/{resources → inspec/resources}/dh_params.rb +5 -7
- data/lib/{resources → inspec/resources}/directory.rb +5 -7
- data/lib/{resources → inspec/resources}/docker.rb +63 -63
- data/lib/{resources → inspec/resources}/docker_container.rb +6 -6
- data/lib/{resources → inspec/resources}/docker_image.rb +9 -9
- data/lib/{resources → inspec/resources}/docker_object.rb +8 -13
- data/lib/{resources → inspec/resources}/docker_plugin.rb +6 -6
- data/lib/{resources → inspec/resources}/docker_service.rb +7 -7
- data/lib/{resources → inspec/resources}/elasticsearch.rb +40 -42
- data/lib/{resources → inspec/resources}/etc_fstab.rb +23 -24
- data/lib/{resources → inspec/resources}/etc_group.rb +26 -27
- data/lib/{resources → inspec/resources}/etc_hosts.rb +11 -13
- data/lib/{resources → inspec/resources}/etc_hosts_allow_deny.rb +25 -27
- data/lib/{resources → inspec/resources}/file.rb +80 -79
- data/lib/{resources → inspec/resources}/filesystem.rb +20 -15
- data/lib/{resources → inspec/resources}/firewalld.rb +26 -26
- data/lib/{resources → inspec/resources}/gem.rb +12 -12
- data/lib/{resources → inspec/resources}/groups.rb +28 -27
- data/lib/{resources → inspec/resources}/grub_conf.rb +46 -48
- data/lib/{resources → inspec/resources}/host.rb +31 -29
- data/lib/{resources → inspec/resources}/http.rb +24 -24
- data/lib/{resources → inspec/resources}/iis_app.rb +6 -7
- data/lib/{resources → inspec/resources}/iis_app_pool.rb +21 -19
- data/lib/{resources → inspec/resources}/iis_site.rb +17 -15
- data/lib/{resources → inspec/resources}/inetd_conf.rb +9 -10
- data/lib/{resources → inspec/resources}/ini.rb +7 -8
- data/lib/{resources → inspec/resources}/interface.rb +30 -30
- data/lib/{resources → inspec/resources}/iptables.rb +8 -8
- data/lib/{resources → inspec/resources}/json.rb +8 -10
- data/lib/{resources → inspec/resources}/kernel_module.rb +15 -15
- data/lib/{resources → inspec/resources}/kernel_parameter.rb +8 -8
- data/lib/{resources → inspec/resources}/key_rsa.rb +8 -10
- data/lib/{resources → inspec/resources}/ksh.rb +6 -8
- data/lib/{resources → inspec/resources}/limits_conf.rb +8 -9
- data/lib/{resources/login_def.rb → inspec/resources/login_defs.rb} +9 -10
- data/lib/{resources → inspec/resources}/mount.rb +6 -8
- data/lib/{resources → inspec/resources}/mssql_session.rb +16 -18
- data/lib/inspec/resources/mysql.rb +81 -0
- data/lib/{resources → inspec/resources}/mysql_conf.rb +13 -14
- data/lib/{resources → inspec/resources}/mysql_session.rb +16 -16
- data/lib/{resources → inspec/resources}/nginx.rb +16 -17
- data/lib/{resources → inspec/resources}/nginx_conf.rb +26 -27
- data/lib/{resources → inspec/resources}/npm.rb +9 -10
- data/lib/{resources → inspec/resources}/ntp_conf.rb +9 -10
- data/lib/{resources → inspec/resources}/oneget.rb +8 -8
- data/lib/{resources → inspec/resources}/oracledb_session.rb +33 -34
- data/lib/{resources → inspec/resources}/os.rb +6 -8
- data/lib/{resources → inspec/resources}/os_env.rb +11 -12
- data/lib/{resources → inspec/resources}/package.rb +66 -65
- data/lib/{resources → inspec/resources}/packages.rb +13 -13
- data/lib/{resources → inspec/resources}/parse_config.rb +8 -8
- data/lib/{resources → inspec/resources}/passwd.rb +18 -19
- data/lib/{resources → inspec/resources}/pip.rb +19 -19
- data/lib/{resources → inspec/resources}/platform.rb +9 -11
- data/lib/{resources → inspec/resources}/port.rb +134 -136
- data/lib/{resources → inspec/resources}/postgres.rb +40 -32
- data/lib/{resources → inspec/resources}/postgres_conf.rb +17 -17
- data/lib/{resources → inspec/resources}/postgres_hba_conf.rb +21 -23
- data/lib/{resources → inspec/resources}/postgres_ident_conf.rb +12 -14
- data/lib/{resources → inspec/resources}/postgres_session.rb +8 -9
- data/lib/{resources → inspec/resources}/powershell.rb +17 -13
- data/lib/{resources → inspec/resources}/processes.rb +29 -29
- data/lib/{resources/rabbitmq_conf.rb → inspec/resources/rabbitmq_config.rb} +10 -11
- data/lib/{resources → inspec/resources}/registry_key.rb +14 -14
- data/lib/inspec/resources/script.rb +1 -0
- data/lib/{resources → inspec/resources}/security_identifier.rb +11 -10
- data/lib/{resources → inspec/resources}/security_policy.rb +59 -58
- data/lib/{resources → inspec/resources}/service.rb +74 -75
- data/lib/{resources → inspec/resources}/shadow.rb +44 -45
- data/lib/{resources/ssh_conf.rb → inspec/resources/ssh_config.rb} +16 -17
- data/lib/{resources → inspec/resources}/ssl.rb +28 -29
- data/lib/inspec/resources/sys_info.rb +30 -0
- data/lib/{resources → inspec/resources}/toml.rb +5 -7
- data/lib/{resources → inspec/resources}/users.rb +65 -65
- data/lib/{resources → inspec/resources}/vbscript.rb +8 -9
- data/lib/{resources → inspec/resources}/virtualization.rb +60 -62
- data/lib/{resources → inspec/resources}/windows_feature.rb +9 -9
- data/lib/{resources → inspec/resources}/windows_hotfix.rb +5 -5
- data/lib/{resources → inspec/resources}/windows_task.rb +16 -15
- data/lib/{resources → inspec/resources}/wmi.rb +7 -8
- data/lib/{resources → inspec/resources}/x509_certificate.rb +9 -11
- data/lib/{resources/xinetd.rb → inspec/resources/xinetd_conf.rb} +27 -29
- data/lib/{resources → inspec/resources}/xml.rb +7 -7
- data/lib/{resources → inspec/resources}/yaml.rb +5 -6
- data/lib/{resources → inspec/resources}/yum.rb +10 -10
- data/lib/{resources → inspec/resources}/zfs_dataset.rb +6 -6
- data/lib/{resources → inspec/resources}/zfs_pool.rb +4 -4
- data/lib/inspec/rspec_extensions.rb +24 -8
- data/lib/inspec/rule.rb +14 -15
- data/lib/inspec/runner.rb +28 -28
- data/lib/inspec/runner_mock.rb +1 -5
- data/lib/inspec/runner_rspec.rb +18 -20
- data/lib/inspec/runtime_profile.rb +2 -5
- data/lib/inspec/schema.rb +142 -143
- data/lib/inspec/secrets.rb +3 -7
- data/lib/inspec/secrets/yaml.rb +3 -5
- data/lib/inspec/shell.rb +11 -15
- data/lib/inspec/shell_detector.rb +6 -7
- data/lib/inspec/source_reader.rb +4 -8
- data/lib/inspec/ui.rb +33 -39
- data/lib/inspec/ui_table_helper.rb +12 -0
- data/lib/{utils → inspec/utils}/command_wrapper.rb +4 -8
- data/lib/{utils → inspec/utils}/convert.rb +0 -4
- data/lib/{utils → inspec/utils}/database_helpers.rb +4 -8
- data/lib/inspec/utils/deprecation.rb +6 -0
- data/lib/{utils → inspec/utils}/deprecation/config_file.rb +19 -19
- data/lib/{utils → inspec/utils}/deprecation/deprecator.rb +12 -12
- data/lib/{utils → inspec/utils}/deprecation/errors.rb +1 -1
- data/lib/{utils → inspec/utils}/deprecation/global_method.rb +2 -2
- data/lib/{utils → inspec/utils}/enumerable_delegation.rb +0 -2
- data/lib/{utils → inspec/utils}/erlang_parser.rb +61 -65
- data/lib/{utils → inspec/utils}/file_reader.rb +1 -2
- data/lib/{utils → inspec/utils}/filter.rb +30 -33
- data/lib/{utils → inspec/utils}/filter_array.rb +0 -2
- data/lib/{utils → inspec/utils}/find_files.rb +9 -12
- data/lib/{utils → inspec/utils}/hash.rb +1 -5
- data/lib/inspec/utils/json_log.rb +15 -0
- data/lib/inspec/utils/latest_version.rb +13 -0
- data/lib/{utils → inspec/utils}/modulator.rb +0 -3
- data/lib/{utils → inspec/utils}/nginx_parser.rb +31 -35
- data/lib/{utils → inspec/utils}/object_traversal.rb +0 -3
- data/lib/{utils → inspec/utils}/parser.rb +45 -45
- data/lib/{utils → inspec/utils}/pkey_reader.rb +4 -2
- data/lib/{utils → inspec/utils}/simpleconfig.rb +8 -10
- data/lib/{utils → inspec/utils}/spdx.rb +1 -4
- data/lib/{utils → inspec/utils}/spdx.txt +0 -0
- data/lib/inspec/utils/telemetry.rb +3 -3
- data/lib/inspec/utils/telemetry/collector.rb +30 -9
- data/lib/inspec/utils/telemetry/data_series.rb +3 -1
- data/lib/inspec/utils/telemetry/global_methods.rb +1 -1
- data/lib/inspec/version.rb +1 -1
- data/lib/matchers/matchers.rb +22 -25
- data/lib/plugins/inspec-artifact/lib/inspec-artifact.rb +1 -1
- data/lib/plugins/inspec-artifact/lib/inspec-artifact/base.rb +52 -45
- data/lib/plugins/inspec-artifact/lib/inspec-artifact/cli.rb +18 -16
- data/lib/plugins/inspec-artifact/test/functional/inspec_artifact_test.rb +12 -11
- data/lib/plugins/inspec-compliance/lib/inspec-compliance.rb +1 -1
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/api.rb +73 -73
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/api/login.rb +66 -62
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/cli.rb +59 -57
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/configuration.rb +11 -11
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/http.rb +20 -22
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/support.rb +2 -4
- data/lib/plugins/inspec-compliance/lib/inspec-compliance/target.rb +30 -27
- data/lib/plugins/inspec-compliance/test/functional/inspec_compliance_test.rb +12 -14
- data/lib/plugins/inspec-compliance/test/integration/default/cli.rb +39 -41
- data/lib/plugins/inspec-compliance/test/unit/api/login_test.rb +64 -64
- data/lib/plugins/inspec-compliance/test/unit/api_test.rb +157 -156
- data/lib/plugins/inspec-compliance/test/unit/target_test.rb +85 -85
- data/lib/plugins/inspec-habitat/Berksfile +2 -2
- data/lib/plugins/inspec-habitat/lib/inspec-habitat.rb +1 -1
- data/lib/plugins/inspec-habitat/lib/inspec-habitat/cli.rb +15 -13
- data/lib/plugins/inspec-habitat/lib/inspec-habitat/profile.rb +64 -63
- data/lib/plugins/inspec-habitat/templates/habitat/hooks/run.erb +3 -3
- data/lib/plugins/inspec-habitat/templates/habitat/plan.sh.erb +11 -11
- data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/Berksfile +1 -1
- data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/metadata.rb +8 -8
- data/lib/plugins/inspec-habitat/test/cookbooks/inspec_habitat_fixture/recipes/default.rb +17 -17
- data/lib/plugins/inspec-habitat/test/functional/inspec_habitat_test.rb +9 -8
- data/lib/plugins/inspec-habitat/test/integration/default/inspec_habitat/controls/inspec_habitat.rb +14 -14
- data/lib/plugins/inspec-habitat/test/support/example_profile/controls/example.rb +4 -4
- data/lib/plugins/inspec-habitat/test/unit/profile_test.rb +42 -41
- data/lib/plugins/inspec-init/lib/inspec-init.rb +1 -1
- data/lib/plugins/inspec-init/lib/inspec-init/cli.rb +6 -8
- data/lib/plugins/inspec-init/lib/inspec-init/cli_plugin.rb +72 -74
- data/lib/plugins/inspec-init/lib/inspec-init/cli_profile.rb +9 -11
- data/lib/plugins/inspec-init/lib/inspec-init/renderer.rb +4 -4
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/Gemfile +0 -1
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/inspec-plugin-template.gemspec +0 -2
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template.rb +0 -2
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/cli_command.rb +0 -2
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/plugin.rb +0 -2
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/lib/inspec-plugin-template/version.rb +0 -2
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/functional/inspec_plugin_template_test.rb +5 -5
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/helper.rb +1 -3
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/cli_args_test.rb +2 -2
- data/lib/plugins/inspec-init/templates/plugins/inspec-plugin-template/test/unit/plugin_def_test.rb +2 -2
- data/lib/plugins/inspec-init/templates/profiles/aws/controls/example.rb +10 -11
- data/lib/plugins/inspec-init/templates/profiles/azure/controls/example.rb +4 -5
- data/lib/plugins/inspec-init/templates/profiles/gcp/controls/example.rb +10 -11
- data/lib/plugins/inspec-init/templates/profiles/os/controls/example.rb +6 -7
- data/lib/plugins/inspec-init/test/functional/inspec_init_plugin_test.rb +51 -50
- data/lib/plugins/inspec-init/test/functional/inspec_init_profile_test.rb +35 -33
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli.rb +1 -2
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/cli_command.rb +72 -70
- data/lib/plugins/inspec-plugin-manager-cli/lib/inspec-plugin-manager-cli/plugin.rb +1 -1
- data/lib/plugins/inspec-plugin-manager-cli/test/fixtures/plugins/wrong-name/lib/wrong-name.rb +1 -1
- data/lib/plugins/inspec-plugin-manager-cli/test/functional/inspec-plugin_test.rb +281 -271
- data/lib/plugins/inspec-plugin-manager-cli/test/unit/cli_args_test.rb +41 -41
- data/lib/plugins/inspec-plugin-manager-cli/test/unit/plugin_def_test.rb +25 -6
- data/lib/plugins/shared/core_plugin_test_helper.rb +43 -38
- data/lib/resource_support/aws.rb +67 -67
- data/lib/resource_support/aws/aws_plural_resource_mixin.rb +4 -1
- data/lib/resource_support/aws/aws_resource_mixin.rb +4 -3
- data/lib/resource_support/aws/aws_singular_resource_mixin.rb +4 -1
- data/lib/resources/aws/aws_billing_report.rb +15 -8
- data/lib/resources/aws/aws_billing_reports.rb +10 -7
- data/lib/resources/aws/aws_cloudtrail_trail.rb +9 -5
- data/lib/resources/aws/aws_cloudtrail_trails.rb +9 -5
- data/lib/resources/aws/aws_cloudwatch_alarm.rb +9 -5
- data/lib/resources/aws/aws_cloudwatch_log_metric_filter.rb +12 -8
- data/lib/resources/aws/aws_config_delivery_channel.rb +13 -9
- data/lib/resources/aws/aws_config_recorder.rb +10 -6
- data/lib/resources/aws/aws_ebs_volume.rb +12 -8
- data/lib/resources/aws/aws_ebs_volumes.rb +9 -5
- data/lib/resources/aws/aws_ec2_instance.rb +14 -11
- data/lib/resources/aws/aws_ec2_instances.rb +9 -5
- data/lib/resources/aws/aws_ecs_cluster.rb +11 -7
- data/lib/resources/aws/aws_eks_cluster.rb +13 -9
- data/lib/resources/aws/aws_elb.rb +9 -5
- data/lib/resources/aws/aws_elbs.rb +9 -5
- data/lib/resources/aws/aws_flow_log.rb +17 -13
- data/lib/resources/aws/aws_iam_access_key.rb +15 -11
- data/lib/resources/aws/aws_iam_access_keys.rb +19 -15
- data/lib/resources/aws/aws_iam_group.rb +9 -5
- data/lib/resources/aws/aws_iam_groups.rb +9 -5
- data/lib/resources/aws/aws_iam_password_policy.rb +13 -10
- data/lib/resources/aws/aws_iam_policies.rb +9 -5
- data/lib/resources/aws/aws_iam_policy.rb +16 -12
- data/lib/resources/aws/aws_iam_role.rb +9 -5
- data/lib/resources/aws/aws_iam_root_user.rb +12 -8
- data/lib/resources/aws/aws_iam_user.rb +12 -12
- data/lib/resources/aws/aws_iam_users.rb +10 -10
- data/lib/resources/aws/aws_kms_key.rb +12 -8
- data/lib/resources/aws/aws_kms_keys.rb +9 -5
- data/lib/resources/aws/aws_rds_instance.rb +11 -8
- data/lib/resources/aws/aws_route_table.rb +11 -7
- data/lib/resources/aws/aws_route_tables.rb +10 -6
- data/lib/resources/aws/aws_s3_bucket.rb +14 -11
- data/lib/resources/aws/aws_s3_bucket_object.rb +12 -9
- data/lib/resources/aws/aws_s3_buckets.rb +9 -7
- data/lib/resources/aws/aws_security_group.rb +16 -12
- data/lib/resources/aws/aws_security_groups.rb +12 -8
- data/lib/resources/aws/aws_sns_subscription.rb +15 -11
- data/lib/resources/aws/aws_sns_topic.rb +10 -6
- data/lib/resources/aws/aws_sns_topics.rb +9 -5
- data/lib/resources/aws/aws_sqs_queue.rb +18 -14
- data/lib/resources/aws/aws_subnet.rb +11 -7
- data/lib/resources/aws/aws_subnets.rb +9 -5
- data/lib/resources/aws/aws_vpc.rb +10 -6
- data/lib/resources/aws/aws_vpcs.rb +9 -5
- data/lib/resources/azure/azure_backend.rb +20 -18
- data/lib/resources/azure/azure_generic_resource.rb +13 -15
- data/lib/resources/azure/azure_resource_group.rb +17 -19
- data/lib/resources/azure/azure_virtual_machine.rb +6 -8
- data/lib/resources/azure/azure_virtual_machine_data_disk.rb +6 -8
- data/lib/source_readers/flat.rb +6 -10
- data/lib/source_readers/inspec.rb +8 -12
- metadata +141 -142
- data/lib/resources/mysql.rb +0 -82
- data/lib/resources/sys_info.rb +0 -28
- data/lib/utils/deprecation.rb +0 -6
- data/lib/utils/json_log.rb +0 -18
- data/lib/utils/latest_version.rb +0 -22
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
require_relative
|
|
1
|
+
require_relative "../../../shared/core_plugin_test_helper.rb"
|
|
2
2
|
|
|
3
3
|
#-----------------------------------------------------------------------#
|
|
4
4
|
# Thor option defs
|
|
5
5
|
#-----------------------------------------------------------------------#
|
|
6
|
-
class PluginManagerCliOptions <
|
|
6
|
+
class PluginManagerCliOptions < Minitest::Test
|
|
7
7
|
include CorePluginUnitHelper
|
|
8
8
|
let(:cli_class) { InspecPlugins::PluginManager::CliCommand }
|
|
9
9
|
|
|
10
10
|
def setup
|
|
11
|
-
require_relative
|
|
11
|
+
require_relative "../../lib/inspec-plugin-manager-cli/cli_command"
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
def test_list_args
|
|
15
|
-
arg_config = cli_class.all_commands[
|
|
16
|
-
assert_equal 1, arg_config.count,
|
|
15
|
+
arg_config = cli_class.all_commands["list"].options
|
|
16
|
+
assert_equal 1, arg_config.count, "The list command should have 1 option"
|
|
17
17
|
|
|
18
|
-
assert_includes arg_config.keys, :all,
|
|
19
|
-
assert_equal :boolean, arg_config[:all].type,
|
|
20
|
-
assert_equal :a, arg_config[:all].aliases.first,
|
|
21
|
-
refute_nil arg_config[:all].description,
|
|
22
|
-
refute arg_config[:all].required,
|
|
18
|
+
assert_includes arg_config.keys, :all, "The list command should have an --all option"
|
|
19
|
+
assert_equal :boolean, arg_config[:all].type, "The --all option should be boolean"
|
|
20
|
+
assert_equal :a, arg_config[:all].aliases.first, "The --all option should be aliased as -a"
|
|
21
|
+
refute_nil arg_config[:all].description, "The --all option should have a description"
|
|
22
|
+
refute arg_config[:all].required, "The --all option should not be required"
|
|
23
23
|
|
|
24
|
-
assert_equal 0, cli_class.instance_method(:list).arity,
|
|
24
|
+
assert_equal 0, cli_class.instance_method(:list).arity, "The list command should take no arguments"
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
def test_search_args
|
|
28
|
-
arg_config = cli_class.all_commands[
|
|
29
|
-
assert_equal 3, arg_config.count,
|
|
28
|
+
arg_config = cli_class.all_commands["search"].options
|
|
29
|
+
assert_equal 3, arg_config.count, "The search command should have 3 options"
|
|
30
30
|
|
|
31
|
-
assert_includes arg_config.keys, :all,
|
|
32
|
-
assert_equal :boolean, arg_config[:all].type,
|
|
33
|
-
assert_equal :a, arg_config[:all].aliases.first,
|
|
34
|
-
refute_nil arg_config[:all].description,
|
|
35
|
-
refute arg_config[:all].required,
|
|
31
|
+
assert_includes arg_config.keys, :all, "The search command should have an --all option"
|
|
32
|
+
assert_equal :boolean, arg_config[:all].type, "The --all option should be boolean"
|
|
33
|
+
assert_equal :a, arg_config[:all].aliases.first, "The --all option should be aliased as -a"
|
|
34
|
+
refute_nil arg_config[:all].description, "The --all option should have a description"
|
|
35
|
+
refute arg_config[:all].required, "The --all option should not be required"
|
|
36
36
|
|
|
37
|
-
assert_includes arg_config.keys, :exact,
|
|
38
|
-
assert_equal :boolean, arg_config[:exact].type,
|
|
39
|
-
assert_equal :e, arg_config[:exact].aliases.first,
|
|
40
|
-
refute_nil arg_config[:exact].description,
|
|
41
|
-
refute arg_config[:exact].required,
|
|
37
|
+
assert_includes arg_config.keys, :exact, "The search command should have an --exact option"
|
|
38
|
+
assert_equal :boolean, arg_config[:exact].type, "The --exact option should be boolean"
|
|
39
|
+
assert_equal :e, arg_config[:exact].aliases.first, "The --exact option should be aliased as -e"
|
|
40
|
+
refute_nil arg_config[:exact].description, "The --exact option should have a description"
|
|
41
|
+
refute arg_config[:exact].required, "The --exact option should not be required"
|
|
42
42
|
|
|
43
|
-
assert_includes arg_config.keys, :'include-test-fixture',
|
|
44
|
-
assert_equal :boolean, arg_config[:'include-test-fixture'].type,
|
|
45
|
-
refute arg_config[:'include-test-fixture'].required,
|
|
43
|
+
assert_includes arg_config.keys, :'include-test-fixture', "The search command should have an --include-test-fixture option"
|
|
44
|
+
assert_equal :boolean, arg_config[:'include-test-fixture'].type, "The --include-test-fixture option should be boolean"
|
|
45
|
+
refute arg_config[:'include-test-fixture'].required, "The --include-test-fixture option should not be required"
|
|
46
46
|
|
|
47
|
-
assert_equal 1, cli_class.instance_method(:search).arity,
|
|
47
|
+
assert_equal 1, cli_class.instance_method(:search).arity, "The search command should take one argument"
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
def test_install_args
|
|
51
|
-
arg_config = cli_class.all_commands[
|
|
52
|
-
assert_equal 1, arg_config.count,
|
|
51
|
+
arg_config = cli_class.all_commands["install"].options
|
|
52
|
+
assert_equal 1, arg_config.count, "The install command should have 1 option"
|
|
53
53
|
|
|
54
|
-
assert_includes arg_config.keys, :version,
|
|
55
|
-
assert_equal :string, arg_config[:version].type,
|
|
56
|
-
assert_equal :v, arg_config[:version].aliases.first,
|
|
57
|
-
refute_nil arg_config[:version].description,
|
|
58
|
-
refute arg_config[:version].required,
|
|
54
|
+
assert_includes arg_config.keys, :version, "The install command should have a --version option"
|
|
55
|
+
assert_equal :string, arg_config[:version].type, "The --version option should be a string"
|
|
56
|
+
assert_equal :v, arg_config[:version].aliases.first, "The --version option should be aliased as -v"
|
|
57
|
+
refute_nil arg_config[:version].description, "The --version option should have a description"
|
|
58
|
+
refute arg_config[:version].required, "The --version option should not be required"
|
|
59
59
|
|
|
60
|
-
assert_equal 1, cli_class.instance_method(:install).arity,
|
|
60
|
+
assert_equal 1, cli_class.instance_method(:install).arity, "The install command should take one argument"
|
|
61
61
|
end
|
|
62
62
|
|
|
63
63
|
def test_update_args
|
|
64
64
|
# TODO: allow specifying version
|
|
65
|
-
arg_config = cli_class.all_commands[
|
|
66
|
-
assert_equal 0, arg_config.count,
|
|
67
|
-
assert_equal 1, cli_class.instance_method(:update).arity,
|
|
65
|
+
arg_config = cli_class.all_commands["update"].options
|
|
66
|
+
assert_equal 0, arg_config.count, "The update command should have no options"
|
|
67
|
+
assert_equal 1, cli_class.instance_method(:update).arity, "The update command should take one argument"
|
|
68
68
|
end
|
|
69
69
|
|
|
70
70
|
def test_uninstall_args
|
|
71
|
-
arg_config = cli_class.all_commands[
|
|
72
|
-
assert_equal 0, arg_config.count,
|
|
73
|
-
assert_equal 1, cli_class.instance_method(:uninstall).arity,
|
|
71
|
+
arg_config = cli_class.all_commands["uninstall"].options
|
|
72
|
+
assert_equal 0, arg_config.count, "The uninstall command should have no options"
|
|
73
|
+
assert_equal 1, cli_class.instance_method(:uninstall).arity, "The uninstall command should take one argument"
|
|
74
74
|
end
|
|
75
75
|
end
|
|
@@ -1,20 +1,39 @@
|
|
|
1
|
-
require_relative
|
|
1
|
+
require_relative "../../../shared/core_plugin_test_helper.rb"
|
|
2
2
|
|
|
3
3
|
#-----------------------------------------------------------------------#
|
|
4
4
|
# Plugin Definition
|
|
5
5
|
#-----------------------------------------------------------------------#
|
|
6
|
-
class PluginManagerCliDefinitionTests <
|
|
6
|
+
class PluginManagerCliDefinitionTests < Minitest::Test
|
|
7
7
|
include CorePluginUnitHelper
|
|
8
8
|
|
|
9
|
+
@@orig_home = Dir.home
|
|
10
|
+
|
|
11
|
+
def setup
|
|
12
|
+
mock_path = File.expand_path "test/unit/mock"
|
|
13
|
+
|
|
14
|
+
@config_dir_path = File.join(mock_path, "config_dirs")
|
|
15
|
+
ENV["HOME"] = File.join(@config_dir_path, "fakehome")
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def teardown
|
|
19
|
+
reset_globals
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def reset_globals # TODO: REFACTOR this with install/loader tests
|
|
23
|
+
ENV["HOME"] = @@orig_home
|
|
24
|
+
ENV["INSPEC_CONFIG_DIR"] = nil
|
|
25
|
+
Inspec::Plugin::V2::Registry.instance.__reset
|
|
26
|
+
end
|
|
27
|
+
|
|
9
28
|
def test_plugin_registered
|
|
10
29
|
loader = Inspec::Plugin::V2::Loader.new
|
|
11
30
|
loader.load_all # We want to ensure it is auto-loaded
|
|
12
31
|
|
|
13
|
-
assert registry.known_plugin?(:'inspec-plugin-manager-cli'),
|
|
14
|
-
assert registry.loaded_plugin?(:'inspec-plugin-manager-cli'),
|
|
32
|
+
assert registry.known_plugin?(:'inspec-plugin-manager-cli'), "inspec-plugin-manager-cli should be registered"
|
|
33
|
+
assert registry.loaded_plugin?(:'inspec-plugin-manager-cli'), "inspec-plugin-manager-cli should be loaded"
|
|
15
34
|
|
|
16
35
|
status = registry[:'inspec-plugin-manager-cli']
|
|
17
|
-
assert_equal 2, status.api_generation,
|
|
18
|
-
assert_includes status.plugin_types, :cli_command,
|
|
36
|
+
assert_equal 2, status.api_generation, "inspec-plugin-manager-cli should be v2"
|
|
37
|
+
assert_includes status.plugin_types, :cli_command, "inspec-plugin-manager-cli should have cli_command activators"
|
|
19
38
|
end
|
|
20
39
|
end
|
|
@@ -1,23 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
require
|
|
4
|
-
require 'minitest/unit'
|
|
5
|
-
require 'minitest/pride'
|
|
6
|
-
require 'minitest/spec'
|
|
1
|
+
# Load test harness - Minitest
|
|
2
|
+
require "minitest/autorun"
|
|
3
|
+
require "minitest/pride"
|
|
7
4
|
|
|
8
5
|
# Data formats commonly used in testing
|
|
9
|
-
require
|
|
10
|
-
require
|
|
6
|
+
require "json"
|
|
7
|
+
require "ostruct"
|
|
11
8
|
|
|
12
9
|
# Utilities often needed
|
|
13
|
-
require
|
|
14
|
-
require
|
|
15
|
-
require
|
|
16
|
-
require
|
|
10
|
+
require "fileutils"
|
|
11
|
+
require "tmpdir"
|
|
12
|
+
require "pathname"
|
|
13
|
+
require "forwardable"
|
|
14
|
+
|
|
15
|
+
require "inspec/plugin/v2"
|
|
17
16
|
|
|
18
|
-
# Configure
|
|
17
|
+
# Configure Minitest to expose things like `let`
|
|
19
18
|
class Module
|
|
20
|
-
include Minitest::Spec::DSL
|
|
19
|
+
include Minitest::Spec::DSL # TODO: NO! remove this!
|
|
21
20
|
end
|
|
22
21
|
|
|
23
22
|
module Inspec
|
|
@@ -38,29 +37,35 @@ module Inspec
|
|
|
38
37
|
end
|
|
39
38
|
|
|
40
39
|
module CorePluginBaseHelper
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
let(:
|
|
44
|
-
let(:
|
|
45
|
-
let(:
|
|
40
|
+
libdir = File.expand_path "lib"
|
|
41
|
+
|
|
42
|
+
let(:repo_path) { File.expand_path(File.join(__FILE__, "..", "..", "..", "..")) }
|
|
43
|
+
let(:inspec_path) { File.join(repo_path, "inspec-bin", "bin", "inspec") }
|
|
44
|
+
let(:exec_inspec) { [Gem.ruby, "-I#{libdir}", inspec_path].join " " }
|
|
45
|
+
let(:core_mock_path) { File.join(repo_path, "test", "unit", "mock") }
|
|
46
|
+
let(:core_fixture_plugins_path) { File.join(core_mock_path, "plugins") }
|
|
47
|
+
let(:core_config_dir_path) { File.join(core_mock_path, "config_dirs") }
|
|
46
48
|
|
|
47
49
|
let(:registry) { Inspec::Plugin::V2::Registry.instance }
|
|
48
50
|
end
|
|
49
51
|
|
|
52
|
+
require "functional/helper"
|
|
53
|
+
|
|
50
54
|
module CorePluginFunctionalHelper
|
|
51
55
|
include CorePluginBaseHelper
|
|
56
|
+
include FunctionalHelper
|
|
52
57
|
|
|
53
|
-
require
|
|
54
|
-
TRAIN_CONNECTION = Train.create(
|
|
58
|
+
require "train"
|
|
59
|
+
TRAIN_CONNECTION = Train.create("local", command_runner: :generic).connection
|
|
55
60
|
|
|
56
61
|
def run_inspec_process(command_line, opts = {})
|
|
57
|
-
prefix =
|
|
62
|
+
prefix = ""
|
|
58
63
|
if opts.key?(:prefix)
|
|
59
64
|
prefix = opts[:prefix]
|
|
60
65
|
elsif opts.key?(:env)
|
|
61
|
-
prefix = opts[:env].to_a.map { |assignment| "#{assignment[0]}=#{assignment[1]}" }.join(
|
|
66
|
+
prefix = opts[:env].to_a.map { |assignment| "#{assignment[0]}=#{assignment[1]}" }.join(" ")
|
|
62
67
|
end
|
|
63
|
-
Inspec::FuncTestRunResult.new(TRAIN_CONNECTION.run_command("#{prefix} #{
|
|
68
|
+
Inspec::FuncTestRunResult.new(TRAIN_CONNECTION.run_command("#{prefix} #{exec_inspec} #{command_line}"))
|
|
64
69
|
end
|
|
65
70
|
|
|
66
71
|
# This helper does some fancy footwork to make InSpec think a plugin
|
|
@@ -79,7 +84,7 @@ module CorePluginFunctionalHelper
|
|
|
79
84
|
|
|
80
85
|
# If it looks like it is a core plugin under test, don't add it to the plugin file
|
|
81
86
|
# since the loader will auto-load it anyway
|
|
82
|
-
if plugin_path.include?(
|
|
87
|
+
if plugin_path.include?("lib/plugins/inspec-")
|
|
83
88
|
plugin_file_data = __make_empty_plugin_file_data_structure
|
|
84
89
|
else
|
|
85
90
|
plugin_file_data = __make_plugin_file_data_structure_with_path(plugin_path)
|
|
@@ -87,11 +92,11 @@ module CorePluginFunctionalHelper
|
|
|
87
92
|
|
|
88
93
|
Dir.mktmpdir do |tmp_dir|
|
|
89
94
|
opts[:pre_run]&.call(plugin_file_data, tmp_dir)
|
|
90
|
-
plugin_file_path = File.join(tmp_dir,
|
|
95
|
+
plugin_file_path = File.join(tmp_dir, "plugins.json")
|
|
91
96
|
# HACK: If the block cleared the hash, take that to mean it will provide a plugins.json file of its own.
|
|
92
97
|
File.write(plugin_file_path, JSON.generate(plugin_file_data)) unless plugin_file_data.empty?
|
|
93
98
|
opts[:env] ||= {}
|
|
94
|
-
opts[:env][
|
|
99
|
+
opts[:env]["INSPEC_CONFIG_DIR"] = tmp_dir
|
|
95
100
|
run_result = run_inspec_process(command_line, opts)
|
|
96
101
|
|
|
97
102
|
# Read the resulting plugins.json into memory, if any
|
|
@@ -111,27 +116,27 @@ module CorePluginFunctionalHelper
|
|
|
111
116
|
# We want:
|
|
112
117
|
# /Users/cwolfe/sandbox/inspec-resource-lister/lib/inspec-resource-lister.rb
|
|
113
118
|
cursor = caller_path
|
|
114
|
-
until cursor.basename.to_s ==
|
|
119
|
+
until cursor.basename.to_s == "test" && cursor.parent.basename.to_s =~ /^(inspec|train)-/
|
|
115
120
|
cursor = cursor.parent
|
|
116
121
|
break if cursor.nil?
|
|
117
122
|
end
|
|
118
|
-
raise
|
|
123
|
+
raise "Could not comprehend plugin project directory structure" if cursor.nil?
|
|
119
124
|
|
|
120
125
|
project_dir = cursor.parent
|
|
121
126
|
plugin_name = project_dir.basename
|
|
122
|
-
entry_point = File.join(project_dir.to_s,
|
|
123
|
-
raise
|
|
127
|
+
entry_point = File.join(project_dir.to_s, "lib", plugin_name.to_s + ".rb")
|
|
128
|
+
raise "Could not find plugin entry point" unless File.exist?(entry_point)
|
|
124
129
|
entry_point
|
|
125
130
|
end
|
|
126
131
|
|
|
127
132
|
def __make_plugin_file_data_structure_with_path(path)
|
|
128
133
|
# TODO: dry this up, refs #3350
|
|
129
|
-
plugin_name = File.basename(path,
|
|
134
|
+
plugin_name = File.basename(path, ".rb")
|
|
130
135
|
data = __make_empty_plugin_file_data_structure
|
|
131
|
-
data[
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
136
|
+
data["plugins"] << {
|
|
137
|
+
"name" => plugin_name,
|
|
138
|
+
"installation_type" => "path",
|
|
139
|
+
"installation_path" => path,
|
|
135
140
|
}
|
|
136
141
|
data
|
|
137
142
|
end
|
|
@@ -139,8 +144,8 @@ module CorePluginFunctionalHelper
|
|
|
139
144
|
def __make_empty_plugin_file_data_structure
|
|
140
145
|
# TODO: dry this up, refs #3350
|
|
141
146
|
{
|
|
142
|
-
|
|
143
|
-
|
|
147
|
+
"plugins_config_version" => "1.0.0",
|
|
148
|
+
"plugins" => [],
|
|
144
149
|
}
|
|
145
150
|
end
|
|
146
151
|
end
|
data/lib/resource_support/aws.rb
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
1
|
# Main AWS loader file. The intent is for this to be
|
|
2
2
|
# loaded only if AWS resources are needed.
|
|
3
3
|
|
|
4
|
-
require
|
|
4
|
+
require "aws-sdk-core"
|
|
5
5
|
|
|
6
|
-
require
|
|
7
|
-
require
|
|
8
|
-
require
|
|
9
|
-
require
|
|
10
|
-
require
|
|
11
|
-
require
|
|
12
|
-
require
|
|
13
|
-
require
|
|
14
|
-
require
|
|
15
|
-
require
|
|
16
|
-
require
|
|
17
|
-
require
|
|
18
|
-
require
|
|
19
|
-
require
|
|
20
|
-
require
|
|
6
|
+
require "aws-sdk-cloudtrail"
|
|
7
|
+
require "aws-sdk-cloudwatch"
|
|
8
|
+
require "aws-sdk-cloudwatchlogs"
|
|
9
|
+
require "aws-sdk-costandusagereportservice"
|
|
10
|
+
require "aws-sdk-configservice"
|
|
11
|
+
require "aws-sdk-ec2"
|
|
12
|
+
require "aws-sdk-ecs"
|
|
13
|
+
require "aws-sdk-eks"
|
|
14
|
+
require "aws-sdk-elasticloadbalancing"
|
|
15
|
+
require "aws-sdk-iam"
|
|
16
|
+
require "aws-sdk-kms"
|
|
17
|
+
require "aws-sdk-rds"
|
|
18
|
+
require "aws-sdk-s3"
|
|
19
|
+
require "aws-sdk-sqs"
|
|
20
|
+
require "aws-sdk-sns"
|
|
21
21
|
|
|
22
|
-
require
|
|
23
|
-
require
|
|
24
|
-
require
|
|
25
|
-
require
|
|
26
|
-
require
|
|
22
|
+
require "resource_support/aws/aws_backend_factory_mixin"
|
|
23
|
+
require "resource_support/aws/aws_resource_mixin"
|
|
24
|
+
require "resource_support/aws/aws_singular_resource_mixin"
|
|
25
|
+
require "resource_support/aws/aws_plural_resource_mixin"
|
|
26
|
+
require "resource_support/aws/aws_backend_base"
|
|
27
27
|
|
|
28
28
|
# Load all AWS resources
|
|
29
29
|
# TODO: loop over and load entire directory
|
|
30
30
|
# for f in ls lib/resources/aws/*; do t=$(echo $f | cut -c 5- | cut -f1 -d. ); echo "require '${t}'"; done
|
|
31
|
-
require
|
|
32
|
-
require
|
|
33
|
-
require
|
|
34
|
-
require
|
|
35
|
-
require
|
|
36
|
-
require
|
|
37
|
-
require
|
|
38
|
-
require
|
|
39
|
-
require
|
|
40
|
-
require
|
|
41
|
-
require
|
|
42
|
-
require
|
|
43
|
-
require
|
|
44
|
-
require
|
|
45
|
-
require
|
|
46
|
-
require
|
|
47
|
-
require
|
|
48
|
-
require
|
|
49
|
-
require
|
|
50
|
-
require
|
|
51
|
-
require
|
|
52
|
-
require
|
|
53
|
-
require
|
|
54
|
-
require
|
|
55
|
-
require
|
|
56
|
-
require
|
|
57
|
-
require
|
|
58
|
-
require
|
|
59
|
-
require
|
|
60
|
-
require
|
|
61
|
-
require
|
|
62
|
-
require
|
|
63
|
-
require
|
|
64
|
-
require
|
|
65
|
-
require
|
|
66
|
-
require
|
|
67
|
-
require
|
|
68
|
-
require
|
|
69
|
-
require
|
|
70
|
-
require
|
|
71
|
-
require
|
|
72
|
-
require
|
|
73
|
-
require
|
|
74
|
-
require
|
|
75
|
-
require
|
|
76
|
-
require
|
|
31
|
+
require "resources/aws/aws_billing_report"
|
|
32
|
+
require "resources/aws/aws_billing_reports"
|
|
33
|
+
require "resources/aws/aws_cloudtrail_trail"
|
|
34
|
+
require "resources/aws/aws_cloudtrail_trails"
|
|
35
|
+
require "resources/aws/aws_cloudwatch_alarm"
|
|
36
|
+
require "resources/aws/aws_cloudwatch_log_metric_filter"
|
|
37
|
+
require "resources/aws/aws_config_delivery_channel"
|
|
38
|
+
require "resources/aws/aws_config_recorder"
|
|
39
|
+
require "resources/aws/aws_ec2_instance"
|
|
40
|
+
require "resources/aws/aws_ebs_volume"
|
|
41
|
+
require "resources/aws/aws_ebs_volumes"
|
|
42
|
+
require "resources/aws/aws_flow_log"
|
|
43
|
+
require "resources/aws/aws_ec2_instances"
|
|
44
|
+
require "resources/aws/aws_ecs_cluster"
|
|
45
|
+
require "resources/aws/aws_eks_cluster"
|
|
46
|
+
require "resources/aws/aws_elb"
|
|
47
|
+
require "resources/aws/aws_elbs"
|
|
48
|
+
require "resources/aws/aws_iam_access_key"
|
|
49
|
+
require "resources/aws/aws_iam_access_keys"
|
|
50
|
+
require "resources/aws/aws_iam_group"
|
|
51
|
+
require "resources/aws/aws_iam_groups"
|
|
52
|
+
require "resources/aws/aws_iam_password_policy"
|
|
53
|
+
require "resources/aws/aws_iam_policies"
|
|
54
|
+
require "resources/aws/aws_iam_policy"
|
|
55
|
+
require "resources/aws/aws_iam_role"
|
|
56
|
+
require "resources/aws/aws_iam_root_user"
|
|
57
|
+
require "resources/aws/aws_iam_user"
|
|
58
|
+
require "resources/aws/aws_iam_users"
|
|
59
|
+
require "resources/aws/aws_kms_key"
|
|
60
|
+
require "resources/aws/aws_kms_keys"
|
|
61
|
+
require "resources/aws/aws_rds_instance"
|
|
62
|
+
require "resources/aws/aws_route_table"
|
|
63
|
+
require "resources/aws/aws_route_tables"
|
|
64
|
+
require "resources/aws/aws_s3_bucket"
|
|
65
|
+
require "resources/aws/aws_s3_bucket_object"
|
|
66
|
+
require "resources/aws/aws_s3_buckets"
|
|
67
|
+
require "resources/aws/aws_security_group"
|
|
68
|
+
require "resources/aws/aws_security_groups"
|
|
69
|
+
require "resources/aws/aws_sns_subscription"
|
|
70
|
+
require "resources/aws/aws_sns_topic"
|
|
71
|
+
require "resources/aws/aws_sns_topics"
|
|
72
|
+
require "resources/aws/aws_sqs_queue"
|
|
73
|
+
require "resources/aws/aws_subnet"
|
|
74
|
+
require "resources/aws/aws_subnets"
|
|
75
|
+
require "resources/aws/aws_vpc"
|
|
76
|
+
require "resources/aws/aws_vpcs"
|